I was recently led astray by the call to markFunctionEpilogueDone in EnterMethodJIT. The name updateEpilogueFlags seems more accurate. I expected markFunctionEpilogueDone to make the call to functionEpilogue in js::Interpret (after the jit_return: label) have no effect. But markFunctionEpilogueDone only clears the hasArgsObj and hasCallObj flags *if* the corresponding CallObject or ArgumentsObject have already been put: if the objects are still referring to their stack frames, then markFunctionEpilogueDone leaves the flags alone. The name updateEpilogueFlags seems more accurate.
Attachment #586211 - Flags: review?(luke)
Comment on attachment 586211 [details] [diff] [review] Rename js::StackFrame::markFunctionEpilogueDone to updateEpilogueFlags, to be less misleading Nice. I look forward to killing 'puttedness' altogether (bug 659577).
Attachment #586211 - Flags: review?(luke) → review+
Pushed: https://tbpl.mozilla.org/?tree=Mozilla-Inbound&rev=f0eab7fd20af Try server run: https://tbpl.mozilla.org/?tree=Try&rev=bb47a4683611
Assignee: general → jimb
Status: NEW → ASSIGNED
OS: Linux → All
Hardware: x86_64 → All
Target Milestone: --- → mozilla12
This got landed in Mozilla-central a long time ago, but the bug didn't get closed. https://hg.mozilla.org/mozilla-central/rev/f0eab7fd20af
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.