Index: test/cctest/compiler/test-simplified-lowering.cc |
diff --git a/test/cctest/compiler/test-simplified-lowering.cc b/test/cctest/compiler/test-simplified-lowering.cc |
index f4f137482ea8c9fc1b732b2d9634e71a9bf0d177..cda148cb343dfd56a1e4b4fb9a3dac2ffeceffb6 100644 |
--- a/test/cctest/compiler/test-simplified-lowering.cc |
+++ b/test/cctest/compiler/test-simplified-lowering.cc |
@@ -106,13 +106,15 @@ TEST(RunNumberToInt32_float64) { |
double input; |
int32_t result; |
SimplifiedLoweringTester<Object*> t; |
- FieldAccess load = {kUntaggedBase, 0, Handle<Name>(), Type::Number(), |
- MachineType::Float64()}; |
+ FieldAccess load = {kUntaggedBase, 0, |
+ Handle<Name>(), Type::Number(), |
+ MachineType::Float64(), kNoWriteBarrier}; |
Node* loaded = t.LoadField(load, t.PointerConstant(&input)); |
NodeProperties::SetType(loaded, Type::Number()); |
Node* convert = t.NumberToInt32(loaded); |
- FieldAccess store = {kUntaggedBase, 0, Handle<Name>(), Type::Signed32(), |
- MachineType::Int32()}; |
+ FieldAccess store = {kUntaggedBase, 0, |
+ Handle<Name>(), Type::Signed32(), |
+ MachineType::Int32(), kNoWriteBarrier}; |
t.StoreField(store, t.PointerConstant(&result), convert); |
t.Return(t.jsgraph.TrueConstant()); |
t.LowerAllNodesAndLowerChanges(); |
@@ -133,13 +135,15 @@ TEST(RunNumberToUint32_float64) { |
double input; |
uint32_t result; |
SimplifiedLoweringTester<Object*> t; |
- FieldAccess load = {kUntaggedBase, 0, Handle<Name>(), Type::Number(), |
- MachineType::Float64()}; |
+ FieldAccess load = {kUntaggedBase, 0, |
+ Handle<Name>(), Type::Number(), |
+ MachineType::Float64(), kNoWriteBarrier}; |
Node* loaded = t.LoadField(load, t.PointerConstant(&input)); |
NodeProperties::SetType(loaded, Type::Number()); |
Node* convert = t.NumberToUint32(loaded); |
- FieldAccess store = {kUntaggedBase, 0, Handle<Name>(), Type::Unsigned32(), |
- MachineType::Uint32()}; |
+ FieldAccess store = {kUntaggedBase, 0, |
+ Handle<Name>(), Type::Unsigned32(), |
+ MachineType::Uint32(), kNoWriteBarrier}; |
t.StoreField(store, t.PointerConstant(&result), convert); |
t.Return(t.jsgraph.TrueConstant()); |
t.LowerAllNodesAndLowerChanges(); |
@@ -298,8 +302,12 @@ TEST(RunLoadFieldFromUntaggedBase) { |
for (size_t i = 0; i < arraysize(smis); i++) { |
int offset = static_cast<int>(i * sizeof(Smi*)); |
- FieldAccess access = {kUntaggedBase, offset, Handle<Name>(), |
- Type::Integral32(), MachineType::AnyTagged()}; |
+ FieldAccess access = {kUntaggedBase, |
+ offset, |
+ Handle<Name>(), |
+ Type::Integral32(), |
+ MachineType::AnyTagged(), |
+ kNoWriteBarrier}; |
SimplifiedLoweringTester<Object*> t; |
Node* load = t.LoadField(access, t.PointerConstant(smis)); |
@@ -320,8 +328,12 @@ TEST(RunStoreFieldToUntaggedBase) { |
for (size_t i = 0; i < arraysize(smis); i++) { |
int offset = static_cast<int>(i * sizeof(Smi*)); |
- FieldAccess access = {kUntaggedBase, offset, Handle<Name>(), |
- Type::Integral32(), MachineType::AnyTagged()}; |
+ FieldAccess access = {kUntaggedBase, |
+ offset, |
+ Handle<Name>(), |
+ Type::Integral32(), |
+ MachineType::AnyTagged(), |
+ kNoWriteBarrier}; |
SimplifiedLoweringTester<Object*> t(MachineType::AnyTagged()); |
Node* p0 = t.Parameter(0); |
@@ -347,7 +359,7 @@ TEST(RunLoadElementFromUntaggedBase) { |
for (size_t j = 0; (i + j) < arraysize(smis); j++) { // for element index |
int offset = static_cast<int>(i * sizeof(Smi*)); |
ElementAccess access = {kUntaggedBase, offset, Type::Integral32(), |
- MachineType::AnyTagged()}; |
+ MachineType::AnyTagged(), kNoWriteBarrier}; |
SimplifiedLoweringTester<Object*> t; |
Node* load = t.LoadElement(access, t.PointerConstant(smis), |
@@ -373,7 +385,7 @@ TEST(RunStoreElementFromUntaggedBase) { |
for (size_t j = 0; (i + j) < arraysize(smis); j++) { // for element index |
int offset = static_cast<int>(i * sizeof(Smi*)); |
ElementAccess access = {kUntaggedBase, offset, Type::Integral32(), |
- MachineType::AnyTagged()}; |
+ MachineType::AnyTagged(), kNoWriteBarrier}; |
SimplifiedLoweringTester<Object*> t(MachineType::AnyTagged()); |
Node* p0 = t.Parameter(0); |
@@ -525,7 +537,7 @@ class AccessTester : public HandleAndZoneScope { |
ElementAccess GetElementAccess() { |
ElementAccess access = {tagged ? kTaggedBase : kUntaggedBase, |
tagged ? FixedArrayBase::kHeaderSize : 0, |
- Type::Any(), rep}; |
+ Type::Any(), rep, kFullWriteBarrier}; |
return access; |
} |
@@ -533,7 +545,10 @@ class AccessTester : public HandleAndZoneScope { |
int offset = field * sizeof(E); |
FieldAccess access = {tagged ? kTaggedBase : kUntaggedBase, |
offset + (tagged ? FixedArrayBase::kHeaderSize : 0), |
- Handle<Name>(), Type::Any(), rep}; |
+ Handle<Name>(), |
+ Type::Any(), |
+ rep, |
+ kFullWriteBarrier}; |
return access; |
} |
@@ -1312,8 +1327,9 @@ const MachineType kMachineReps[] = { |
TEST(LowerLoadField_to_load) { |
for (size_t i = 0; i < arraysize(kMachineReps); i++) { |
TestingGraph t(Type::Any(), Type::Signed32()); |
- FieldAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, |
- Handle<Name>::null(), Type::Any(), kMachineReps[i]}; |
+ FieldAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, |
+ Handle<Name>::null(), Type::Any(), |
+ kMachineReps[i], kNoWriteBarrier}; |
Node* load = t.graph()->NewNode(t.simplified()->LoadField(access), t.p0, |
t.start, t.start); |
@@ -1335,9 +1351,9 @@ TEST(LowerStoreField_to_store) { |
TestingGraph t(Type::Any(), Type::Signed32()); |
for (size_t i = 0; i < arraysize(kMachineReps); i++) { |
- FieldAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, |
- Handle<Name>::null(), Type::Any(), kMachineReps[i]}; |
- |
+ FieldAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, |
+ Handle<Name>::null(), Type::Any(), |
+ kMachineReps[i], kNoWriteBarrier}; |
Node* val = t.ExampleWithOutput(kMachineReps[i]); |
Node* store = t.graph()->NewNode(t.simplified()->StoreField(access), t.p0, |
@@ -1360,9 +1376,9 @@ TEST(LowerStoreField_to_store) { |
Zone* z = scope.main_zone(); |
TestingGraph t(Type::Any(), Type::Intersect(Type::SignedSmall(), |
Type::TaggedSigned(), z)); |
- FieldAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, |
- Handle<Name>::null(), Type::Any(), |
- MachineType::AnyTagged()}; |
+ FieldAccess access = { |
+ kTaggedBase, FixedArrayBase::kHeaderSize, Handle<Name>::null(), |
+ Type::Any(), MachineType::AnyTagged(), kNoWriteBarrier}; |
Node* store = t.graph()->NewNode(t.simplified()->StoreField(access), t.p0, |
t.p1, t.start, t.start); |
t.Effect(store); |
@@ -1379,7 +1395,7 @@ TEST(LowerLoadElement_to_load) { |
for (size_t i = 0; i < arraysize(kMachineReps); i++) { |
TestingGraph t(Type::Any(), Type::Signed32()); |
ElementAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, |
- Type::Any(), kMachineReps[i]}; |
+ Type::Any(), kMachineReps[i], kNoWriteBarrier}; |
Node* load = t.graph()->NewNode(t.simplified()->LoadElement(access), t.p0, |
t.p1, t.start, t.start); |
@@ -1402,7 +1418,7 @@ TEST(LowerStoreElement_to_store) { |
TestingGraph t(Type::Any(), Type::Signed32()); |
ElementAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, |
- Type::Any(), kMachineReps[i]}; |
+ Type::Any(), kMachineReps[i], kNoWriteBarrier}; |
Node* val = t.ExampleWithOutput(kMachineReps[i]); |
Node* store = t.graph()->NewNode(t.simplified()->StoreElement(access), |
@@ -1427,7 +1443,8 @@ TEST(LowerStoreElement_to_store) { |
Type::Any(), Type::Signed32(), |
Type::Intersect(Type::SignedSmall(), Type::TaggedSigned(), z)); |
ElementAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, |
- Type::Any(), MachineType::AnyTagged()}; |
+ Type::Any(), MachineType::AnyTagged(), |
+ kNoWriteBarrier}; |
Node* store = t.graph()->NewNode(t.simplified()->StoreElement(access), t.p0, |
t.p1, t.p2, t.start, t.start); |
t.Effect(store); |
@@ -1445,7 +1462,7 @@ TEST(InsertChangeForLoadElementIndex) { |
// Load(obj, Int32Add(Int32Mul(ChangeTaggedToInt32(index), #k), #k)) |
TestingGraph t(Type::Any(), Type::Signed32()); |
ElementAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, Type::Any(), |
- MachineType::AnyTagged()}; |
+ MachineType::AnyTagged(), kNoWriteBarrier}; |
Node* load = t.graph()->NewNode(t.simplified()->LoadElement(access), t.p0, |
t.p1, t.start, t.start); |
@@ -1462,7 +1479,7 @@ TEST(InsertChangeForStoreElementIndex) { |
// Store(obj, Int32Add(Int32Mul(ChangeTaggedToInt32(index), #k), #k), val) |
TestingGraph t(Type::Any(), Type::Signed32()); |
ElementAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, Type::Any(), |
- MachineType::AnyTagged()}; |
+ MachineType::AnyTagged(), kFullWriteBarrier}; |
Node* store = |
t.graph()->NewNode(t.simplified()->StoreElement(access), t.p0, t.p1, |
@@ -1479,7 +1496,7 @@ TEST(InsertChangeForLoadElement) { |
// TODO(titzer): test all load/store representation change insertions. |
TestingGraph t(Type::Any(), Type::Signed32(), Type::Any()); |
ElementAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, Type::Any(), |
- MachineType::Float64()}; |
+ MachineType::Float64(), kNoWriteBarrier}; |
Node* load = t.graph()->NewNode(t.simplified()->LoadElement(access), t.p0, |
t.p1, t.start, t.start); |
@@ -1494,9 +1511,9 @@ TEST(InsertChangeForLoadElement) { |
TEST(InsertChangeForLoadField) { |
// TODO(titzer): test all load/store representation change insertions. |
TestingGraph t(Type::Any(), Type::Signed32()); |
- FieldAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, |
- Handle<Name>::null(), Type::Any(), |
- MachineType::Float64()}; |
+ FieldAccess access = { |
+ kTaggedBase, FixedArrayBase::kHeaderSize, Handle<Name>::null(), |
+ Type::Any(), MachineType::Float64(), kNoWriteBarrier}; |
Node* load = t.graph()->NewNode(t.simplified()->LoadField(access), t.p0, |
t.start, t.start); |
@@ -1512,7 +1529,7 @@ TEST(InsertChangeForStoreElement) { |
// TODO(titzer): test all load/store representation change insertions. |
TestingGraph t(Type::Any(), Type::Signed32()); |
ElementAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, Type::Any(), |
- MachineType::Float64()}; |
+ MachineType::Float64(), kFullWriteBarrier}; |
Node* store = |
t.graph()->NewNode(t.simplified()->StoreElement(access), t.p0, |
@@ -1529,9 +1546,9 @@ TEST(InsertChangeForStoreElement) { |
TEST(InsertChangeForStoreField) { |
// TODO(titzer): test all load/store representation change insertions. |
TestingGraph t(Type::Any(), Type::Signed32()); |
- FieldAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, |
- Handle<Name>::null(), Type::Any(), |
- MachineType::Float64()}; |
+ FieldAccess access = { |
+ kTaggedBase, FixedArrayBase::kHeaderSize, Handle<Name>::null(), |
+ Type::Any(), MachineType::Float64(), kNoWriteBarrier}; |
Node* store = t.graph()->NewNode(t.simplified()->StoreField(access), t.p0, |
t.p1, t.start, t.start); |
@@ -1551,8 +1568,9 @@ TEST(UpdatePhi) { |
Type* kTypes[] = {Type::Signed32(), Type::Unsigned32(), Type::Number()}; |
for (size_t i = 0; i < arraysize(kMachineTypes); i++) { |
- FieldAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, |
- Handle<Name>::null(), kTypes[i], kMachineTypes[i]}; |
+ FieldAccess access = {kTaggedBase, FixedArrayBase::kHeaderSize, |
+ Handle<Name>::null(), kTypes[i], |
+ kMachineTypes[i], kFullWriteBarrier}; |
Node* load0 = t.graph()->NewNode(t.simplified()->LoadField(access), t.p0, |
t.start, t.start); |