Index: runtime/vm/intrinsifier_ia32.cc |
diff --git a/runtime/vm/intrinsifier_ia32.cc b/runtime/vm/intrinsifier_ia32.cc |
index fd2bc9f69eff13bf418ab9aeb75425740d6bff29..8dc9e999655f0977f31a7fe19dbdb8aa5b743961 100644 |
--- a/runtime/vm/intrinsifier_ia32.cc |
+++ b/runtime/vm/intrinsifier_ia32.cc |
@@ -1718,35 +1718,6 @@ void Intrinsifier::String_getHashCode(Assembler* assembler) { |
} |
-void Intrinsifier::StringBaseCodeUnitAt(Assembler* assembler) { |
- Label fall_through, try_two_byte_string; |
- __ movl(EBX, Address(ESP, + 1 * kWordSize)); // Index. |
- __ movl(EAX, Address(ESP, + 2 * kWordSize)); // String. |
- __ testl(EBX, Immediate(kSmiTagMask)); |
- __ j(NOT_ZERO, &fall_through, Assembler::kNearJump); // Non-smi index. |
- // Range check. |
- __ cmpl(EBX, FieldAddress(EAX, String::length_offset())); |
- // Runtime throws exception. |
- __ j(ABOVE_EQUAL, &fall_through, Assembler::kNearJump); |
- __ CompareClassId(EAX, kOneByteStringCid, EDI); |
- __ j(NOT_EQUAL, &try_two_byte_string, Assembler::kNearJump); |
- __ SmiUntag(EBX); |
- __ movzxb(EAX, FieldAddress(EAX, EBX, TIMES_1, OneByteString::data_offset())); |
- __ SmiTag(EAX); |
- __ ret(); |
- |
- __ Bind(&try_two_byte_string); |
- __ CompareClassId(EAX, kTwoByteStringCid, EDI); |
- __ j(NOT_EQUAL, &fall_through, Assembler::kNearJump); |
- ASSERT(kSmiTagShift == 1); |
- __ movzxw(EAX, FieldAddress(EAX, EBX, TIMES_1, TwoByteString::data_offset())); |
- __ SmiTag(EAX); |
- __ ret(); |
- |
- __ Bind(&fall_through); |
-} |
- |
- |
// bool _substringMatches(int start, String other) |
void Intrinsifier::StringBaseSubstringMatches(Assembler* assembler) { |
// For precompilation, not implemented on IA32. |