Open Bug 602479 Opened 14 years ago Updated 2 years ago

Testcase that's slower with -j -m than with either -j or -m

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect

Tracking

()

People

(Reporter: bzbarsky, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Running the attached testcase in an opt tip tracemonkey shell on Mac, I get the following for "Elapsed time":

  interp: 563
  -j: 248
  -m: 300
  -j -m: 321

Looking at TMFLAGS=aborts,stats it looks like this for -j:

  Abort recording of tree /Users/bzbarsky/bar.js:157@45 at 
    /Users/bzbarsky/bar.js:8@87: No compatible inner tree.
  recorder: started(10), aborted(1), completed(11), different header(0),
            trees trashed(9), slot promoted(0), unstable loop variable(3), 
            breaks(0), returns(0), merged loop exits(2), unstableInnerCalls(1),
            blacklisted(0)
  monitor: exits(40), timeouts(1), type mismatch(0), triggered(41),
           global mismatch(0), flushed(0)
and like this for -j -m:

  Abort recording of tree /Users/bzbarsky/bar.js:157@45 at
    /Users/bzbarsky/bar.js:8@87: No compatible inner tree.
  Abort recording of tree /Users/bzbarsky/bar.js:157@45 at
   /Users/bzbarsky/bar.js:8@87: No compatible inner tree.
  Abort recording of tree /Users/bzbarsky/bar.js:157@45 at
   /Users/bzbarsky/bar.js:8@87: Inner tree is trying to stabilize,
   abort outer recording.
  Abort recording of tree /Users/bzbarsky/bar.js:157@45 at
   /Users/bzbarsky/bar.js:8@87: Inner tree is trying to stabilize,
   abort outer recording.
  Abort recording of tree /Users/bzbarsky/bar.js:157@45 at
   /Users/bzbarsky/bar.js:8@87: Inner tree is trying to stabilize,
   abort outer recording.
  recorder: started(10), aborted(5), completed(6), different header(0),
            trees trashed(5), slot promoted(0), unstable loop variable(2),
            breaks(0), returns(0), merged loop exits(1), unstableInnerCalls(2),
            blacklisted(2)
  monitor: exits(10006), timeouts(0), type mismatch(0), triggered(10006),
           global mismatch(0), flushed(0)
Note the larger number of aborts + blacklists and the _way_ larger number of triggered+exits that ensues.

Marking dependent on bug 580468 for now.
Is there a missing attachment?
Gack.  I thought I'd attached it here.  Coming up.
Attached file Testcase
Interp: 1071
TM: 1086
JM: 396
JM+TI: 211
d8: 112

JM+TI is definitely better than plain JM, but v8 is still 2x faster.
Blocks: 467263
Assignee: general → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: