Index: src/stub-cache.cc |
diff --git a/src/stub-cache.cc b/src/stub-cache.cc |
index abb26d6ed423a6c231ae288baa37fa18bc498a86..92edc33760d0af92769631c48ba948ecfc6deebd 100644 |
--- a/src/stub-cache.cc |
+++ b/src/stub-cache.cc |
@@ -598,11 +598,14 @@ ExternalArrayType ElementsKindToExternalArrayType(JSObject::ElementsKind kind) { |
MaybeObject* StubCache::ComputeKeyedLoadOrStoreExternalArray( |
JSObject* receiver, |
- bool is_store) { |
+ bool is_store, |
+ Code::ExtraICState extra_ic_state) { |
+ ASSERT(extra_ic_state == kNonStrictMode || extra_ic_state == kStrictMode); |
Code::Flags flags = |
Code::ComputeMonomorphicFlags( |
is_store ? Code::KEYED_STORE_IC : Code::KEYED_LOAD_IC, |
- NORMAL); |
+ NORMAL, |
+ extra_ic_state); |
ExternalArrayType array_type = |
ElementsKindToExternalArrayType(receiver->GetElementsKind()); |
String* name = |
@@ -615,9 +618,9 @@ MaybeObject* StubCache::ComputeKeyedLoadOrStoreExternalArray( |
Object* code = map->FindInCodeCache(name, flags); |
if (code->IsUndefined()) { |
ExternalArrayStubCompiler compiler; |
- { MaybeObject* maybe_code = |
- is_store ? compiler.CompileKeyedStoreStub(array_type, flags) : |
- compiler.CompileKeyedLoadStub(array_type, flags); |
+ { MaybeObject* maybe_code = is_store |
+ ? compiler.CompileKeyedStoreStub(array_type, flags) |
+ : compiler.CompileKeyedLoadStub(array_type, flags); |
if (!maybe_code->ToObject(&code)) return maybe_code; |
} |
if (is_store) { |
@@ -638,7 +641,7 @@ MaybeObject* StubCache::ComputeKeyedLoadOrStoreExternalArray( |
MaybeObject* StubCache::ComputeStoreNormal(Code::ExtraICState extra_ic_state) { |
- return Builtins::builtin(extra_ic_state == StoreIC::kStoreICStrict |
+ return Builtins::builtin(extra_ic_state == kStrictMode |
? Builtins::StoreIC_Normal_Strict |
: Builtins::StoreIC_Normal); |
} |
@@ -1422,7 +1425,8 @@ MaybeObject* StoreInterceptorProperty(Arguments args) { |
Object* value = args[2]; |
ASSERT(recv->HasNamedInterceptor()); |
PropertyAttributes attr = NONE; |
- MaybeObject* result = recv->SetPropertyWithInterceptor(name, value, attr); |
+ MaybeObject* result = recv->SetPropertyWithInterceptor( |
Martin Maly
2011/02/24 06:33:34
This needs to be figured out whether we need to pa
Lasse Reichstein
2011/02/24 12:37:54
I'm guessing "yes" too.
|
+ name, value, attr, kNonStrictMode); // TODL(mmaly): Is this OK? |
return result; |
} |