Index: src/ia32/regexp-macro-assembler-ia32.cc |
=================================================================== |
--- src/ia32/regexp-macro-assembler-ia32.cc (revision 9277) |
+++ src/ia32/regexp-macro-assembler-ia32.cc (working copy) |
@@ -396,9 +396,12 @@ |
__ add(edx, Operand(esi)); |
__ mov(Operand(esp, 0 * kPointerSize), edx); |
- ExternalReference compare = |
- ExternalReference::re_case_insensitive_compare_uc16(masm_->isolate()); |
- __ CallCFunction(compare, argument_count); |
+ { |
+ AllowExternalCallThatCantCauseGC scope(masm_); |
+ ExternalReference compare = |
+ ExternalReference::re_case_insensitive_compare_uc16(masm_->isolate()); |
+ __ CallCFunction(compare, argument_count); |
+ } |
// Pop original values before reacting on result value. |
__ pop(ebx); |
__ pop(backtrack_stackpointer()); |
@@ -668,7 +671,12 @@ |
// Entry code: |
__ bind(&entry_label_); |
- // Start new stack frame. |
+ |
+ // Tell the system that we have a stack frame. Because the type is MANUAL, no |
+ // code is generated. |
+ FrameScope scope(masm_, StackFrame::MANUAL); |
+ |
+ // Actually emit code to start a new stack frame. |
__ push(ebp); |
__ mov(ebp, esp); |
// Save callee-save registers. Order here should correspond to order of |