Remove TraceRecorder::getClassPrototype(JSProtoKey, LIns*&), replace with TR::getObjectPrototype(LIns*&) and similar

RESOLVED FIXED in mozilla10

Status

()

Core
JavaScript Engine
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: Waldo, Assigned: Waldo)

Tracking

unspecified
mozilla10
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

If you want a class prototype, you should ask for it specifically.  Asking specifically gives us more freedom in how we store prototypes (and constructors, for now) in the global object, and it's cleaner and more readable than having to know what a |key| variable could be when it's used in a centralized method.

There are a few different methods for getting an original prototype in use in jstracer.cpp; this bug will fix the one that accepts a JSProtoKey to determine what prototype to get.
Created attachment 531374 [details] [diff] [review]
Add operator-> to DebugOnly<T>

It turns out that DebugOnly<T> isn't so hot when T is a pointer type right now.
Attachment #531374 - Flags: review?(jones.chris.g)
Created attachment 531375 [details] [diff] [review]
Ask for specific prototypes, not for a prototype specified key-wise
Attachment #531375 - Flags: review?(jorendorff)
Attachment #531374 - Flags: review?(jones.chris.g) → review+
http://hg.mozilla.org/tracemonkey/rev/c2315c604e7c for DebugOnly<T>::operator->, but the main patch here still remains to be reviewed/committed.
cdleary-bot mozilla-central merge info:
http://hg.mozilla.org/mozilla-central/rev/c2315c604e7c
Note: not marking as fixed because fixed-in-tracemonkey is not present on the whiteboard.
Comment on attachment 531375 [details] [diff] [review]
Ask for specific prototypes, not for a prototype specified key-wise

Sure, ok.
Attachment #531375 - Flags: review?(jorendorff) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/d5e6ea418eea
Target Milestone: --- → mozilla10
And this, to fix compiler warnings that gcc 4.6.1 is apparently smart enough (or conservative enough) to not emit:

https://hg.mozilla.org/integration/mozilla-inbound/rev/e13c356c0a45
https://hg.mozilla.org/mozilla-central/rev/d5e6ea418eea
https://hg.mozilla.org/mozilla-central/rev/e13c356c0a45
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.