Closed
Bug 838200
Opened 12 years ago
Closed 12 years ago
BaselineCompiler: Implement Argument Check ICs
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: djvj, Assigned: bhackett1024)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
13.60 KB,
patch
|
djvj
:
review+
|
Details | Diff | Splinter Review |
When entering a script, its argument typesets need to be updated with the incoming arguments. Add an IC to do this.
Assignee | ||
Updated•12 years ago
|
Assignee: general → bhackett1024
Assignee | ||
Comment 1•12 years ago
|
||
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)
Reporter | ||
Comment 2•12 years ago
|
||
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+
Assignee | ||
Comment 3•12 years ago
|
||
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.
Description
•