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)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla17

People

(Reporter: efaust, Assigned: efaust)

References

Details

Attachments

(2 files)

As was done in bug 747287, codegen changes will need to be done to attach metadata to all method accessors.
Blocks: 773549
Assignee: nobody → efaust
Status: NEW → ASSIGNED
Attachment #644088 - Flags: review?(peterv)
Applies in light of patch in bug 775788.
Attachment #644091 - Flags: review?(peterv)
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 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+
Attachment #644091 - Flags: review?(peterv) → review+
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla17
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: