Closed Bug 1854650 Opened 2 years ago Closed 2 years ago

Out of line calls to VMWrapper functions don't have line number info

Categories

(Core :: JavaScript Engine: JIT, task, P1)

task

Tracking

()

RESOLVED FIXED
120 Branch
Tracking Status
firefox120 --- fixed

People

(Reporter: jrmuizel, Assigned: denispal)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

When running something like:

function GeneratePayloadTree(depth, tag) {
  if (depth == 0) {
    return {
      abray  : [ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ],
      spring : 
            'String for key ' 
            + 
            tag 
            + 
            ' in leaf node'
    };
  } else {
    return {
            left: 0,
            right: 1
    };
  }

}

var results = []
for (var i = 0; i < 50000; i++) {
    results.push(GeneratePayloadTree(i & 1, i));
}

with ac_add_options --enable-gc-probes all of the calls to VMWrapper: NewArrayObjectOptimzedFallback/ConcatStrings/Int32ToString get attributed to line 15 because that's the last line of debug info before the return of the function.

Instead the calls should get correct line number information.

Denis, any idea how easy this is to fix?

Flags: needinfo?(dpalmeiro)

I'll take a look. Seems like the trackedsite for the NewPlainObject mir op is a JumpTarget js op at line 19.

Assignee: nobody → dpalmeiro
Flags: needinfo?(dpalmeiro)

If this is all code generated by OutOfLineCallVM, you might be able to fix it by adding a perfspewer call here.

Blocks: sm-opt-jits
Severity: -- → N/A
Type: defect → task
Priority: -- → P1
Pushed by dpalmeiro@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/0e967b12928a Annotate out of line calls in perfspewer. r=iain
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 120 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: