tree branches only have context from immedate parent

RESOLVED FIXED

Status

Tamarin
Tracing Virtual Machine
RESOLVED FIXED
10 years ago
10 years ago

People

(Reporter: Edwin Smith, Assigned: Edwin Smith)

Tracking

Details

Attachments

(1 attachment)

(Assignee)

Description

10 years ago
the code that restores branch tracker & cse tables needs to walk up to the tree root, not just process the first parent.  this should improve the quality of the code on the branch and be a win with -Dtrees enabled.
(Assignee)

Comment 1

10 years ago
Created attachment 328738 [details] [diff] [review]
recover full tracker & cse context

other changes

state.ip is now only updated when exiting back to the interpreter.  dont need to do it on trace.  elimanated ip_starting since GuardRecord now has an absolute ip.

Ignore calldepth when finding merge nodes to use.  this could result in over-using a merge node, but it avoids a terrible bug where we were duplicating merge nodes because calldepth is not computed correctly.  (calldepth needs to be fixed or eradicated).
Attachment #328738 - Flags: review?(stejohns)
(Assignee)

Updated

10 years ago
Attachment #328738 - Flags: review?(gal)

Comment 2

10 years ago
Comment on attachment 328738 [details] [diff] [review]
recover full tracker & cse context

did you do a before-and-after run on the performance tests?
Attachment #328738 - Flags: review?(stejohns) → review+
(Assignee)

Comment 3

10 years ago
of course:
(with -Dtrees)
                                OLD     NEW
boids                           5016    5016
boidshack                       828     812
gameoflife                      5188    4828
access-binary-trees             78      78
access-fannkuch                 140     125
access-nbody                    156     172
access-nsieve                   47      63
bitops-3bit-bits-in-byte        15      16
bitops-bits-in-byte             31      32
bitops-bitwise-and              187     172
bitops-nsieve-bits              63      47
crypto-md5                      406     422
crypto-sha1                     62      46
math-cordic                     47      47
math-partial-sums               188     203
math-spectral-norm              46      31
s3d-cube                        594     563
s3d-morph                       78      78
s3d-raytrace                    531     344
string-fasta                    125     125
controlflow-recursive           31      16
chess                           73      39
Crypt                           703     672
SOR                             922     938
HeapSort                        8469    8468

Comment 4

10 years ago
cool, I just saw the "should improve the quality" and wondered if that meant "DID improve the quality..."

Comment 5

10 years ago
+1 eliminating calldepth

Comment 6

10 years ago
Comment on attachment 328738 [details] [diff] [review]
recover full tracker & cse context

Looks good. ip instead of ip_adj is a big simplification for us.
Attachment #328738 - Flags: review?(gal) → review+
(Assignee)

Comment 7

10 years ago
527:50545ad859ea
Status: NEW → RESOLVED
Last Resolved: 10 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.