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

Unified Diff: src/compiler/ast-graph-builder.cc

Issue 1168093002: [strong] Implement strong mode restrictions on property access (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: fix arm64 port Created 5 years, 6 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/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());
}

Powered by Google App Engine
This is Rietveld 408576698