Closed Bug 838200 Opened 12 years ago Closed 12 years ago

BaselineCompiler: Implement Argument Check ICs

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: djvj, Assigned: bhackett1024)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

When entering a script, its argument typesets need to be updated with the incoming arguments. Add an IC to do this.
Assignee: general → bhackett1024
Attached patch patchSplinter Review
Reuse TypeMonitor stubs for monitoring this/arguments, allowing them to be directly jumped to rather than requiring an existing fallback.
Attachment #710733 - Flags: review?(kvijayan)
Comment on attachment 710733 [details] [diff] [review] patch Review of attachment 710733 [details] [diff] [review]: ----------------------------------------------------------------- ::: js/src/ion/BaselineCompiler.cpp @@ +426,5 @@ > + > + ICTypeMonitor_Fallback::Compiler compiler(cx, (uint32_t) 0); > + if (!emitIC(compiler.getStub(&stubSpace_))) > + return false; > + Nit: Trailing whitespace on blank line above. ::: js/src/ion/BaselineIC.cpp @@ +45,5 @@ > } > } > + > +void > +TypeFallbackICSpew(JSContext *cx, ICTypeMonitor_Fallback *stub, const char *fmt, ...) This definition is inside an #ifdef DEBUG section. Opt builds will fail because name will not be defined. Add #define TypeFallbackICSpew(...) in the #else section below. ::: js/src/ion/BaselineJIT.cpp @@ +388,5 @@ > // a pointer to the (now available) realEntry. > if (realEntry.firstStub()->isFallback()) > realEntry.firstStub()->toFallbackStub()->fixupICEntry(&realEntry); > + > + if (realEntry.firstStub()->kind() == ICStub::TypeMonitor_Fallback) { Nit: can be realEntry.firstStub()->isTypeMonitor_Fallback()
Attachment #710733 - Flags: review?(kvijayan) → review+
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: