OLD | NEW |
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 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
95 typedef void* ExternalReferenceRedirectorPointer(); | 95 typedef void* ExternalReferenceRedirectorPointer(); |
96 | 96 |
97 | 97 |
98 #ifdef ENABLE_DEBUGGER_SUPPORT | 98 #ifdef ENABLE_DEBUGGER_SUPPORT |
99 class Debug; | 99 class Debug; |
100 class Debugger; | 100 class Debugger; |
101 class DebuggerAgent; | 101 class DebuggerAgent; |
102 #endif | 102 #endif |
103 | 103 |
104 #if !defined(__arm__) && V8_TARGET_ARCH_ARM || \ | 104 #if !defined(__arm__) && V8_TARGET_ARCH_ARM || \ |
| 105 !defined(__aarch64__) && V8_TARGET_ARCH_A64 || \ |
105 !defined(__mips__) && V8_TARGET_ARCH_MIPS | 106 !defined(__mips__) && V8_TARGET_ARCH_MIPS |
106 class Redirection; | 107 class Redirection; |
107 class Simulator; | 108 class Simulator; |
108 #endif | 109 #endif |
109 | 110 |
110 | 111 |
111 // Static indirection table for handles to constants. If a frame | 112 // Static indirection table for handles to constants. If a frame |
112 // element represents a constant, the data contains an index into | 113 // element represents a constant, the data contains an index into |
113 // this table of handles to the actual constants. | 114 // this table of handles to the actual constants. |
114 // Static indirection table for handles to constants. If a Result | 115 // Static indirection table for handles to constants. If a Result |
(...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
381 // entered. That instance is allocated when the isolate is initially entered | 382 // entered. That instance is allocated when the isolate is initially entered |
382 // and reused on subsequent entries. | 383 // and reused on subsequent entries. |
383 class PerIsolateThreadData { | 384 class PerIsolateThreadData { |
384 public: | 385 public: |
385 PerIsolateThreadData(Isolate* isolate, ThreadId thread_id) | 386 PerIsolateThreadData(Isolate* isolate, ThreadId thread_id) |
386 : isolate_(isolate), | 387 : isolate_(isolate), |
387 thread_id_(thread_id), | 388 thread_id_(thread_id), |
388 stack_limit_(0), | 389 stack_limit_(0), |
389 thread_state_(NULL), | 390 thread_state_(NULL), |
390 #if !defined(__arm__) && V8_TARGET_ARCH_ARM || \ | 391 #if !defined(__arm__) && V8_TARGET_ARCH_ARM || \ |
| 392 !defined(__aarch64__) && V8_TARGET_ARCH_A64 || \ |
391 !defined(__mips__) && V8_TARGET_ARCH_MIPS | 393 !defined(__mips__) && V8_TARGET_ARCH_MIPS |
392 simulator_(NULL), | 394 simulator_(NULL), |
393 #endif | 395 #endif |
394 next_(NULL), | 396 next_(NULL), |
395 prev_(NULL) { } | 397 prev_(NULL) { } |
396 Isolate* isolate() const { return isolate_; } | 398 Isolate* isolate() const { return isolate_; } |
397 ThreadId thread_id() const { return thread_id_; } | 399 ThreadId thread_id() const { return thread_id_; } |
398 | 400 |
399 FIELD_ACCESSOR(uintptr_t, stack_limit) | 401 FIELD_ACCESSOR(uintptr_t, stack_limit) |
400 FIELD_ACCESSOR(ThreadState*, thread_state) | 402 FIELD_ACCESSOR(ThreadState*, thread_state) |
401 | 403 |
402 #if !defined(__arm__) && V8_TARGET_ARCH_ARM || \ | 404 #if !defined(__arm__) && V8_TARGET_ARCH_ARM || \ |
| 405 !defined(__aarch64__) && V8_TARGET_ARCH_A64 || \ |
403 !defined(__mips__) && V8_TARGET_ARCH_MIPS | 406 !defined(__mips__) && V8_TARGET_ARCH_MIPS |
404 FIELD_ACCESSOR(Simulator*, simulator) | 407 FIELD_ACCESSOR(Simulator*, simulator) |
405 #endif | 408 #endif |
406 | 409 |
407 bool Matches(Isolate* isolate, ThreadId thread_id) const { | 410 bool Matches(Isolate* isolate, ThreadId thread_id) const { |
408 return isolate_ == isolate && thread_id_.Equals(thread_id); | 411 return isolate_ == isolate && thread_id_.Equals(thread_id); |
409 } | 412 } |
410 | 413 |
411 private: | 414 private: |
412 Isolate* isolate_; | 415 Isolate* isolate_; |
413 ThreadId thread_id_; | 416 ThreadId thread_id_; |
414 uintptr_t stack_limit_; | 417 uintptr_t stack_limit_; |
415 ThreadState* thread_state_; | 418 ThreadState* thread_state_; |
416 | 419 |
417 #if !defined(__arm__) && V8_TARGET_ARCH_ARM || \ | 420 #if !defined(__arm__) && V8_TARGET_ARCH_ARM || \ |
| 421 !defined(__aarch64__) && V8_TARGET_ARCH_A64 || \ |
418 !defined(__mips__) && V8_TARGET_ARCH_MIPS | 422 !defined(__mips__) && V8_TARGET_ARCH_MIPS |
419 Simulator* simulator_; | 423 Simulator* simulator_; |
420 #endif | 424 #endif |
421 | 425 |
422 PerIsolateThreadData* next_; | 426 PerIsolateThreadData* next_; |
423 PerIsolateThreadData* prev_; | 427 PerIsolateThreadData* prev_; |
424 | 428 |
425 friend class Isolate; | 429 friend class Isolate; |
426 friend class ThreadDataTable; | 430 friend class ThreadDataTable; |
427 friend class EntryStackItem; | 431 friend class EntryStackItem; |
(...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
971 HistogramInfo* heap_histograms() { return heap_histograms_; } | 975 HistogramInfo* heap_histograms() { return heap_histograms_; } |
972 | 976 |
973 JSObject::SpillInformation* js_spill_information() { | 977 JSObject::SpillInformation* js_spill_information() { |
974 return &js_spill_information_; | 978 return &js_spill_information_; |
975 } | 979 } |
976 | 980 |
977 int* code_kind_statistics() { return code_kind_statistics_; } | 981 int* code_kind_statistics() { return code_kind_statistics_; } |
978 #endif | 982 #endif |
979 | 983 |
980 #if V8_TARGET_ARCH_ARM && !defined(__arm__) || \ | 984 #if V8_TARGET_ARCH_ARM && !defined(__arm__) || \ |
| 985 V8_TARGET_ARCH_A64 && !defined(__aarch64__) || \ |
981 V8_TARGET_ARCH_MIPS && !defined(__mips__) | 986 V8_TARGET_ARCH_MIPS && !defined(__mips__) |
982 FIELD_ACCESSOR(bool, simulator_initialized) | 987 FIELD_ACCESSOR(bool, simulator_initialized) |
983 FIELD_ACCESSOR(HashMap*, simulator_i_cache) | 988 FIELD_ACCESSOR(HashMap*, simulator_i_cache) |
984 FIELD_ACCESSOR(Redirection*, simulator_redirection) | 989 FIELD_ACCESSOR(Redirection*, simulator_redirection) |
985 #endif | 990 #endif |
986 | 991 |
987 Factory* factory() { return reinterpret_cast<Factory*>(this); } | 992 Factory* factory() { return reinterpret_cast<Factory*>(this); } |
988 | 993 |
989 static const int kJSRegexpStaticOffsetsVectorSize = 128; | 994 static const int kJSRegexpStaticOffsetsVectorSize = 128; |
990 | 995 |
(...skipping 281 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1272 // True if we are using the Crankshaft optimizing compiler. | 1277 // True if we are using the Crankshaft optimizing compiler. |
1273 bool use_crankshaft_; | 1278 bool use_crankshaft_; |
1274 | 1279 |
1275 // True if this isolate was initialized from a snapshot. | 1280 // True if this isolate was initialized from a snapshot. |
1276 bool initialized_from_snapshot_; | 1281 bool initialized_from_snapshot_; |
1277 | 1282 |
1278 // Time stamp at initialization. | 1283 // Time stamp at initialization. |
1279 double time_millis_at_init_; | 1284 double time_millis_at_init_; |
1280 | 1285 |
1281 #if V8_TARGET_ARCH_ARM && !defined(__arm__) || \ | 1286 #if V8_TARGET_ARCH_ARM && !defined(__arm__) || \ |
| 1287 V8_TARGET_ARCH_A64 && !defined(__aarch64__) || \ |
1282 V8_TARGET_ARCH_MIPS && !defined(__mips__) | 1288 V8_TARGET_ARCH_MIPS && !defined(__mips__) |
1283 bool simulator_initialized_; | 1289 bool simulator_initialized_; |
1284 HashMap* simulator_i_cache_; | 1290 HashMap* simulator_i_cache_; |
1285 Redirection* simulator_redirection_; | 1291 Redirection* simulator_redirection_; |
1286 #endif | 1292 #endif |
1287 | 1293 |
1288 #ifdef DEBUG | 1294 #ifdef DEBUG |
1289 // A static array of histogram info for each type. | 1295 // A static array of histogram info for each type. |
1290 HistogramInfo heap_histograms_[LAST_TYPE + 1]; | 1296 HistogramInfo heap_histograms_[LAST_TYPE + 1]; |
1291 JSObject::SpillInformation js_spill_information_; | 1297 JSObject::SpillInformation js_spill_information_; |
(...skipping 245 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1537 } | 1543 } |
1538 | 1544 |
1539 EmbeddedVector<char, 128> filename_; | 1545 EmbeddedVector<char, 128> filename_; |
1540 FILE* file_; | 1546 FILE* file_; |
1541 int scope_depth_; | 1547 int scope_depth_; |
1542 }; | 1548 }; |
1543 | 1549 |
1544 } } // namespace v8::internal | 1550 } } // namespace v8::internal |
1545 | 1551 |
1546 #endif // V8_ISOLATE_H_ | 1552 #endif // V8_ISOLATE_H_ |
OLD | NEW |