Closed
Bug 686900
Opened 13 years ago
Closed 13 years ago
Make the primordial Function and Object bootstrapping not use functionality itself depending on bootstrapping having partially occurred
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla9
People
(Reporter: Waldo, Assigned: Waldo)
Details
Attachments
(3 files)
5.58 KB,
patch
|
jorendorff
:
review+
|
Details | Diff | Splinter Review |
7.06 KB,
patch
|
jorendorff
:
review+
|
Details | Diff | Splinter Review |
17.80 KB,
patch
|
jorendorff
:
review+
|
Details | Diff | Splinter Review |
Object and Function initialization are intricately intertwined. To initialize Object, you need Function to be initialized for the function properties on Object.prototype and Object. But to initialize Function, you need Object.prototype for Function.prototype's [[Prototype]]! Since the two are so intricately interdependent, their bootstrapping should be one-off and not use functionality that thinks that these things have already been bootstrapped -- they should do it from scratch.
Assignee | ||
Comment 1•13 years ago
|
||
All this stuff will live in vm/GlobalObject.cpp, so first I'm moving the sub-bits of this to there.
Attachment #560385 -
Flags: review?(jorendorff)
Assignee | ||
Comment 2•13 years ago
|
||
Attachment #560386 -
Flags: review?(jorendorff)
Assignee | ||
Comment 3•13 years ago
|
||
The pièce de résistance! The sine qua non! The cliched concluding phrase!
Attachment #560387 -
Flags: review?(jorendorff)
Comment 4•13 years ago
|
||
Or: "Object initialization shouldn't involve a fixed-point computation" :)
Updated•13 years ago
|
Attachment #560385 -
Flags: review?(jorendorff) → review+
Updated•13 years ago
|
Attachment #560386 -
Flags: review?(jorendorff) → review+
Comment 5•13 years ago
|
||
Comment on attachment 560387 [details] [diff] [review]
3 - Rewrite js_InitFunctionAndObjectClasses
Looks great. The new code is a little longer but the strange loops in the old code were far from obvious. I don't suppose we can rip out the protection around resolve hooks now, can we?
Attachment #560387 -
Flags: review?(jorendorff) → review+
Comment 6•13 years ago
|
||
Filed bug 687113 for simplifying that stuff. Someone take it--it's a nice opportunity to improve behavior and delete code at the same time!
Assignee | ||
Comment 7•13 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/2778cb07c697
https://hg.mozilla.org/integration/mozilla-inbound/rev/ae99d33a2290
https://hg.mozilla.org/integration/mozilla-inbound/rev/be380e98f383
Whiteboard: [inbound]
Target Milestone: --- → mozilla9
Comment 8•13 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/2778cb07c697
https://hg.mozilla.org/mozilla-central/rev/ae99d33a2290
https://hg.mozilla.org/mozilla-central/rev/be380e98f383
Status: ASSIGNED → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Whiteboard: [inbound]
You need to log in
before you can comment on or make changes to this bug.
Description
•