Closed
Bug 594221
Opened 14 years ago
Closed 2 years ago
Re-rip out redundant bank of class object reserved slots in the global object
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: brendan, Unassigned)
References
Details
There's no point in adding a third |JSProto_LIMIT| "bank" of reserved slots to all global objects, and wasting cycles writing references to standard class objects (constructors mostly, duplicating the first bank) there. /be
Reporter | ||
Updated•14 years ago
|
Summary: TM: Rip out proto cache and store prototypes in the global object → Re-rip out redundant bank of class object reserved slots in the global object
Reporter | ||
Updated•14 years ago
|
Assignee: general → gal
Reporter | ||
Comment 1•14 years ago
|
||
Please get this bandaid ripped off -- I'll gladly review. /be
Comment 2•13 years ago
|
||
Ok, sorry, I need very precise instructions what exactly to do here and which bank to remove and where to populate the other two, or you have to do this. The first bank and 2nd bank are used by js_SetClassObject to cache the original constructor and proto we resolve. The third row is what DefineStandardSlot binds to and its where we hold the current value of the standard name. So the third bank is identical to the first initially, but then is overwritten potentially by script. I am happy to fix this, but we shouldn't do this for FF4, and I really need a treasure map here because I don't understand what you want fixed here.
Reporter | ||
Comment 3•13 years ago
|
||
Sorry, is this bug invalid? I thought the current, script-writable value was in a non-reserved slot. jorendorff, can you mark this invalid or confirm and clarify if this is a valid bug? /be
Comment 4•13 years ago
|
||
The bank that contains the initial constructor object for each standard class is not really necessary. But - it's actually exposed via the API, via JS_GetClassObject - js_GetClassObject is used 3 more places, including js_FindClassObject, which is called in 6 places. Again, not for any good reason. Mostly it's used to force a standard class to be resolved, or to get StopIteration. - ripping this stuff out would involve touching jsxml.cpp So I'd be happier if we fixed this, but if someone wants to WONTFIX it I'll live. It's not the sort of thing I'll be getting around to soon.
Reporter | ||
Comment 5•13 years ago
|
||
Ok, thanks. Suggest leaving this open at low priority. /be
Comment 6•2 years ago
|
||
The bug assignee didn't login in Bugzilla in the last 7 months.
:sdetar, could you have a look please?
For more information, please visit auto_nag documentation.
Assignee: gal → nobody
Flags: needinfo?(sdetar)
Comment 7•2 years ago
|
||
I think I fixed this in bug 1298878. This data has also been moved from reserved slots to GlobalObjectData
since then.
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
Updated•2 years ago
|
Flags: needinfo?(sdetar)
You need to log in
before you can comment on or make changes to this bug.
Description
•