Reviewers: Benedikt Meurer,
Description:
Remove dangerous default parameter from machine Store operator.
[email protected]
Please review this at https://codereview.chromium.org/451593002/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files (+6, -6 lines):
M src/compiler/machine-node-factory.h
M src/compiler/machine-operator.h
M test/cctest/compiler/test-changes-lowering.cc
M test/cctest/compiler/test-machine-operator-reducer.cc
Index: src/compiler/machine-node-factory.h
diff --git a/src/compiler/machine-node-factory.h
b/src/compiler/machine-node-factory.h
index
8e11815aaea43759ec7e03d5fe5e062e94170625..8d1cf8753b9291f3847834241bc68c36b5a96104
100644
--- a/src/compiler/machine-node-factory.h
+++ b/src/compiler/machine-node-factory.h
@@ -100,7 +100,7 @@ class MachineNodeFactory {
Store(rep, base, Int32Constant(0), 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.
Node* WordAnd(Node* a, Node* b) {
Index: src/compiler/machine-operator.h
diff --git a/src/compiler/machine-operator.h
b/src/compiler/machine-operator.h
index
d0691d1277cd47f1928ac26a06d383872fe669cc..2328e2b332bb41dae0bad8c095b1ce381208edbc
100644
--- a/src/compiler/machine-operator.h
+++ b/src/compiler/machine-operator.h
@@ -87,8 +87,7 @@ class MachineOperatorBuilder {
OP1(Load, MachineRepresentation, rep, Operator::kNoWrite, 2, 1);
}
// store [base + index], value
- Operator* Store(MachineRepresentation rep,
- WriteBarrierKind kind = kNoWriteBarrier) {
+ Operator* Store(MachineRepresentation rep, WriteBarrierKind kind) {
StoreRepresentation store_rep = {rep, kind};
OP1(Store, StoreRepresentation, store_rep, Operator::kNoRead, 3, 0);
}
Index: test/cctest/compiler/test-changes-lowering.cc
diff --git a/test/cctest/compiler/test-changes-lowering.cc
b/test/cctest/compiler/test-changes-lowering.cc
index
9efd7d23a88dee8f7ab2c0f3d0fb0cc75a653fde..3eec14a91ead068c5adb7521a9be91a0b8b0736f
100644
--- a/test/cctest/compiler/test-changes-lowering.cc
+++ b/test/cctest/compiler/test-changes-lowering.cc
@@ -213,7 +213,8 @@ TEST(RunChangeTaggedToFloat64) {
double result;
t.BuildStoreAndLower(t.simplified()->ChangeTaggedToFloat64(),
- t.machine()->Store(kMachineFloat64), &result);
+ t.machine()->Store(kMachineFloat64,
kNoWriteBarrier),
+ &result);
if (Pipeline::SupportedTarget()) {
FOR_INT32_INPUTS(i) {
Index: test/cctest/compiler/test-machine-operator-reducer.cc
diff --git a/test/cctest/compiler/test-machine-operator-reducer.cc
b/test/cctest/compiler/test-machine-operator-reducer.cc
index
634e72e53b1d191d209079851328f1d1d56d6dc2..c79a96a0941d595ee584ec9151d89e441d332d52
100644
--- a/test/cctest/compiler/test-machine-operator-reducer.cc
+++ b/test/cctest/compiler/test-machine-operator-reducer.cc
@@ -639,8 +639,8 @@ TEST(ReduceLoadStore) {
}
{
- Node* store =
- R.graph.NewNode(R.machine.Store(kMachineWord32), base, index,
load);
+ Node* store = R.graph.NewNode(
+ R.machine.Store(kMachineWord32, kNoWriteBarrier), base, index,
load);
MachineOperatorReducer reducer(&R.graph);
Reduction reduction = reducer.Reduce(store);
CHECK(!reduction.Changed()); // stores should not be reduced.
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.