| Index: src/compiler/ast-graph-builder.cc
|
| diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc
|
| index 3d725a1262e9c1cf02a9993b72e315e93b1e4950..57773d1c69eb792349f760e2b073fa6c3bc1de90 100644
|
| --- a/src/compiler/ast-graph-builder.cc
|
| +++ b/src/compiler/ast-graph-builder.cc
|
| @@ -3101,8 +3101,11 @@ Node* AstGraphBuilder::BuildVariableAssignment(
|
|
|
|
|
| static inline Node* Record(JSTypeFeedbackTable* js_type_feedback, Node* node,
|
| - TypeFeedbackId id) {
|
| - if (js_type_feedback) js_type_feedback->Record(node, id);
|
| + TypeFeedbackId id, FeedbackVectorICSlot slot) {
|
| + if (js_type_feedback) {
|
| + js_type_feedback->Record(node, id);
|
| + js_type_feedback->Record(node, slot);
|
| + }
|
| return node;
|
| }
|
|
|
| @@ -3111,7 +3114,8 @@ Node* AstGraphBuilder::BuildKeyedLoad(Node* object, Node* key,
|
| const VectorSlotPair& feedback,
|
| TypeFeedbackId id) {
|
| const Operator* op = javascript()->LoadProperty(feedback);
|
| - return Record(js_type_feedback_, NewNode(op, object, key), id);
|
| + return Record(js_type_feedback_, NewNode(op, object, key), id,
|
| + feedback.slot());
|
| }
|
|
|
|
|
| @@ -3120,14 +3124,15 @@ Node* AstGraphBuilder::BuildNamedLoad(Node* object, Handle<Name> name,
|
| TypeFeedbackId id, ContextualMode mode) {
|
| const Operator* op =
|
| javascript()->LoadNamed(MakeUnique(name), feedback, mode);
|
| - return Record(js_type_feedback_, NewNode(op, object), id);
|
| + return Record(js_type_feedback_, NewNode(op, object), id, feedback.slot());
|
| }
|
|
|
|
|
| Node* AstGraphBuilder::BuildKeyedStore(Node* object, Node* key, Node* value,
|
| TypeFeedbackId id) {
|
| const Operator* op = javascript()->StoreProperty(language_mode());
|
| - return Record(js_type_feedback_, NewNode(op, object, key, value), id);
|
| + return Record(js_type_feedback_, NewNode(op, object, key, value), id,
|
| + FeedbackVectorICSlot::Invalid());
|
| }
|
|
|
|
|
| @@ -3135,7 +3140,8 @@ Node* AstGraphBuilder::BuildNamedStore(Node* object, Handle<Name> name,
|
| Node* value, TypeFeedbackId id) {
|
| const Operator* op =
|
| javascript()->StoreNamed(language_mode(), MakeUnique(name));
|
| - return Record(js_type_feedback_, NewNode(op, object, value), id);
|
| + return Record(js_type_feedback_, NewNode(op, object, value), id,
|
| + FeedbackVectorICSlot::Invalid());
|
| }
|
|
|
|
|
|
|