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

Side by Side Diff: src/isolate.h

Issue 139973004: A64: Synchronize with r15814. (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/a64
Patch Set: Created 6 years, 10 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
« no previous file with comments | « src/incremental-marking.cc ('k') | src/isolate.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
118 typedef ZoneList<Handle<Object> > ZoneObjectList; 118 typedef ZoneList<Handle<Object> > ZoneObjectList;
119 119
120 #define RETURN_IF_SCHEDULED_EXCEPTION(isolate) \ 120 #define RETURN_IF_SCHEDULED_EXCEPTION(isolate) \
121 do { \ 121 do { \
122 Isolate* __isolate__ = (isolate); \ 122 Isolate* __isolate__ = (isolate); \
123 if (__isolate__->has_scheduled_exception()) { \ 123 if (__isolate__->has_scheduled_exception()) { \
124 return __isolate__->PromoteScheduledException(); \ 124 return __isolate__->PromoteScheduledException(); \
125 } \ 125 } \
126 } while (false) 126 } while (false)
127 127
128 #define RETURN_HANDLE_IF_SCHEDULED_EXCEPTION(isolate, T) \
129 do { \
130 Isolate* __isolate__ = (isolate); \
131 if (__isolate__->has_scheduled_exception()) { \
132 __isolate__->PromoteScheduledException(); \
133 return Handle<T>::null(); \
134 } \
135 } while (false)
136
128 #define RETURN_IF_EMPTY_HANDLE_VALUE(isolate, call, value) \ 137 #define RETURN_IF_EMPTY_HANDLE_VALUE(isolate, call, value) \
129 do { \ 138 do { \
130 if ((call).is_null()) { \ 139 if ((call).is_null()) { \
131 ASSERT((isolate)->has_pending_exception()); \ 140 ASSERT((isolate)->has_pending_exception()); \
132 return (value); \ 141 return (value); \
133 } \ 142 } \
134 } while (false) 143 } while (false)
135 144
136 #define CHECK_NOT_EMPTY_HANDLE(isolate, call) \ 145 #define CHECK_NOT_EMPTY_HANDLE(isolate, call) \
137 do { \ 146 do { \
(...skipping 981 matching lines...) Expand 10 before | Expand all | Expand 10 after
1119 int id() const { return static_cast<int>(id_); } 1128 int id() const { return static_cast<int>(id_); }
1120 1129
1121 HStatistics* GetHStatistics(); 1130 HStatistics* GetHStatistics();
1122 HTracer* GetHTracer(); 1131 HTracer* GetHTracer();
1123 1132
1124 FunctionEntryHook function_entry_hook() { return function_entry_hook_; } 1133 FunctionEntryHook function_entry_hook() { return function_entry_hook_; }
1125 void set_function_entry_hook(FunctionEntryHook function_entry_hook) { 1134 void set_function_entry_hook(FunctionEntryHook function_entry_hook) {
1126 function_entry_hook_ = function_entry_hook; 1135 function_entry_hook_ = function_entry_hook;
1127 } 1136 }
1128 1137
1138 void* stress_deopt_count_address() { return &stress_deopt_count_; }
1139
1140 // Given an address occupied by a live code object, return that object.
1141 Object* FindCodeObject(Address a);
1142
1129 private: 1143 private:
1130 Isolate(); 1144 Isolate();
1131 1145
1132 friend struct GlobalState; 1146 friend struct GlobalState;
1133 friend struct InitializeGlobalState; 1147 friend struct InitializeGlobalState;
1134 1148
1135 enum State { 1149 enum State {
1136 UNINITIALIZED, // Some components may not have been allocated. 1150 UNINITIALIZED, // Some components may not have been allocated.
1137 INITIALIZED // All components are fully initialized. 1151 INITIALIZED // All components are fully initialized.
1138 }; 1152 };
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
1355 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) 1369 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET)
1356 #undef ISOLATE_FIELD_OFFSET 1370 #undef ISOLATE_FIELD_OFFSET
1357 #endif 1371 #endif
1358 1372
1359 DeferredHandles* deferred_handles_head_; 1373 DeferredHandles* deferred_handles_head_;
1360 OptimizingCompilerThread optimizing_compiler_thread_; 1374 OptimizingCompilerThread optimizing_compiler_thread_;
1361 MarkingThread** marking_thread_; 1375 MarkingThread** marking_thread_;
1362 SweeperThread** sweeper_thread_; 1376 SweeperThread** sweeper_thread_;
1363 CallbackTable* callback_table_; 1377 CallbackTable* callback_table_;
1364 1378
1379 // Counts deopt points if deopt_every_n_times is enabled.
1380 unsigned int stress_deopt_count_;
1381
1365 friend class ExecutionAccess; 1382 friend class ExecutionAccess;
1366 friend class HandleScopeImplementer; 1383 friend class HandleScopeImplementer;
1367 friend class IsolateInitializer; 1384 friend class IsolateInitializer;
1368 friend class MarkingThread; 1385 friend class MarkingThread;
1369 friend class OptimizingCompilerThread; 1386 friend class OptimizingCompilerThread;
1370 friend class SweeperThread; 1387 friend class SweeperThread;
1371 friend class ThreadManager; 1388 friend class ThreadManager;
1372 friend class Simulator; 1389 friend class Simulator;
1373 friend class StackGuard; 1390 friend class StackGuard;
1374 friend class ThreadId; 1391 friend class ThreadId;
(...skipping 135 matching lines...) Expand 10 before | Expand all | Expand 10 after
1510 1527
1511 // Mark the native context with out of memory. 1528 // Mark the native context with out of memory.
1512 inline void Context::mark_out_of_memory() { 1529 inline void Context::mark_out_of_memory() {
1513 native_context()->set_out_of_memory(HEAP->true_value()); 1530 native_context()->set_out_of_memory(HEAP->true_value());
1514 } 1531 }
1515 1532
1516 1533
1517 } } // namespace v8::internal 1534 } } // namespace v8::internal
1518 1535
1519 #endif // V8_ISOLATE_H_ 1536 #endif // V8_ISOLATE_H_
OLDNEW
« no previous file with comments | « src/incremental-marking.cc ('k') | src/isolate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698