OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 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 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
68 | 68 |
69 #define EXCEPTION_BAILOUT_CHECK(value) \ | 69 #define EXCEPTION_BAILOUT_CHECK(value) \ |
70 do { \ | 70 do { \ |
71 thread_local.DecrementCallDepth(); \ | 71 thread_local.DecrementCallDepth(); \ |
72 if (has_pending_exception) { \ | 72 if (has_pending_exception) { \ |
73 if (thread_local.CallDepthIsZero() && i::Top::is_out_of_memory()) { \ | 73 if (thread_local.CallDepthIsZero() && i::Top::is_out_of_memory()) { \ |
74 if (!thread_local.IgnoreOutOfMemory()) \ | 74 if (!thread_local.IgnoreOutOfMemory()) \ |
75 i::V8::FatalProcessOutOfMemory(NULL); \ | 75 i::V8::FatalProcessOutOfMemory(NULL); \ |
76 } \ | 76 } \ |
77 bool call_depth_is_zero = thread_local.CallDepthIsZero(); \ | 77 bool call_depth_is_zero = thread_local.CallDepthIsZero(); \ |
78 i::Top::OptionalRescheduleException(call_depth_is_zero, false); \ | 78 i::Top::OptionalRescheduleException(call_depth_is_zero); \ |
79 return value; \ | 79 return value; \ |
80 } \ | 80 } \ |
81 } while (false) | 81 } while (false) |
82 | 82 |
83 | 83 |
84 #define API_ENTRY_CHECK(msg) \ | 84 #define API_ENTRY_CHECK(msg) \ |
85 do { \ | 85 do { \ |
86 if (v8::Locker::IsActive()) { \ | 86 if (v8::Locker::IsActive()) { \ |
87 ApiCheck(i::ThreadManager::IsLockedByCurrentThread(), \ | 87 ApiCheck(i::ThreadManager::IsLockedByCurrentThread(), \ |
88 msg, \ | 88 msg, \ |
(...skipping 3640 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3729 reinterpret_cast<HandleScopeImplementer*>(storage); | 3729 reinterpret_cast<HandleScopeImplementer*>(storage); |
3730 List<internal::Object**>* blocks_of_archived_thread = thread_local->Blocks(); | 3730 List<internal::Object**>* blocks_of_archived_thread = thread_local->Blocks(); |
3731 v8::ImplementationUtilities::HandleScopeData* handle_data_of_archived_thread = | 3731 v8::ImplementationUtilities::HandleScopeData* handle_data_of_archived_thread = |
3732 &thread_local->handle_scope_data_; | 3732 &thread_local->handle_scope_data_; |
3733 Iterate(v, blocks_of_archived_thread, handle_data_of_archived_thread); | 3733 Iterate(v, blocks_of_archived_thread, handle_data_of_archived_thread); |
3734 | 3734 |
3735 return storage + ArchiveSpacePerThread(); | 3735 return storage + ArchiveSpacePerThread(); |
3736 } | 3736 } |
3737 | 3737 |
3738 } } // namespace v8::internal | 3738 } } // namespace v8::internal |
OLD | NEW |