Last Comment Bug 725667 - IonMonkey: Compile JSOP_CALLNAME
: IonMonkey: Compile JSOP_CALLNAME
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: All All
: -- normal (vote)
: ---
Assigned To: Jan de Mooij [:jandem]
:
Mentors:
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:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


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

Description 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 Brian Hackett (:bhackett) 2012-02-09 08:16:53 PST
NAME and CALLNAME should be identical now.
Comment 2 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 Jan de Mooij [:jandem] 2012-02-16 04:52:52 PST
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.
Comment 4 Brian Hackett (:bhackett) 2012-02-16 11:57:48 PST
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.
Comment 5 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 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 Jan de Mooij [:jandem] 2012-02-17 07:46:43 PST
https://hg.mozilla.org/projects/ionmonkey/rev/140231dedf23

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