Index: src/arm/macro-assembler-arm.cc |
diff --git a/src/arm/macro-assembler-arm.cc b/src/arm/macro-assembler-arm.cc |
index cc7283b8e38e0e5f6edbe74d247f7f5d1ae5a532..a83a96aabf514edf433b894238ebc7d9b20794cc 100644 |
--- a/src/arm/macro-assembler-arm.cc |
+++ b/src/arm/macro-assembler-arm.cc |
@@ -3433,14 +3433,14 @@ void MacroAssembler::EmitSeqStringSetCharCheck(Register string, |
uint32_t encoding_mask) { |
Label is_object; |
SmiTst(string); |
- ThrowIf(eq, kNonObject); |
+ Check(ne, kNonObject); |
ldr(ip, FieldMemOperand(string, HeapObject::kMapOffset)); |
ldrb(ip, FieldMemOperand(ip, Map::kInstanceTypeOffset)); |
and_(ip, ip, Operand(kStringRepresentationMask | kStringEncodingMask)); |
cmp(ip, Operand(encoding_mask)); |
- ThrowIf(ne, kUnexpectedStringType); |
+ Check(eq, kUnexpectedStringType); |
// The index is assumed to be untagged coming in, tag it to compare with the |
// string length without using a temp register, it is restored at the end of |
@@ -3449,15 +3449,15 @@ void MacroAssembler::EmitSeqStringSetCharCheck(Register string, |
TrySmiTag(index, index, &index_tag_bad); |
b(&index_tag_ok); |
bind(&index_tag_bad); |
- Throw(kIndexIsTooLarge); |
+ Abort(kIndexIsTooLarge); |
bind(&index_tag_ok); |
ldr(ip, FieldMemOperand(string, String::kLengthOffset)); |
cmp(index, ip); |
- ThrowIf(ge, kIndexIsTooLarge); |
+ Check(lt, kIndexIsTooLarge); |
cmp(index, Operand(Smi::FromInt(0))); |
- ThrowIf(lt, kIndexIsNegative); |
+ Check(ge, kIndexIsNegative); |
SmiUntag(index, index); |
} |