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

Unified Diff: src/stub-cache.cc

Issue 660095: Merge revision 3813 to 3930 from bleeding_edge to partial snapshots branch. (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/partial_snapshots/
Patch Set: '' Created 10 years, 10 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
« no previous file with comments | « src/stub-cache.h ('k') | src/top.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/stub-cache.cc
===================================================================
--- src/stub-cache.cc (revision 3935)
+++ src/stub-cache.cc (working copy)
@@ -105,7 +105,7 @@
if (code->IsFailure()) return code;
LOG(CodeCreateEvent(Logger::LOAD_IC_TAG, Code::cast(code), name));
Object* result = receiver->map()->UpdateCodeCache(name, Code::cast(code));
- if (result->IsFailure()) return code;
+ if (result->IsFailure()) return result;
}
return Set(name, receiver->map(), Code::cast(code));
}
@@ -124,7 +124,7 @@
if (code->IsFailure()) return code;
LOG(CodeCreateEvent(Logger::LOAD_IC_TAG, Code::cast(code), name));
Object* result = receiver->map()->UpdateCodeCache(name, Code::cast(code));
- if (result->IsFailure()) return code;
+ if (result->IsFailure()) return result;
}
return Set(name, receiver->map(), Code::cast(code));
}
@@ -143,7 +143,7 @@
if (code->IsFailure()) return code;
LOG(CodeCreateEvent(Logger::LOAD_IC_TAG, Code::cast(code), name));
Object* result = receiver->map()->UpdateCodeCache(name, Code::cast(code));
- if (result->IsFailure()) return code;
+ if (result->IsFailure()) return result;
}
return Set(name, receiver->map(), Code::cast(code));
}
@@ -160,7 +160,7 @@
if (code->IsFailure()) return code;
LOG(CodeCreateEvent(Logger::LOAD_IC_TAG, Code::cast(code), name));
Object* result = receiver->map()->UpdateCodeCache(name, Code::cast(code));
- if (result->IsFailure()) return code;
+ if (result->IsFailure()) return result;
}
return Set(name, receiver->map(), Code::cast(code));
}
@@ -189,7 +189,7 @@
if (code->IsFailure()) return code;
LOG(CodeCreateEvent(Logger::LOAD_IC_TAG, Code::cast(code), name));
Object* result = receiver->map()->UpdateCodeCache(name, Code::cast(code));
- if (result->IsFailure()) return code;
+ if (result->IsFailure()) return result;
}
return Set(name, receiver->map(), Code::cast(code));
}
@@ -351,7 +351,7 @@
if (code->IsFailure()) return code;
LOG(CodeCreateEvent(Logger::LOAD_IC_TAG, Code::cast(code), name));
Object* result = receiver->map()->UpdateCodeCache(name, Code::cast(code));
- if (result->IsFailure()) return code;
+ if (result->IsFailure()) return result;
}
return Set(name, receiver->map(), Code::cast(code));
}
@@ -484,7 +484,10 @@
Object* code = map->FindInCodeCache(name, flags);
if (code->IsUndefined()) {
CallStubCompiler compiler(argc, in_loop);
- code = compiler.CompileCallField(object, holder, index, name);
+ code = compiler.CompileCallField(JSObject::cast(object),
+ holder,
+ index,
+ name);
if (code->IsFailure()) return code;
ASSERT_EQ(flags, Code::cast(code)->flags());
LOG(CodeCreateEvent(Logger::CALL_IC_TAG, Code::cast(code), name));
@@ -518,7 +521,9 @@
Object* code = map->FindInCodeCache(name, flags);
if (code->IsUndefined()) {
CallStubCompiler compiler(argc, NOT_IN_LOOP);
- code = compiler.CompileCallInterceptor(object, holder, name);
+ code = compiler.CompileCallInterceptor(JSObject::cast(object),
+ holder,
+ name);
if (code->IsFailure()) return code;
ASSERT_EQ(flags, Code::cast(code)->flags());
LOG(CodeCreateEvent(Logger::CALL_IC_TAG, Code::cast(code), name));
@@ -561,7 +566,7 @@
ASSERT_EQ(flags, Code::cast(code)->flags());
LOG(CodeCreateEvent(Logger::CALL_IC_TAG, Code::cast(code), name));
Object* result = receiver->map()->UpdateCodeCache(name, Code::cast(code));
- if (result->IsFailure()) return code;
+ if (result->IsFailure()) return result;
}
return Set(name, receiver->map(), Code::cast(code));
}
@@ -920,6 +925,13 @@
}
+Object* KeyedLoadPropertyWithInterceptor(Arguments args) {
+ JSObject* receiver = JSObject::cast(args[0]);
+ uint32_t index = Smi::cast(args[1])->value();
+ return receiver->GetElementWithInterceptor(receiver, index);
+}
+
+
Object* StubCompiler::CompileCallInitialize(Code::Flags flags) {
HandleScope scope;
int argc = Code::ExtractArgumentsCountFromFlags(flags);
@@ -1058,11 +1070,13 @@
return GetCodeWithFlags(flags, reinterpret_cast<char*>(NULL));
}
+
void StubCompiler::LookupPostInterceptor(JSObject* holder,
String* name,
LookupResult* lookup) {
holder->LocalLookupRealNamedProperty(name, lookup);
- if (lookup->IsNotFound()) {
+ if (!lookup->IsProperty()) {
+ lookup->NotFound();
Object* proto = holder->GetPrototype();
if (proto != Heap::null_value()) {
proto->Lookup(name, lookup);
« no previous file with comments | « src/stub-cache.h ('k') | src/top.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698