Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(343)

Side by Side Diff: src/ia32/regexp-macro-assembler-ia32.cc

Issue 2715004: [Isolates]... (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/isolates/
Patch Set: Address comments/make StackGuard::ThreadLocal::Initialize/Clear side-effects visible Created 10 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2008-2009 the V8 project authors. All rights reserved. 1 // Copyright 2008-2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 1016 matching lines...) Expand 10 before | Expand all | Expand 10 after
1027 // Helper function for reading a value out of a stack frame. 1027 // Helper function for reading a value out of a stack frame.
1028 template <typename T> 1028 template <typename T>
1029 static T& frame_entry(Address re_frame, int frame_offset) { 1029 static T& frame_entry(Address re_frame, int frame_offset) {
1030 return reinterpret_cast<T&>(Memory::int32_at(re_frame + frame_offset)); 1030 return reinterpret_cast<T&>(Memory::int32_at(re_frame + frame_offset));
1031 } 1031 }
1032 1032
1033 1033
1034 int RegExpMacroAssemblerIA32::CheckStackGuardState(Address* return_address, 1034 int RegExpMacroAssemblerIA32::CheckStackGuardState(Address* return_address,
1035 Code* re_code, 1035 Code* re_code,
1036 Address re_frame) { 1036 Address re_frame) {
1037 if (StackGuard::IsStackOverflow()) { 1037 Isolate* isolate = Isolate::Current();
1038 if (isolate->stack_guard()->IsStackOverflow()) {
1038 Top::StackOverflow(); 1039 Top::StackOverflow();
1039 return EXCEPTION; 1040 return EXCEPTION;
1040 } 1041 }
1041 1042
1042 // If not real stack overflow the stack guard was used to interrupt 1043 // If not real stack overflow the stack guard was used to interrupt
1043 // execution for another purpose. 1044 // execution for another purpose.
1044 1045
1045 // If this is a direct call from JavaScript retry the RegExp forcing the call 1046 // If this is a direct call from JavaScript retry the RegExp forcing the call
1046 // through the runtime system. Currently the direct call cannot handle a GC. 1047 // through the runtime system. Currently the direct call cannot handle a GC.
1047 if (frame_entry<int>(re_frame, kDirectCall) == 1) { 1048 if (frame_entry<int>(re_frame, kDirectCall) == 1) {
(...skipping 191 matching lines...) Expand 10 before | Expand all | Expand 10 after
1239 } 1240 }
1240 1241
1241 1242
1242 #undef __ 1243 #undef __
1243 1244
1244 #endif // V8_INTERPRETED_REGEXP 1245 #endif // V8_INTERPRETED_REGEXP
1245 1246
1246 }} // namespace v8::internal 1247 }} // namespace v8::internal
1247 1248
1248 #endif // V8_TARGET_ARCH_IA32 1249 #endif // V8_TARGET_ARCH_IA32
OLDNEW
« src/execution.cc ('K') | « src/heap.cc ('k') | src/isolate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698