Last Comment Bug 725667 - IonMonkey: Compile JSOP_CALLNAME
: IonMonkey: Compile JSOP_CALLNAME
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: All All
-- normal (vote)
: ---
Assigned To: Jan de Mooij [:jandem]
: Jason Orendorff [:jorendorff]
Depends on:
Blocks: 684381
  Show dependency treegraph
Reported: 2012-02-09 08:12 PST by Jan de Mooij [:jandem]
Modified: 2012-02-17 07:46 PST (History)
2 users (show)
See Also:
Crash Signature:
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---

Patch (2.26 KB, patch)
2012-02-16 04:52 PST, Jan de Mooij [:jandem]
no flags Details | Diff | Splinter Review
patch v2 (1.65 KB, patch)
2012-02-17 02:26 PST, Jan de Mooij [:jandem]
bhackett1024: review+
Details | Diff | Splinter Review

Description User image Jan de Mooij [:jandem] 2012-02-09 08:12:01 PST
This blocks some SS tests like unpack-code.

Chris, you have a patch for this, right?
Comment 1 User image Brian Hackett (:bhackett) 2012-02-09 08:16:53 PST
NAME and CALLNAME should be identical now.
Comment 2 User image Jan de Mooij [:jandem] 2012-02-09 08:27:06 PST
(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.
Comment 3 User image Jan de Mooij [:jandem] 2012-02-16 04:52:52 PST
Created attachment 597779 [details] [diff] [review]

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.
Comment 4 User image Brian Hackett (:bhackett) 2012-02-16 11:57:48 PST
Comment on attachment 597779 [details] [diff] [review]

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.
Comment 5 User image Jan de Mooij [:jandem] 2012-02-17 02:26:23 PST
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?
Comment 6 User image Brian Hackett (:bhackett) 2012-02-17 05:41:06 PST
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.
Comment 7 User image Jan de Mooij [:jandem] 2012-02-17 07:46:43 PST

Note You need to log in before you can comment on or make changes to this bug.