| Index: src/compiler/change-lowering.cc
|
| diff --git a/src/compiler/change-lowering.cc b/src/compiler/change-lowering.cc
|
| index c77ecf01c194abbc10443d2a4a88fec11a8795a9..88631f9e6810b37962cfc41eaa900277ebd7294d 100644
|
| --- a/src/compiler/change-lowering.cc
|
| +++ b/src/compiler/change-lowering.cc
|
| @@ -87,9 +87,10 @@ Node* ChangeLowering::AllocateHeapNumberWithValue(Node* value, Node* control) {
|
| }
|
| Node* heap_number = graph()->NewNode(allocate_heap_number_operator_.get(),
|
| target, context, effect, control);
|
| - Node* store = graph()->NewNode(
|
| - machine()->Store(StoreRepresentation(kMachFloat64, kNoWriteBarrier)),
|
| - heap_number, HeapNumberValueIndexConstant(), value, heap_number, control);
|
| + Node* store = graph()->NewNode(machine()->Store(StoreRepresentation(
|
| + MachineType::Float64(), kNoWriteBarrier)),
|
| + heap_number, HeapNumberValueIndexConstant(),
|
| + value, heap_number, control);
|
| return graph()->NewNode(common()->FinishRegion(), heap_number, store);
|
| }
|
|
|
| @@ -135,7 +136,7 @@ Node* ChangeLowering::ChangeUint32ToSmi(Node* value) {
|
|
|
|
|
| Node* ChangeLowering::LoadHeapNumberValue(Node* value, Node* control) {
|
| - return graph()->NewNode(machine()->Load(kMachFloat64), value,
|
| + return graph()->NewNode(machine()->Load(MachineType::Float64()), value,
|
| HeapNumberValueIndexConstant(), graph()->start(),
|
| control);
|
| }
|
| @@ -150,9 +151,9 @@ Node* ChangeLowering::TestNotSmi(Node* value) {
|
|
|
|
|
| Reduction ChangeLowering::ChangeBitToBool(Node* value, Node* control) {
|
| - return Replace(graph()->NewNode(common()->Select(kMachAnyTagged), value,
|
| - jsgraph()->TrueConstant(),
|
| - jsgraph()->FalseConstant()));
|
| + return Replace(
|
| + graph()->NewNode(common()->Select(MachineRepresentation::kTagged), value,
|
| + jsgraph()->TrueConstant(), jsgraph()->FalseConstant()));
|
| }
|
|
|
|
|
| @@ -232,8 +233,8 @@ Reduction ChangeLowering::ChangeFloat64ToTagged(Node* value, Node* control) {
|
| vbox = AllocateHeapNumberWithValue(value, if_box);
|
|
|
| control = graph()->NewNode(common()->Merge(2), if_smi, if_box);
|
| - value =
|
| - graph()->NewNode(common()->Phi(kMachAnyTagged, 2), vsmi, vbox, control);
|
| + value = graph()->NewNode(common()->Phi(MachineRepresentation::kTagged, 2),
|
| + vsmi, vbox, control);
|
| return Replace(value);
|
| }
|
|
|
| @@ -258,8 +259,8 @@ Reduction ChangeLowering::ChangeInt32ToTagged(Node* value, Node* control) {
|
| Node* vfalse = graph()->NewNode(common()->Projection(0), add);
|
|
|
| Node* merge = graph()->NewNode(common()->Merge(2), if_true, if_false);
|
| - Node* phi =
|
| - graph()->NewNode(common()->Phi(kMachAnyTagged, 2), vtrue, vfalse, merge);
|
| + Node* phi = graph()->NewNode(common()->Phi(MachineRepresentation::kTagged, 2),
|
| + vtrue, vfalse, merge);
|
|
|
| return Replace(phi);
|
| }
|
| @@ -271,7 +272,6 @@ Reduction ChangeLowering::ChangeTaggedToUI32(Node* value, Node* control,
|
| return Replace(ChangeSmiToInt32(value));
|
| }
|
|
|
| - const MachineType type = (signedness == kSigned) ? kMachInt32 : kMachUint32;
|
| const Operator* op = (signedness == kSigned)
|
| ? machine()->ChangeFloat64ToInt32()
|
| : machine()->ChangeFloat64ToUint32();
|
| @@ -291,7 +291,8 @@ Reduction ChangeLowering::ChangeTaggedToUI32(Node* value, Node* control,
|
| Node* vfalse = ChangeSmiToInt32(value);
|
|
|
| Node* merge = graph()->NewNode(common()->Merge(2), if_true, if_false);
|
| - Node* phi = graph()->NewNode(common()->Phi(type, 2), vtrue, vfalse, merge);
|
| + Node* phi = graph()->NewNode(common()->Phi(MachineRepresentation::kWord32, 2),
|
| + vtrue, vfalse, merge);
|
|
|
| return Replace(phi);
|
| }
|
| @@ -330,7 +331,7 @@ Reduction ChangeLowering::ChangeTaggedToFloat64(Node* value, Node* control) {
|
|
|
| const Operator* merge_op = common()->Merge(2);
|
| const Operator* ephi_op = common()->EffectPhi(2);
|
| - const Operator* phi_op = common()->Phi(kMachFloat64, 2);
|
| + const Operator* phi_op = common()->Phi(MachineRepresentation::kFloat64, 2);
|
|
|
| Node* check1 = TestNotSmi(object);
|
| Node* branch1 =
|
| @@ -387,8 +388,8 @@ Reduction ChangeLowering::ChangeTaggedToFloat64(Node* value, Node* control) {
|
| Node* vfalse = ChangeSmiToFloat64(value);
|
|
|
| Node* merge = graph()->NewNode(common()->Merge(2), if_true, if_false);
|
| - Node* phi =
|
| - graph()->NewNode(common()->Phi(kMachFloat64, 2), vtrue, vfalse, merge);
|
| + Node* phi = graph()->NewNode(
|
| + common()->Phi(MachineRepresentation::kFloat64, 2), vtrue, vfalse, merge);
|
|
|
| return Replace(phi);
|
| }
|
| @@ -412,8 +413,8 @@ Reduction ChangeLowering::ChangeUint32ToTagged(Node* value, Node* control) {
|
| AllocateHeapNumberWithValue(ChangeUint32ToFloat64(value), if_false);
|
|
|
| Node* merge = graph()->NewNode(common()->Merge(2), if_true, if_false);
|
| - Node* phi =
|
| - graph()->NewNode(common()->Phi(kMachAnyTagged, 2), vtrue, vfalse, merge);
|
| + Node* phi = graph()->NewNode(common()->Phi(MachineRepresentation::kTagged, 2),
|
| + vtrue, vfalse, merge);
|
|
|
| return Replace(phi);
|
| }
|
| @@ -422,7 +423,7 @@ Reduction ChangeLowering::ChangeUint32ToTagged(Node* value, Node* control) {
|
| namespace {
|
|
|
| WriteBarrierKind ComputeWriteBarrierKind(BaseTaggedness base_is_tagged,
|
| - MachineType representation,
|
| + MachineRepresentation representation,
|
| Type* field_type, Type* input_type) {
|
| if (field_type->Is(Type::TaggedSigned()) ||
|
| input_type->Is(Type::TaggedSigned())) {
|
| @@ -435,7 +436,7 @@ WriteBarrierKind ComputeWriteBarrierKind(BaseTaggedness base_is_tagged,
|
| return kNoWriteBarrier;
|
| }
|
| if (base_is_tagged == kTaggedBase &&
|
| - RepresentationOf(representation) == kRepTagged) {
|
| + representation == MachineRepresentation::kTagged) {
|
| if (input_type->IsConstant() &&
|
| input_type->AsConstant()->Value()->IsHeapObject()) {
|
| Handle<HeapObject> input =
|
| @@ -480,7 +481,8 @@ Reduction ChangeLowering::StoreField(Node* node) {
|
| const FieldAccess& access = FieldAccessOf(node->op());
|
| Type* type = NodeProperties::GetType(node->InputAt(1));
|
| WriteBarrierKind kind = ComputeWriteBarrierKind(
|
| - access.base_is_tagged, access.machine_type, access.type, type);
|
| + access.base_is_tagged, access.machine_type.representation(), access.type,
|
| + type);
|
| Node* offset = jsgraph()->IntPtrConstant(access.offset - access.tag());
|
| node->InsertInput(graph()->zone(), 1, offset);
|
| NodeProperties::ChangeOp(
|
| @@ -492,7 +494,8 @@ Reduction ChangeLowering::StoreField(Node* node) {
|
| Node* ChangeLowering::ComputeIndex(const ElementAccess& access,
|
| Node* const key) {
|
| Node* index = key;
|
| - const int element_size_shift = ElementSizeLog2Of(access.machine_type);
|
| + const int element_size_shift =
|
| + ElementSizeLog2Of(access.machine_type.representation());
|
| if (element_size_shift) {
|
| index = graph()->NewNode(machine()->Word32Shl(), index,
|
| jsgraph()->Int32Constant(element_size_shift));
|
| @@ -525,11 +528,11 @@ Reduction ChangeLowering::StoreElement(Node* node) {
|
| Type* type = NodeProperties::GetType(node->InputAt(2));
|
| node->ReplaceInput(1, ComputeIndex(access, node->InputAt(1)));
|
| NodeProperties::ChangeOp(
|
| - node,
|
| - machine()->Store(StoreRepresentation(
|
| - access.machine_type,
|
| - ComputeWriteBarrierKind(access.base_is_tagged, access.machine_type,
|
| - access.type, type))));
|
| + node, machine()->Store(StoreRepresentation(
|
| + access.machine_type,
|
| + ComputeWriteBarrierKind(access.base_is_tagged,
|
| + access.machine_type.representation(),
|
| + access.type, type))));
|
| return Changed(node);
|
| }
|
|
|
|
|