Chromium Code Reviews| Index: src/arm/code-stubs-arm.cc |
| diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
| index 9e6f7596e7fc60131cdaf956d07567854514e74b..a3dac34a4dbdfebcebae93404cd56f864dd0025c 100644 |
| --- a/src/arm/code-stubs-arm.cc |
| +++ b/src/arm/code-stubs-arm.cc |
| @@ -4575,10 +4575,15 @@ void RegExpExecStub::Generate(MacroAssembler* masm) { |
| Label cons_string, check_encoding; |
| STATIC_ASSERT(kConsStringTag < kExternalStringTag); |
| STATIC_ASSERT(kSlicedStringTag > kExternalStringTag); |
| + STATIC_ASSERT(kIsNotStringMask > kExternalStringTag); |
| __ cmp(r1, Operand(kExternalStringTag)); |
| __ b(lt, &cons_string); |
| __ b(eq, &runtime); |
| + // Catch non-string subject (should already have been guarded against). |
| + __ tst(ebx, Immediate(kIsNotStringMask)); |
|
Lasse Reichstein
2011/11/24 09:31:57
If it should have been guarded against, then make
|
| + __ b(eq, &runtime); |
| + |
| // String is sliced. |
| __ ldr(r9, FieldMemOperand(subject, SlicedString::kOffsetOffset)); |
| __ mov(r9, Operand(r9, ASR, kSmiTagSize)); |