IonMonkey: Compile JSOP_CALLNAME

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
5 years ago
5 years ago

People

(Reporter: jandem, Assigned: jandem)

Tracking

(Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment, 1 obsolete attachment)

(Assignee)

Description

5 years ago
This blocks some SS tests like unpack-code.

Chris, you have a patch for this, right?
NAME and CALLNAME should be identical now.
(Assignee)

Comment 2

5 years ago
(In reply to Brian Hackett (:bhackett) from comment #1)
> NAME and CALLNAME should be identical now.

Yeah I should have mentioned this in comment 0, but Chris was investigating a crash with the one-liner to compile CALLNAME. Probably a pre-existing NAME bug, I don't know.
(Assignee)

Comment 3

5 years ago
Created attachment 597779 [details] [diff] [review]
Patch

Calling NestingPrologue when bailing out fixes the test failures. I don't really know how this works though, so let me know if you want me to call this function somewhere else.
Assignee: general → jdemooij
Status: NEW → ASSIGNED
Attachment #597779 - Flags: review?(bhackett1024)
Comment on attachment 597779 [details] [diff] [review]
Patch

The nesting prologue should not be called directly, and should only be called in the prologue of function frames (e.g. fp->functionPrologue()).  Since IM doesn't run the prologue at function frame entry, the nesting state should probably be completely disabled, test for ion being enabled near the cx->typeInferenceEnabled() test in TypeScript::SetScope.  This will not be correct though once ion config options can be dynamically changed.
Attachment #597779 - Flags: review?(bhackett1024)
(Assignee)

Comment 5

5 years ago
Created attachment 598179 [details] [diff] [review]
patch v2

Disables the nesting state in TypeScript::SetScope. Eventually we will want to add the same optimization to IM, right?
Attachment #597779 - Attachment is obsolete: true
Attachment #598179 - Flags: review?(bhackett1024)
Comment on attachment 598179 [details] [diff] [review]
patch v2

Yeah.  The nesting prologue stuff can be done hand in hand with maintaining call object state.
Attachment #598179 - Flags: review?(bhackett1024) → review+
(Assignee)

Comment 7

5 years ago
https://hg.mozilla.org/projects/ionmonkey/rev/140231dedf23
Status: ASSIGNED → RESOLVED
Last Resolved: 5 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.