Remove dangerous default parameter from machine Store operator.

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/451593002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 437fef50
...@@ -100,7 +100,7 @@ class MachineNodeFactory { ...@@ -100,7 +100,7 @@ class MachineNodeFactory {
Store(rep, base, Int32Constant(0), value); Store(rep, base, Int32Constant(0), value);
} }
void Store(MachineRepresentation rep, Node* base, Node* index, Node* value) { void Store(MachineRepresentation rep, Node* base, Node* index, Node* value) {
NEW_NODE_3(MACHINE()->Store(rep), base, index, value); NEW_NODE_3(MACHINE()->Store(rep, kNoWriteBarrier), base, index, value);
} }
// Arithmetic Operations. // Arithmetic Operations.
Node* WordAnd(Node* a, Node* b) { Node* WordAnd(Node* a, Node* b) {
......
...@@ -87,8 +87,7 @@ class MachineOperatorBuilder { ...@@ -87,8 +87,7 @@ class MachineOperatorBuilder {
OP1(Load, MachineRepresentation, rep, Operator::kNoWrite, 2, 1); OP1(Load, MachineRepresentation, rep, Operator::kNoWrite, 2, 1);
} }
// store [base + index], value // store [base + index], value
Operator* Store(MachineRepresentation rep, Operator* Store(MachineRepresentation rep, WriteBarrierKind kind) {
WriteBarrierKind kind = kNoWriteBarrier) {
StoreRepresentation store_rep = {rep, kind}; StoreRepresentation store_rep = {rep, kind};
OP1(Store, StoreRepresentation, store_rep, Operator::kNoRead, 3, 0); OP1(Store, StoreRepresentation, store_rep, Operator::kNoRead, 3, 0);
} }
......
...@@ -213,7 +213,8 @@ TEST(RunChangeTaggedToFloat64) { ...@@ -213,7 +213,8 @@ TEST(RunChangeTaggedToFloat64) {
double result; double result;
t.BuildStoreAndLower(t.simplified()->ChangeTaggedToFloat64(), t.BuildStoreAndLower(t.simplified()->ChangeTaggedToFloat64(),
t.machine()->Store(kMachineFloat64), &result); t.machine()->Store(kMachineFloat64, kNoWriteBarrier),
&result);
if (Pipeline::SupportedTarget()) { if (Pipeline::SupportedTarget()) {
FOR_INT32_INPUTS(i) { FOR_INT32_INPUTS(i) {
......
...@@ -639,8 +639,8 @@ TEST(ReduceLoadStore) { ...@@ -639,8 +639,8 @@ TEST(ReduceLoadStore) {
} }
{ {
Node* store = Node* store = R.graph.NewNode(
R.graph.NewNode(R.machine.Store(kMachineWord32), base, index, load); R.machine.Store(kMachineWord32, kNoWriteBarrier), base, index, load);
MachineOperatorReducer reducer(&R.graph); MachineOperatorReducer reducer(&R.graph);
Reduction reduction = reducer.Reduce(store); Reduction reduction = reducer.Reduce(store);
CHECK(!reduction.Changed()); // stores should not be reduced. CHECK(!reduction.Changed()); // stores should not be reduced.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment