Index: src/code-stubs-hydrogen.cc |
diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc |
index 4573da151279d68dab655dbf0cbd587a40c7c892..eeeef2c9f4ca2445c53a699d6c7ee28bfc61204d 100644 |
--- a/src/code-stubs-hydrogen.cc |
+++ b/src/code-stubs-hydrogen.cc |
@@ -62,8 +62,7 @@ class CodeStubGraphBuilderBase : public HGraphBuilder { |
HContext* context() { return context_; } |
Isolate* isolate() { return info_->isolate(); } |
- HLoadNamedField* BuildLoadNamedField(HValue* object, |
- FieldIndex index); |
+ HLoadNamedField* BuildLoadNamedField(HValue* object, FieldIndex index); |
void BuildStoreNamedField(HValue* object, HValue* value, FieldIndex index, |
Representation representation, |
bool transition_to_field); |
@@ -1901,7 +1900,8 @@ HValue* CodeStubGraphBuilder<LoadDictionaryElementStub>::BuildCodeStub() { |
HValue* hash = BuildElementIndexHash(key); |
- return BuildUncheckedDictionaryElementLoad(receiver, elements, key, hash); |
+ return BuildUncheckedDictionaryElementLoad(receiver, elements, key, hash, |
+ casted_stub()->language_mode()); |
} |
@@ -2015,7 +2015,6 @@ void CodeStubGraphBuilder<KeyedLoadGenericStub>::BuildExternalElementLoad( |
HValue* CodeStubGraphBuilder<KeyedLoadGenericStub>::BuildCodeStub() { |
HValue* receiver = GetParameter(LoadDescriptor::kReceiverIndex); |
HValue* key = GetParameter(LoadDescriptor::kNameIndex); |
- |
// Split into a smi/integer case and unique string case. |
HIfContinuation index_name_split_continuation(graph()->CreateBasicBlock(), |
graph()->CreateBasicBlock()); |
@@ -2059,7 +2058,8 @@ HValue* CodeStubGraphBuilder<KeyedLoadGenericStub>::BuildCodeStub() { |
HValue* hash = BuildElementIndexHash(key); |
- Push(BuildUncheckedDictionaryElementLoad(receiver, elements, key, hash)); |
+ Push(BuildUncheckedDictionaryElementLoad(receiver, elements, key, hash, |
+ casted_stub()->language_mode())); |
} |
kind_if.Else(); |
@@ -2137,10 +2137,8 @@ HValue* CodeStubGraphBuilder<KeyedLoadGenericStub>::BuildCodeStub() { |
hash = AddUncasted<HShr>(hash, Add<HConstant>(Name::kHashShift)); |
- HValue* value = BuildUncheckedDictionaryElementLoad(receiver, |
- properties, |
- key, |
- hash); |
+ HValue* value = BuildUncheckedDictionaryElementLoad( |
+ receiver, properties, key, hash, casted_stub()->language_mode()); |
Push(value); |
} |
if_dict_properties.Else(); |
@@ -2215,10 +2213,11 @@ HValue* CodeStubGraphBuilder<KeyedLoadGenericStub>::BuildCodeStub() { |
inline_or_runtime.Else(); |
{ |
// KeyedLookupCache miss; call runtime. |
- Add<HPushArguments>(receiver, key); |
+ Add<HPushArguments>(receiver, key, |
+ Add<HConstant>(casted_stub()->language_mode())); |
Push(Add<HCallRuntime>( |
isolate()->factory()->empty_string(), |
- Runtime::FunctionForId(Runtime::kKeyedGetProperty), 2)); |
+ Runtime::FunctionForId(Runtime::kKeyedGetProperty), 3)); |
} |
inline_or_runtime.End(); |
} |