Closed Bug 444416 Opened 16 years ago Closed 16 years ago

tree branches only have context from immedate parent

Categories

(Tamarin Graveyard :: Tracing Virtual Machine, defect)

x86
Windows XP
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: edwsmith, Assigned: edwsmith)

Details

Attachments

(1 file)

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.
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)
Attachment #328738 - Flags: review?(gal)
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+
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
cool, I just saw the "should improve the quality" and wondered if that meant "DID improve the quality..."
+1 eliminating calldepth
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+
527:50545ad859ea
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: