| Index: src/arm/regexp-macro-assembler-arm.cc
|
| ===================================================================
|
| --- src/arm/regexp-macro-assembler-arm.cc (revision 7267)
|
| +++ src/arm/regexp-macro-assembler-arm.cc (working copy)
|
| @@ -60,6 +60,7 @@
|
| * Each call to a public method should retain this convention.
|
| *
|
| * The stack will have the following structure:
|
| + * - fp[52] Isolate* isolate (Address of the current isolate)
|
| * - fp[48] direct_call (if 1, direct call from JavaScript code,
|
| * if 0, call through the runtime system).
|
| * - fp[44] stack_area_base (High end of the memory area to use as
|
| @@ -804,10 +805,10 @@
|
|
|
| CodeDesc code_desc;
|
| masm_->GetCode(&code_desc);
|
| - Handle<Code> code = Factory::NewCode(code_desc,
|
| + Handle<Code> code = FACTORY->NewCode(code_desc,
|
| Code::ComputeFlags(Code::REGEXP),
|
| masm_->CodeObject());
|
| - PROFILE(RegExpCodeCreateEvent(*code, *source));
|
| + PROFILE(Isolate::Current(), RegExpCodeCreateEvent(*code, *source));
|
| return Handle<Object>::cast(code);
|
| }
|
|
|
| @@ -1013,8 +1014,10 @@
|
| int RegExpMacroAssemblerARM::CheckStackGuardState(Address* return_address,
|
| Code* re_code,
|
| Address re_frame) {
|
| - if (StackGuard::IsStackOverflow()) {
|
| - Top::StackOverflow();
|
| + Isolate* isolate = frame_entry<Isolate*>(re_frame, kIsolate);
|
| + ASSERT(isolate == Isolate::Current());
|
| + if (isolate->stack_guard()->IsStackOverflow()) {
|
| + isolate->StackOverflow();
|
| return EXCEPTION;
|
| }
|
|
|
|
|