| Index: src/ia32/macro-assembler-ia32.cc | 
| diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc | 
| index 25598cef55afa3044c16a8f9a133bd20c668b363..faf768e11d93f47602d2cf2346b0071cacfadb4b 100644 | 
| --- a/src/ia32/macro-assembler-ia32.cc | 
| +++ b/src/ia32/macro-assembler-ia32.cc | 
| @@ -3223,7 +3223,7 @@ void MacroAssembler::EmitSeqStringSetCharCheck(Register string, | 
| uint32_t encoding_mask) { | 
| Label is_object; | 
| JumpIfNotSmi(string, &is_object, Label::kNear); | 
| -  Throw(kNonObject); | 
| +  Abort(kNonObject); | 
| bind(&is_object); | 
|  | 
| push(value); | 
| @@ -3233,20 +3233,19 @@ void MacroAssembler::EmitSeqStringSetCharCheck(Register string, | 
| and_(value, Immediate(kStringRepresentationMask | kStringEncodingMask)); | 
| cmp(value, Immediate(encoding_mask)); | 
| pop(value); | 
| -  ThrowIf(not_equal, kUnexpectedStringType); | 
| +  Check(equal, 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 | 
| // this function. | 
| SmiTag(index); | 
| -  // Can't use overflow here directly, compiler can't seem to disambiguate. | 
| -  ThrowIf(NegateCondition(no_overflow), kIndexIsTooLarge); | 
| +  Check(no_overflow, kIndexIsTooLarge); | 
|  | 
| cmp(index, FieldOperand(string, String::kLengthOffset)); | 
| -  ThrowIf(greater_equal, kIndexIsTooLarge); | 
| +  Check(less, kIndexIsTooLarge); | 
|  | 
| cmp(index, Immediate(Smi::FromInt(0))); | 
| -  ThrowIf(less, kIndexIsNegative); | 
| +  Check(greater_equal, kIndexIsNegative); | 
|  | 
| // Restore the index | 
| SmiUntag(index); | 
|  |