Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(59)

Unified Diff: src/code-stubs.cc

Issue 172523002: Create a function call IC (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Addressed comments. Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/code-stubs.cc
diff --git a/src/code-stubs.cc b/src/code-stubs.cc
index 06203629ae15cf8153d7b92c32c77b637849b0cf..7b63f08188f3153a9f344fe3bcfa28e25eeec928 100644
--- a/src/code-stubs.cc
+++ b/src/code-stubs.cc
@@ -229,6 +229,18 @@ void BinaryOpICStub::GenerateAheadOfTime(Isolate* isolate) {
}
+void CallICStub::GenerateAheadOfTime(Isolate* isolate) {
+ // Generate the uninitialized versions of the stub.
+ for (int arg_count = 0; arg_count < 4; arg_count++) {
+ CallICStub stub(CallIC::State::DefaultCallState(arg_count, CallIC::METHOD));
+ stub.GetCode(isolate);
+ CallICStub stub2(CallIC::State::DefaultCallState(arg_count,
+ CallIC::FUNCTION));
+ stub2.GetCode(isolate);
+ }
+}
+
+
void BinaryOpICStub::PrintState(StringStream* stream) {
state_.Print(stream);
}
@@ -501,6 +513,11 @@ Type* CompareNilICStub::GetInputType(Zone* zone, Handle<Map> map) {
}
+void CallICStub::PrintState(StringStream* stream) {
+ state_.Print(stream);
+}
+
+
void InstanceofStub::PrintName(StringStream* stream) {
const char* args = "";
if (HasArgsInRegisters()) {
@@ -583,7 +600,6 @@ void ArgumentsAccessStub::PrintName(StringStream* stream) {
void CallFunctionStub::PrintName(StringStream* stream) {
stream->Add("CallFunctionStub_Args%d", argc_);
- if (RecordCallTarget()) stream->Add("_Recording");
}

Powered by Google App Engine
This is Rietveld 408576698