Chromium Code Reviews| Index: src/compiler/ast-graph-builder.cc |
| diff --git a/src/compiler/ast-graph-builder.cc b/src/compiler/ast-graph-builder.cc |
| index 44f2276ee6513231af2bcdd29fa6023323fbcd52..bd982ec4a6523b6553c3a925b2f251fc21ae9274 100644 |
| --- a/src/compiler/ast-graph-builder.cc |
| +++ b/src/compiler/ast-graph-builder.cc |
| @@ -1833,7 +1833,7 @@ void AstGraphBuilder::VisitObjectLiteral(ObjectLiteral* expr) { |
| feedback_getter); |
| VisitForValueOrNull(it->second->setter); |
| VectorSlotPair feedback_setter = CreateVectorSlotPair( |
| - expr->SlotForHomeObject(it->second->getter, &store_slot_index)); |
| + expr->SlotForHomeObject(it->second->setter, &store_slot_index)); |
|
Michael Starzinger
2015/06/23 08:31:14
Nice catch! :)
|
| BuildSetHomeObject(environment()->Top(), literal, it->second->setter, |
| feedback_setter); |
| Node* setter = environment()->Pop(); |
| @@ -3510,7 +3510,11 @@ Node* AstGraphBuilder::BuildKeyedStore(Node* object, Node* key, Node* value, |
| const VectorSlotPair& feedback, |
| TypeFeedbackId id) { |
| const Operator* op = javascript()->StoreProperty(language_mode(), feedback); |
| - return Record(js_type_feedback_, NewNode(op, object, key, value), id); |
| + Node* node = NewNode(op, object, key, value, GetFeedbackVector()); |
| + if (FLAG_vector_stores) { |
| + return Record(js_type_feedback_, node, feedback.slot()); |
| + } |
| + return Record(js_type_feedback_, node, id); |
| } |
| @@ -3520,7 +3524,11 @@ Node* AstGraphBuilder::BuildNamedStore(Node* object, Handle<Name> name, |
| TypeFeedbackId id) { |
| const Operator* op = |
| javascript()->StoreNamed(language_mode(), MakeUnique(name), feedback); |
| - return Record(js_type_feedback_, NewNode(op, object, value), id); |
| + Node* node = NewNode(op, object, value, GetFeedbackVector()); |
| + if (FLAG_vector_stores) { |
| + return Record(js_type_feedback_, node, feedback.slot()); |
| + } |
| + return Record(js_type_feedback_, node, id); |
| } |