Closed
Bug 773548
Opened 12 years ago
Closed 12 years ago
Codegen metadata on DOM methods for JIT optimization
Categories
(Core :: DOM: Core & HTML, defect)
Tracking
()
RESOLVED
FIXED
mozilla17
People
(Reporter: efaust, Assigned: efaust)
References
Details
Attachments
(2 files)
(deleted),
patch
|
peterv
:
review+
|
Details | Diff | Splinter Review |
(deleted),
patch
|
peterv
:
review+
|
Details | Diff | Splinter Review |
As was done in bug 747287, codegen changes will need to be done to attach metadata to all method accessors.
Assignee | ||
Comment 1•12 years ago
|
||
Assignee | ||
Comment 2•12 years ago
|
||
Applies in light of patch in bug 775788.
Attachment #644091 -
Flags: review?(peterv)
Comment 3•12 years ago
|
||
Comment on attachment 644088 [details] [diff] [review]
Do specialized codegen for DOM methods.
Review of attachment 644088 [details] [diff] [review]:
-----------------------------------------------------------------
::: dom/bindings/Codegen.py
@@ +3290,5 @@
> + self.member.identifier.name)
> + # Setters are always fallible, since they have to do a typed unwrap.
> + result += self.defineJitInfo(setterinfo, setter, False)
> + return result
> + elif self.member.isMethod():
No else after return
@@ +3298,5 @@
> + self.member.identifier.name)
> + # Method, much like setters, are always fallible
> + result = self.defineJitInfo(methodinfo, method, False)
> + return result
> + else:
Same here
Comment 4•12 years ago
|
||
Comment on attachment 644088 [details] [diff] [review]
Do specialized codegen for DOM methods.
Review of attachment 644088 [details] [diff] [review]:
-----------------------------------------------------------------
What Ms2ger said.
::: dom/bindings/Codegen.py
@@ +3279,5 @@
> def define(self):
> + if self.member.isAttr():
> + getterinfo = ("%s_getterinfo" % self.member.identifier.name)
> + getter = ("(JSJitPropertyOp)specialized_get_%s" %
> + self.member.identifier.name)
Line this up correctly.
@@ +3286,5 @@
> + result = self.defineJitInfo(getterinfo, getter, getterinfal)
> + if not self.member.readonly:
> + setterinfo = ("%s_setterinfo" % self.member.identifier.name)
> + setter = ("(JSJitPropertyOp)specialized_set_%s" %
> + self.member.identifier.name)
Same here.
@@ +3294,5 @@
> + elif self.member.isMethod():
> + methodinfo = ("%s_methodinfo" % self.member.identifier.name)
> + #XXXefaust Should be JSJitMethodOp, after centralization, but lazy for now
> + method = ("(JSJitPropertyOp)specialized_%s" %
> + self.member.identifier.name)
Same here.
Attachment #644088 -
Flags: review?(peterv) → review+
Updated•12 years ago
|
Attachment #644091 -
Flags: review?(peterv) → review+
Assignee | ||
Comment 5•12 years ago
|
||
Comment 6•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/d84df7edf0de
https://hg.mozilla.org/mozilla-central/rev/09a3938bed6d
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla17
Updated•6 years ago
|
Component: DOM → DOM: Core & HTML
You need to log in
before you can comment on or make changes to this bug.
Description
•