Index: src/x64/regexp-macro-assembler-x64.cc |
=================================================================== |
--- src/x64/regexp-macro-assembler-x64.cc (revision 9277) |
+++ src/x64/regexp-macro-assembler-x64.cc (working copy) |
@@ -431,10 +431,15 @@ |
// Isolate. |
__ LoadAddress(rcx, ExternalReference::isolate_address()); |
#endif |
- ExternalReference compare = |
- ExternalReference::re_case_insensitive_compare_uc16(masm_.isolate()); |
- __ CallCFunction(compare, num_arguments); |
+ { // NOLINT: Can't find a way to open this scope without confusing the |
+ // linter. |
+ AllowExternalCallThatCantCauseGC scope(&masm_); |
+ ExternalReference compare = |
+ ExternalReference::re_case_insensitive_compare_uc16(masm_.isolate()); |
+ __ CallCFunction(compare, num_arguments); |
+ } |
+ |
// Restore original values before reacting on result value. |
__ Move(code_object_pointer(), masm_.CodeObject()); |
__ pop(backtrack_stackpointer()); |
@@ -706,7 +711,12 @@ |
// registers we need. |
// Entry code: |
__ bind(&entry_label_); |
- // Start new stack frame. |
+ |
+ // Tell the system that we have a stack frame. Because the type is MANUAL, no |
+ // is generated. |
+ FrameScope scope(&masm_, StackFrame::MANUAL); |
+ |
+ // Actually emit code to start a new stack frame. |
__ push(rbp); |
__ movq(rbp, rsp); |
// Save parameters and callee-save registers. Order here should correspond |