| OLD | NEW |
| 1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 the V8 project authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef V8_EXECUTION_H_ | 5 #ifndef V8_EXECUTION_H_ |
| 6 #define V8_EXECUTION_H_ | 6 #define V8_EXECUTION_H_ |
| 7 | 7 |
| 8 #include "src/allocation.h" | 8 #include "src/allocation.h" |
| 9 #include "src/base/atomicops.h" | 9 #include "src/base/atomicops.h" |
| 10 #include "src/handles.h" | 10 #include "src/handles.h" |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 74 void FreeThreadResources(); | 74 void FreeThreadResources(); |
| 75 // Sets up the default stack guard for this thread if it has not | 75 // Sets up the default stack guard for this thread if it has not |
| 76 // already been set up. | 76 // already been set up. |
| 77 void InitThread(const ExecutionAccess& lock); | 77 void InitThread(const ExecutionAccess& lock); |
| 78 // Clears the stack guard for this thread so it does not look as if | 78 // Clears the stack guard for this thread so it does not look as if |
| 79 // it has been set up. | 79 // it has been set up. |
| 80 void ClearThread(const ExecutionAccess& lock); | 80 void ClearThread(const ExecutionAccess& lock); |
| 81 | 81 |
| 82 #define INTERRUPT_LIST(V) \ | 82 #define INTERRUPT_LIST(V) \ |
| 83 V(DEBUGBREAK, DebugBreak, 0) \ | 83 V(DEBUGBREAK, DebugBreak, 0) \ |
| 84 V(TERMINATE_EXECUTION, TerminateExecution, 1) \ | 84 V(DEBUGCOMMAND, DebugCommand, 1) \ |
| 85 V(GC_REQUEST, GC, 2) \ | 85 V(TERMINATE_EXECUTION, TerminateExecution, 2) \ |
| 86 V(INSTALL_CODE, InstallCode, 3) \ | 86 V(GC_REQUEST, GC, 3) \ |
| 87 V(API_INTERRUPT, ApiInterrupt, 4) \ | 87 V(INSTALL_CODE, InstallCode, 4) \ |
| 88 V(DEOPT_MARKED_ALLOCATION_SITES, DeoptMarkedAllocationSites, 5) | 88 V(API_INTERRUPT, ApiInterrupt, 5) \ |
| 89 V(DEOPT_MARKED_ALLOCATION_SITES, DeoptMarkedAllocationSites, 6) |
| 89 | 90 |
| 90 #define V(NAME, Name, id) \ | 91 #define V(NAME, Name, id) \ |
| 91 inline bool Check##Name() { return CheckInterrupt(NAME); } \ | 92 inline bool Check##Name() { return CheckInterrupt(NAME); } \ |
| 92 inline void Request##Name() { RequestInterrupt(NAME); } \ | 93 inline void Request##Name() { RequestInterrupt(NAME); } \ |
| 93 inline void Clear##Name() { ClearInterrupt(NAME); } | 94 inline void Clear##Name() { ClearInterrupt(NAME); } |
| 94 INTERRUPT_LIST(V) | 95 INTERRUPT_LIST(V) |
| 95 #undef V | 96 #undef V |
| 96 | 97 |
| 97 // Flag used to set the interrupt causes. | 98 // Flag used to set the interrupt causes. |
| 98 enum InterruptFlag { | 99 enum InterruptFlag { |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 217 friend class StackLimitCheck; | 218 friend class StackLimitCheck; |
| 218 friend class PostponeInterruptsScope; | 219 friend class PostponeInterruptsScope; |
| 219 | 220 |
| 220 DISALLOW_COPY_AND_ASSIGN(StackGuard); | 221 DISALLOW_COPY_AND_ASSIGN(StackGuard); |
| 221 }; | 222 }; |
| 222 | 223 |
| 223 } // namespace internal | 224 } // namespace internal |
| 224 } // namespace v8 | 225 } // namespace v8 |
| 225 | 226 |
| 226 #endif // V8_EXECUTION_H_ | 227 #endif // V8_EXECUTION_H_ |
| OLD | NEW |