Closed Bug 1394290 Opened 3 years ago Closed 3 years ago

Optimize Proxy::get for ProxyGet*

Categories

(Core :: JavaScript Engine, enhancement)

All
Unspecified
enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla57
Tracking Status
firefox57 --- fixed

People

(Reporter: ting, Assigned: ting)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Spin off from bug 1380061, what we should do here:

- Optimize ValueToWindowProxyIfWindow for the case when |v == ObjectValue(*proxy)|
- Optimize away |RootedValue receiver| because ProxyGet* have the same declaration

Neglect removing CheckRecursionLimit because it doesn't worth it.
In bug 1380061 comment 19 I said the numbers weren't improved on Windows, but it's not the case. For some reasons, the changes in Proxy.cpp didn't get compiled. The patch improves about 10%.
Comment on attachment 8901718 [details]
Bug 1394290 - Optimize Proxy::get/set by avoiding unnecessary receiver checking.

https://reviewboard.mozilla.org/r/173154/#review178626

Looks great, thanks!
Attachment #8901718 - Flags: review?(jdemooij) → review+
Assignee: nobody → janus926
Pushed by tchou@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/3880b9e6ada6
Optimize Proxy::get/set by avoiding unnecessary receiver checking. r=jandem
https://hg.mozilla.org/mozilla-central/rev/3880b9e6ada6
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
You need to log in before you can comment on or make changes to this bug.