OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
248 Address js_entry_sp_; // the stack pointer of the bottom js entry frame | 248 Address js_entry_sp_; // the stack pointer of the bottom js entry frame |
249 Address external_callback_; // the external callback we're currently in | 249 Address external_callback_; // the external callback we're currently in |
250 StateTag current_vm_state_; | 250 StateTag current_vm_state_; |
251 | 251 |
252 // Generated code scratch locations. | 252 // Generated code scratch locations. |
253 int32_t formal_count_; | 253 int32_t formal_count_; |
254 | 254 |
255 // Call back function to report unsafe JS accesses. | 255 // Call back function to report unsafe JS accesses. |
256 v8::FailedAccessCheckCallback failed_access_check_callback_; | 256 v8::FailedAccessCheckCallback failed_access_check_callback_; |
257 | 257 |
| 258 // Head of the list of live LookupResults. |
| 259 LookupResult* top_lookup_result_; |
| 260 |
258 // Whether out of memory exceptions should be ignored. | 261 // Whether out of memory exceptions should be ignored. |
259 bool ignore_out_of_memory_; | 262 bool ignore_out_of_memory_; |
260 | 263 |
261 private: | 264 private: |
262 void InitializeInternal(); | 265 void InitializeInternal(); |
263 | 266 |
264 Address try_catch_handler_address_; | 267 Address try_catch_handler_address_; |
265 }; | 268 }; |
266 | 269 |
267 #if defined(V8_TARGET_ARCH_ARM) || defined(V8_TARGET_ARCH_MIPS) | 270 #if defined(V8_TARGET_ARCH_ARM) || defined(V8_TARGET_ARCH_MIPS) |
(...skipping 720 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
988 // in JS or not. | 991 // in JS or not. |
989 ASSERT((current_state == JS) == (state == JS)); | 992 ASSERT((current_state == JS) == (state == JS)); |
990 } | 993 } |
991 } | 994 } |
992 thread_local_top_.current_vm_state_ = state; | 995 thread_local_top_.current_vm_state_ = state; |
993 } | 996 } |
994 | 997 |
995 void SetData(void* data) { embedder_data_ = data; } | 998 void SetData(void* data) { embedder_data_ = data; } |
996 void* GetData() { return embedder_data_; } | 999 void* GetData() { return embedder_data_; } |
997 | 1000 |
| 1001 LookupResult* top_lookup_result() { |
| 1002 return thread_local_top_.top_lookup_result_; |
| 1003 } |
| 1004 void SetTopLookupResult(LookupResult* top) { |
| 1005 thread_local_top_.top_lookup_result_ = top; |
| 1006 } |
| 1007 |
998 private: | 1008 private: |
999 Isolate(); | 1009 Isolate(); |
1000 | 1010 |
1001 // The per-process lock should be acquired before the ThreadDataTable is | 1011 // The per-process lock should be acquired before the ThreadDataTable is |
1002 // modified. | 1012 // modified. |
1003 class ThreadDataTable { | 1013 class ThreadDataTable { |
1004 public: | 1014 public: |
1005 ThreadDataTable(); | 1015 ThreadDataTable(); |
1006 ~ThreadDataTable(); | 1016 ~ThreadDataTable(); |
1007 | 1017 |
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1350 | 1360 |
1351 // Mark the global context with out of memory. | 1361 // Mark the global context with out of memory. |
1352 inline void Context::mark_out_of_memory() { | 1362 inline void Context::mark_out_of_memory() { |
1353 global_context()->set_out_of_memory(HEAP->true_value()); | 1363 global_context()->set_out_of_memory(HEAP->true_value()); |
1354 } | 1364 } |
1355 | 1365 |
1356 | 1366 |
1357 } } // namespace v8::internal | 1367 } } // namespace v8::internal |
1358 | 1368 |
1359 #endif // V8_ISOLATE_H_ | 1369 #endif // V8_ISOLATE_H_ |
OLD | NEW |