Index: src/mips/macro-assembler-mips.cc |
diff --git a/src/mips/macro-assembler-mips.cc b/src/mips/macro-assembler-mips.cc |
index 517344857fbbab147bfa9665f1ddc4b3d3c7b7da..fe077458eacc332f6140ea1e2810260feaf588a8 100644 |
--- a/src/mips/macro-assembler-mips.cc |
+++ b/src/mips/macro-assembler-mips.cc |
@@ -5050,14 +5050,14 @@ void MacroAssembler::EmitSeqStringSetCharCheck(Register string, |
uint32_t encoding_mask) { |
Label is_object; |
SmiTst(string, at); |
- ThrowIf(eq, kNonObject, at, Operand(zero_reg)); |
+ Check(ne, kNonObject, at, Operand(zero_reg)); |
lw(at, FieldMemOperand(string, HeapObject::kMapOffset)); |
lbu(at, FieldMemOperand(at, Map::kInstanceTypeOffset)); |
andi(at, at, kStringRepresentationMask | kStringEncodingMask); |
li(scratch, Operand(encoding_mask)); |
- ThrowIf(ne, kUnexpectedStringType, at, Operand(scratch)); |
+ Check(eq, kUnexpectedStringType, at, Operand(scratch)); |
// 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 |
@@ -5066,14 +5066,14 @@ void MacroAssembler::EmitSeqStringSetCharCheck(Register string, |
TrySmiTag(index, scratch, &index_tag_bad); |
Branch(&index_tag_ok); |
bind(&index_tag_bad); |
- Throw(kIndexIsTooLarge); |
+ Abort(kIndexIsTooLarge); |
bind(&index_tag_ok); |
lw(at, FieldMemOperand(string, String::kLengthOffset)); |
- ThrowIf(ge, kIndexIsTooLarge, index, Operand(at)); |
+ Check(lt, kIndexIsTooLarge, index, Operand(at)); |
ASSERT(Smi::FromInt(0) == 0); |
- ThrowIf(lt, kIndexIsNegative, index, Operand(zero_reg)); |
+ Check(ge, kIndexIsNegative, index, Operand(zero_reg)); |
SmiUntag(index, index); |
} |