Index: runtime/vm/assembler_x64.cc |
diff --git a/runtime/vm/assembler_x64.cc b/runtime/vm/assembler_x64.cc |
index c266bf68191440fe624126e21de442905a8b858b..7c6ed4663791fc2664748043efdfb6680d68b8d2 100644 |
--- a/runtime/vm/assembler_x64.cc |
+++ b/runtime/vm/assembler_x64.cc |
@@ -3673,48 +3673,6 @@ void Assembler::LoadTaggedClassIdMayBeSmi(Register result, Register object) { |
} |
-void Assembler::ComputeRange(Register result, Register value, Label* not_mint) { |
- Label done, not_smi; |
- testl(value, Immediate(kSmiTagMask)); |
- j(NOT_ZERO, ¬_smi, Assembler::kNearJump); |
- |
- sarq(value, Immediate(32)); // Take the tag into account. |
- movq(result, Immediate(ICData::kUint32RangeBit)); // Uint32 |
- cmpq(value, Immediate(1)); |
- j(EQUAL, &done, Assembler::kNearJump); |
- |
- movq(result, Immediate(ICData::kInt32RangeBit)); |
- subq(result, value); // 10 (positive int32), 11 (negative int32) |
- negq(value); |
- cmpq(value, Immediate(1)); |
- j(BELOW_EQUAL, &done); |
- |
- // On 64-bit we don't need to track sign of smis outside of the Int32 range. |
- // Just pretend they are all signed. |
- movq(result, Immediate(ICData::kSignedRangeBit)); |
- jmp(&done); |
- |
- Bind(¬_smi); |
- CompareClassId(value, kMintCid); |
- j(NOT_EQUAL, not_mint); |
- movq(result, Immediate(ICData::kInt64RangeBit)); |
- |
- Bind(&done); |
-} |
- |
- |
-void Assembler::UpdateRangeFeedback(Register value, |
- intptr_t index, |
- Register ic_data, |
- Register scratch, |
- Label* miss) { |
- ASSERT(ICData::IsValidRangeFeedbackIndex(index)); |
- ComputeRange(scratch, value, miss); |
- shll(scratch, Immediate(ICData::RangeFeedbackShift(index))); |
- orl(FieldAddress(ic_data, ICData::state_bits_offset()), scratch); |
-} |
- |
- |
Address Assembler::ElementAddressForIntIndex(bool is_external, |
intptr_t cid, |
intptr_t index_scale, |