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); |
} |