| Index: runtime/vm/jit_optimizer.cc
|
| diff --git a/runtime/vm/jit_optimizer.cc b/runtime/vm/jit_optimizer.cc
|
| index 61df7ea64f5b381830aa9db3264411e16b8632b0..ad9664f1a7bcadc1fe028a66b734c7be3dc453aa 100644
|
| --- a/runtime/vm/jit_optimizer.cc
|
| +++ b/runtime/vm/jit_optimizer.cc
|
| @@ -668,7 +668,7 @@ bool JitOptimizer::TryReplaceWithBinaryOp(InstanceCallInstr* call,
|
| FlowGraphCompiler::SupportsUnboxedMints()) {
|
| // Don't generate mint code if the IC data is marked because of an
|
| // overflow.
|
| - if (ic_data.HasDeoptReason(ICData::kDeoptBinaryMintOp)) return false;
|
| + if (ic_data.HasDeoptReason(ICData::kDeoptBinaryInt64Op)) return false;
|
| operands_type = kMintCid;
|
| } else if (ShouldSpecializeForDouble(ic_data)) {
|
| operands_type = kDoubleCid;
|
| @@ -715,7 +715,7 @@ bool JitOptimizer::TryReplaceWithBinaryOp(InstanceCallInstr* call,
|
| // Left shift may overflow from smi into mint or big ints.
|
| // Don't generate smi code if the IC data is marked because
|
| // of an overflow.
|
| - if (ic_data.HasDeoptReason(ICData::kDeoptBinaryMintOp)) {
|
| + if (ic_data.HasDeoptReason(ICData::kDeoptBinaryInt64Op)) {
|
| return false;
|
| }
|
| operands_type = ic_data.HasDeoptReason(ICData::kDeoptBinarySmiOp)
|
| @@ -726,7 +726,7 @@ bool JitOptimizer::TryReplaceWithBinaryOp(InstanceCallInstr* call,
|
| Z, ic_data.AsUnaryClassChecksForArgNr(1)))) {
|
| // Don't generate mint code if the IC data is marked because of an
|
| // overflow.
|
| - if (ic_data.HasDeoptReason(ICData::kDeoptBinaryMintOp)) {
|
| + if (ic_data.HasDeoptReason(ICData::kDeoptBinaryInt64Op)) {
|
| return false;
|
| }
|
| // Check for smi/mint << smi or smi/mint >> smi.
|
| @@ -776,11 +776,11 @@ bool JitOptimizer::TryReplaceWithBinaryOp(InstanceCallInstr* call,
|
| } else if (operands_type == kMintCid) {
|
| if (!FlowGraphCompiler::SupportsUnboxedMints()) return false;
|
| if ((op_kind == Token::kSHR) || (op_kind == Token::kSHL)) {
|
| - ShiftMintOpInstr* shift_op = new (Z) ShiftMintOpInstr(
|
| + ShiftInt64OpInstr* shift_op = new (Z) ShiftInt64OpInstr(
|
| op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
|
| ReplaceCall(call, shift_op);
|
| } else {
|
| - BinaryMintOpInstr* bin_op = new (Z) BinaryMintOpInstr(
|
| + BinaryInt64OpInstr* bin_op = new (Z) BinaryInt64OpInstr(
|
| op_kind, new (Z) Value(left), new (Z) Value(right), call->deopt_id());
|
| ReplaceCall(call, bin_op);
|
| }
|
| @@ -853,7 +853,7 @@ bool JitOptimizer::TryReplaceWithUnaryOp(InstanceCallInstr* call,
|
| HasOnlySmiOrMint(*call->ic_data()) &&
|
| FlowGraphCompiler::SupportsUnboxedMints()) {
|
| unary_op = new (Z)
|
| - UnaryMintOpInstr(op_kind, new (Z) Value(input), call->deopt_id());
|
| + UnaryInt64OpInstr(op_kind, new (Z) Value(input), call->deopt_id());
|
| } else if (HasOnlyOneDouble(*call->ic_data()) &&
|
| (op_kind == Token::kNEGATE) && CanUnboxDouble()) {
|
| AddReceiverCheck(call);
|
| @@ -1609,7 +1609,7 @@ void JitOptimizer::VisitAllocateContext(AllocateContextInstr* instr) {
|
| void JitOptimizer::VisitLoadCodeUnits(LoadCodeUnitsInstr* instr) {
|
| // TODO(zerny): Use kUnboxedUint32 once it is fully supported/optimized.
|
| #if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_ARM)
|
| - if (!instr->can_pack_into_smi()) instr->set_representation(kUnboxedMint);
|
| + if (!instr->can_pack_into_smi()) instr->set_representation(kUnboxedInt64);
|
| #endif
|
| }
|
|
|
|
|