OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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_ISOLATE_H_ | 5 #ifndef V8_ISOLATE_H_ |
6 #define V8_ISOLATE_H_ | 6 #define V8_ISOLATE_H_ |
7 | 7 |
8 #include <queue> | 8 #include <queue> |
9 #include "include/v8-debug.h" | 9 #include "include/v8-debug.h" |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 1042 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1053 | 1053 |
1054 void DumpAndResetCompilationStats(); | 1054 void DumpAndResetCompilationStats(); |
1055 | 1055 |
1056 FunctionEntryHook function_entry_hook() { return function_entry_hook_; } | 1056 FunctionEntryHook function_entry_hook() { return function_entry_hook_; } |
1057 void set_function_entry_hook(FunctionEntryHook function_entry_hook) { | 1057 void set_function_entry_hook(FunctionEntryHook function_entry_hook) { |
1058 function_entry_hook_ = function_entry_hook; | 1058 function_entry_hook_ = function_entry_hook; |
1059 } | 1059 } |
1060 | 1060 |
1061 void* stress_deopt_count_address() { return &stress_deopt_count_; } | 1061 void* stress_deopt_count_address() { return &stress_deopt_count_; } |
1062 | 1062 |
1063 inline base::RandomNumberGenerator* random_number_generator(); | 1063 base::RandomNumberGenerator* random_number_generator(); |
1064 | 1064 |
1065 // Given an address occupied by a live code object, return that object. | 1065 // Given an address occupied by a live code object, return that object. |
1066 Object* FindCodeObject(Address a); | 1066 Object* FindCodeObject(Address a); |
1067 | 1067 |
1068 int NextOptimizationId() { | 1068 int NextOptimizationId() { |
1069 int id = next_optimization_id_++; | 1069 int id = next_optimization_id_++; |
1070 if (!Smi::IsValid(next_optimization_id_)) { | 1070 if (!Smi::IsValid(next_optimization_id_)) { |
1071 next_optimization_id_ = 0; | 1071 next_optimization_id_ = 0; |
1072 } | 1072 } |
1073 return id; | 1073 return id; |
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1385 Handle<JSObject> promise_; | 1385 Handle<JSObject> promise_; |
1386 PromiseOnStack* prev_; | 1386 PromiseOnStack* prev_; |
1387 }; | 1387 }; |
1388 | 1388 |
1389 | 1389 |
1390 // If the GCC version is 4.1.x or 4.2.x an additional field is added to the | 1390 // If the GCC version is 4.1.x or 4.2.x an additional field is added to the |
1391 // class as a work around for a bug in the generated code found with these | 1391 // class as a work around for a bug in the generated code found with these |
1392 // versions of GCC. See V8 issue 122 for details. | 1392 // versions of GCC. See V8 issue 122 for details. |
1393 class SaveContext BASE_EMBEDDED { | 1393 class SaveContext BASE_EMBEDDED { |
1394 public: | 1394 public: |
1395 inline explicit SaveContext(Isolate* isolate); | 1395 explicit SaveContext(Isolate* isolate); |
1396 | 1396 |
1397 ~SaveContext() { | 1397 ~SaveContext() { |
1398 isolate_->set_context(context_.is_null() ? NULL : *context_); | 1398 isolate_->set_context(context_.is_null() ? NULL : *context_); |
1399 isolate_->set_save_context(prev_); | 1399 isolate_->set_save_context(prev_); |
1400 } | 1400 } |
1401 | 1401 |
1402 Handle<Context> context() { return context_; } | 1402 Handle<Context> context() { return context_; } |
1403 SaveContext* prev() { return prev_; } | 1403 SaveContext* prev() { return prev_; } |
1404 | 1404 |
1405 // Returns true if this save context is below a given JavaScript frame. | 1405 // Returns true if this save context is below a given JavaScript frame. |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1569 } | 1569 } |
1570 | 1570 |
1571 EmbeddedVector<char, 128> filename_; | 1571 EmbeddedVector<char, 128> filename_; |
1572 FILE* file_; | 1572 FILE* file_; |
1573 int scope_depth_; | 1573 int scope_depth_; |
1574 }; | 1574 }; |
1575 | 1575 |
1576 } } // namespace v8::internal | 1576 } } // namespace v8::internal |
1577 | 1577 |
1578 #endif // V8_ISOLATE_H_ | 1578 #endif // V8_ISOLATE_H_ |
OLD | NEW |