Index: src/compiler/ast-graph-builder.cc |
diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc |
index 5dc28518325ddadee2249ecdc856316682d0fb5f..2f44a0107179825287c915bb8db2b5770a2177be 100644 |
--- a/src/compiler/ast-graph-builder.cc |
+++ b/src/compiler/ast-graph-builder.cc |
@@ -3431,7 +3431,7 @@ static inline Node* Record(JSTypeFeedbackTable* js_type_feedback, Node* node, |
Node* AstGraphBuilder::BuildKeyedLoad(Node* object, Node* key, |
const VectorSlotPair& feedback) { |
- const Operator* op = javascript()->LoadProperty(feedback); |
+ const Operator* op = javascript()->LoadProperty(feedback, language_mode()); |
return Record(js_type_feedback_, NewNode(op, object, key), feedback.slot()); |
} |
@@ -3439,8 +3439,8 @@ Node* AstGraphBuilder::BuildKeyedLoad(Node* object, Node* key, |
Node* AstGraphBuilder::BuildNamedLoad(Node* object, Handle<Name> name, |
const VectorSlotPair& feedback, |
ContextualMode mode) { |
- const Operator* op = |
- javascript()->LoadNamed(MakeUnique(name), feedback, mode); |
+ const Operator* op = javascript()->LoadNamed(MakeUnique(name), feedback, |
+ language_mode(), mode); |
return Record(js_type_feedback_, NewNode(op, object), feedback.slot()); |
} |
@@ -3464,8 +3464,9 @@ Node* AstGraphBuilder::BuildNamedSuperLoad(Node* receiver, Node* home_object, |
Handle<Name> name, |
const VectorSlotPair& feedback) { |
Node* name_node = jsgraph()->Constant(name); |
- const Operator* op = javascript()->CallRuntime(Runtime::kLoadFromSuper, 3); |
- Node* value = NewNode(op, receiver, home_object, name_node); |
+ Node* language = jsgraph()->Constant(language_mode()); |
+ const Operator* op = javascript()->CallRuntime(Runtime::kLoadFromSuper, 4); |
+ Node* value = NewNode(op, receiver, home_object, name_node, language); |
return Record(js_type_feedback_, value, feedback.slot()); |
} |
@@ -3473,9 +3474,10 @@ Node* AstGraphBuilder::BuildNamedSuperLoad(Node* receiver, Node* home_object, |
Node* AstGraphBuilder::BuildKeyedSuperLoad(Node* receiver, Node* home_object, |
Node* key, |
const VectorSlotPair& feedback) { |
+ Node* language = jsgraph()->Constant(language_mode()); |
const Operator* op = |
- javascript()->CallRuntime(Runtime::kLoadKeyedFromSuper, 3); |
- Node* value = NewNode(op, receiver, home_object, key); |
+ javascript()->CallRuntime(Runtime::kLoadKeyedFromSuper, 4); |
+ Node* value = NewNode(op, receiver, home_object, key, language); |
return Record(js_type_feedback_, value, feedback.slot()); |
} |