Closed
Bug 901100
Opened 12 years ago
Closed 12 years ago
Generate set ICs for non-shadowing DOM proxies
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
mozilla26
People
(Reporter: bzbarsky, Assigned: efaust)
References
Details
Attachments
(1 file)
|
11.82 KB,
patch
|
djvj
:
review+
|
Details | Diff | Splinter Review |
This comes up for "style.whatever = something" calls. We should just call the setter from the proto chain, instead of going through the proxy code, since the prop is on the proto chain and the proxy is non-shadowing.
There's a bit of microbenchmark in attachment 383408 [details].
| Assignee | ||
Updated•12 years ago
|
Assignee: general → efaustbmo
Status: NEW → ASSIGNED
| Assignee | ||
Comment 1•12 years ago
|
||
As discussed with bz, this entails calling a setter if found on the prototype chain, else falling back to Proxy::set after the appropriate guards.
This includes a factor out of the setter code as well.
Attachment #795846 -
Flags: review?(kvijayan)
Comment 2•12 years ago
|
||
Comment on attachment 795846 [details] [diff] [review]
Implement SetPropertyIC stubs for unshadowed DOM proxies
Review of attachment 795846 [details] [diff] [review]:
-----------------------------------------------------------------
::: js/src/jit/IonCaches.cpp
@@ +2441,5 @@
> + break;
> + }
> +
> + isSetter = true;
> + } while(0);
The logic in this do-while loop is more appropriate in a separate checker procedure (e.g. IsCacheableSetDOMProxyUnshadowed). When we call
|attachDOMProxyUnshadowed|, we should already know that it's an appropriate stub to be attached.
Attachment #795846 -
Flags: review?(kvijayan) → review+
| Assignee | ||
Comment 3•12 years ago
|
||
Comment 4•12 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
You need to log in
before you can comment on or make changes to this bug.
Description
•