| Index: src/compiler/change-lowering.cc
|
| diff --git a/src/compiler/change-lowering.cc b/src/compiler/change-lowering.cc
|
| index eead1dbf62c7d5b7cc82e9991ceb25cb3f90b2d3..899300f5fd360f05184173fb07926f566708603a 100644
|
| --- a/src/compiler/change-lowering.cc
|
| +++ b/src/compiler/change-lowering.cc
|
| @@ -31,14 +31,6 @@ Reduction ChangeLowering::Reduce(Node* node) {
|
| return ChangeInt31ToTagged(node->InputAt(0), control);
|
| case IrOpcode::kChangeTaggedSignedToInt32:
|
| return ChangeTaggedSignedToInt32(node->InputAt(0));
|
| - case IrOpcode::kChangeTaggedToFloat64:
|
| - return ChangeTaggedToFloat64(node->InputAt(0), control);
|
| - case IrOpcode::kChangeTaggedToInt32:
|
| - return ChangeTaggedToUI32(node->InputAt(0), control, kSigned);
|
| - case IrOpcode::kChangeTaggedToUint32:
|
| - return ChangeTaggedToUI32(node->InputAt(0), control, kUnsigned);
|
| - case IrOpcode::kTruncateTaggedToWord32:
|
| - return TruncateTaggedToWord32(node->InputAt(0), control);
|
| case IrOpcode::kLoadField:
|
| return LoadField(node);
|
| case IrOpcode::kStoreField:
|
| @@ -145,79 +137,6 @@ Reduction ChangeLowering::ChangeTaggedSignedToInt32(Node* value) {
|
| return Replace(ChangeSmiToWord32(value));
|
| }
|
|
|
| -Reduction ChangeLowering::ChangeTaggedToUI32(Node* value, Node* control,
|
| - Signedness signedness) {
|
| - const Operator* op = (signedness == kSigned)
|
| - ? machine()->ChangeFloat64ToInt32()
|
| - : machine()->ChangeFloat64ToUint32();
|
| -
|
| - if (NodeProperties::GetType(value)->Is(Type::TaggedPointer()) &&
|
| - NodeProperties::GetType(value)->Is(Type::Number())) {
|
| - return Replace(graph()->NewNode(op, LoadHeapNumberValue(value, control)));
|
| - }
|
| -
|
| - Node* check = TestNotSmi(value);
|
| - Node* branch =
|
| - graph()->NewNode(common()->Branch(BranchHint::kFalse), check, control);
|
| -
|
| - Node* if_not_smi = graph()->NewNode(common()->IfTrue(), branch);
|
| -
|
| - STATIC_ASSERT(HeapNumber::kValueOffset == Oddball::kToNumberRawOffset);
|
| - Node* vnot_smi = graph()->NewNode(op, LoadHeapNumberValue(value, if_not_smi));
|
| -
|
| - Node* if_smi = graph()->NewNode(common()->IfFalse(), branch);
|
| - Node* vfrom_smi = ChangeSmiToWord32(value);
|
| -
|
| - Node* merge = graph()->NewNode(common()->Merge(2), if_not_smi, if_smi);
|
| - Node* phi = graph()->NewNode(common()->Phi(MachineRepresentation::kWord32, 2),
|
| - vnot_smi, vfrom_smi, merge);
|
| -
|
| - return Replace(phi);
|
| -}
|
| -
|
| -
|
| -Reduction ChangeLowering::ChangeTaggedToFloat64(Node* value, Node* control) {
|
| - Node* check = TestNotSmi(value);
|
| - Node* branch =
|
| - graph()->NewNode(common()->Branch(BranchHint::kFalse), check, control);
|
| -
|
| - Node* if_not_smi = graph()->NewNode(common()->IfTrue(), branch);
|
| -
|
| - STATIC_ASSERT(HeapNumber::kValueOffset == Oddball::kToNumberRawOffset);
|
| - Node* vnot_smi = LoadHeapNumberValue(value, if_not_smi);
|
| -
|
| - Node* if_smi = graph()->NewNode(common()->IfFalse(), branch);
|
| - Node* vfrom_smi = ChangeSmiToFloat64(value);
|
| -
|
| - Node* merge = graph()->NewNode(common()->Merge(2), if_not_smi, if_smi);
|
| - Node* phi =
|
| - graph()->NewNode(common()->Phi(MachineRepresentation::kFloat64, 2),
|
| - vnot_smi, vfrom_smi, merge);
|
| -
|
| - return Replace(phi);
|
| -}
|
| -
|
| -Reduction ChangeLowering::TruncateTaggedToWord32(Node* value, Node* control) {
|
| - Node* check = TestNotSmi(value);
|
| - Node* branch =
|
| - graph()->NewNode(common()->Branch(BranchHint::kFalse), check, control);
|
| -
|
| - Node* if_not_smi = graph()->NewNode(common()->IfTrue(), branch);
|
| -
|
| - STATIC_ASSERT(HeapNumber::kValueOffset == Oddball::kToNumberRawOffset);
|
| - Node* vnot_smi = graph()->NewNode(machine()->TruncateFloat64ToWord32(),
|
| - LoadHeapNumberValue(value, if_not_smi));
|
| -
|
| - Node* if_smi = graph()->NewNode(common()->IfFalse(), branch);
|
| - Node* vfrom_smi = ChangeSmiToWord32(value);
|
| -
|
| - Node* merge = graph()->NewNode(common()->Merge(2), if_not_smi, if_smi);
|
| - Node* phi = graph()->NewNode(common()->Phi(MachineRepresentation::kWord32, 2),
|
| - vnot_smi, vfrom_smi, merge);
|
| -
|
| - return Replace(phi);
|
| -}
|
| -
|
| namespace {
|
|
|
| WriteBarrierKind ComputeWriteBarrierKind(BaseTaggedness base_is_tagged,
|
|
|