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 #include "src/isolate.h" | 5 #include "src/isolate.h" |
6 | 6 |
7 #include <stdlib.h> | 7 #include <stdlib.h> |
8 | 8 |
9 #include <fstream> // NOLINT(readability/streams) | 9 #include <fstream> // NOLINT(readability/streams) |
10 #include <sstream> | 10 #include <sstream> |
11 | 11 |
| 12 #include "src/ast/context-slot-cache.h" |
12 #include "src/base/accounting-allocator.h" | 13 #include "src/base/accounting-allocator.h" |
13 #include "src/base/hashmap.h" | 14 #include "src/base/hashmap.h" |
14 #include "src/base/platform/platform.h" | 15 #include "src/base/platform/platform.h" |
15 #include "src/base/sys-info.h" | 16 #include "src/base/sys-info.h" |
16 #include "src/base/utils/random-number-generator.h" | 17 #include "src/base/utils/random-number-generator.h" |
17 #include "src/basic-block-profiler.h" | 18 #include "src/basic-block-profiler.h" |
18 #include "src/bootstrapper.h" | 19 #include "src/bootstrapper.h" |
19 #include "src/cancelable-task.h" | 20 #include "src/cancelable-task.h" |
20 #include "src/codegen.h" | 21 #include "src/codegen.h" |
21 #include "src/compilation-cache.h" | 22 #include "src/compilation-cache.h" |
(...skipping 1914 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1936 load_stub_cache_(NULL), | 1937 load_stub_cache_(NULL), |
1937 store_stub_cache_(NULL), | 1938 store_stub_cache_(NULL), |
1938 code_aging_helper_(NULL), | 1939 code_aging_helper_(NULL), |
1939 deoptimizer_data_(NULL), | 1940 deoptimizer_data_(NULL), |
1940 deoptimizer_lazy_throw_(false), | 1941 deoptimizer_lazy_throw_(false), |
1941 materialized_object_store_(NULL), | 1942 materialized_object_store_(NULL), |
1942 capture_stack_trace_for_uncaught_exceptions_(false), | 1943 capture_stack_trace_for_uncaught_exceptions_(false), |
1943 stack_trace_for_uncaught_exceptions_frame_limit_(0), | 1944 stack_trace_for_uncaught_exceptions_frame_limit_(0), |
1944 stack_trace_for_uncaught_exceptions_options_(StackTrace::kOverview), | 1945 stack_trace_for_uncaught_exceptions_options_(StackTrace::kOverview), |
1945 keyed_lookup_cache_(NULL), | 1946 keyed_lookup_cache_(NULL), |
| 1947 context_slot_cache_(NULL), |
1946 descriptor_lookup_cache_(NULL), | 1948 descriptor_lookup_cache_(NULL), |
1947 handle_scope_implementer_(NULL), | 1949 handle_scope_implementer_(NULL), |
1948 unicode_cache_(NULL), | 1950 unicode_cache_(NULL), |
1949 allocator_(FLAG_trace_gc_object_stats | 1951 allocator_(FLAG_trace_gc_object_stats |
1950 ? new VerboseAccountingAllocator(&heap_, 256 * KB) | 1952 ? new VerboseAccountingAllocator(&heap_, 256 * KB) |
1951 : new base::AccountingAllocator()), | 1953 : new base::AccountingAllocator()), |
1952 runtime_zone_(new Zone(allocator_)), | 1954 runtime_zone_(new Zone(allocator_)), |
1953 interface_descriptor_zone_(new Zone(allocator_)), | 1955 interface_descriptor_zone_(new Zone(allocator_)), |
1954 inner_pointer_to_code_cache_(NULL), | 1956 inner_pointer_to_code_cache_(NULL), |
1955 global_handles_(NULL), | 1957 global_handles_(NULL), |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2163 date_cache_ = NULL; | 2165 date_cache_ = NULL; |
2164 | 2166 |
2165 delete[] call_descriptor_data_; | 2167 delete[] call_descriptor_data_; |
2166 call_descriptor_data_ = NULL; | 2168 call_descriptor_data_ = NULL; |
2167 | 2169 |
2168 delete regexp_stack_; | 2170 delete regexp_stack_; |
2169 regexp_stack_ = NULL; | 2171 regexp_stack_ = NULL; |
2170 | 2172 |
2171 delete descriptor_lookup_cache_; | 2173 delete descriptor_lookup_cache_; |
2172 descriptor_lookup_cache_ = NULL; | 2174 descriptor_lookup_cache_ = NULL; |
| 2175 delete context_slot_cache_; |
| 2176 context_slot_cache_ = NULL; |
2173 delete keyed_lookup_cache_; | 2177 delete keyed_lookup_cache_; |
2174 keyed_lookup_cache_ = NULL; | 2178 keyed_lookup_cache_ = NULL; |
2175 | 2179 |
2176 delete load_stub_cache_; | 2180 delete load_stub_cache_; |
2177 load_stub_cache_ = NULL; | 2181 load_stub_cache_ = NULL; |
2178 delete store_stub_cache_; | 2182 delete store_stub_cache_; |
2179 store_stub_cache_ = NULL; | 2183 store_stub_cache_ = NULL; |
2180 delete code_aging_helper_; | 2184 delete code_aging_helper_; |
2181 code_aging_helper_ = NULL; | 2185 code_aging_helper_ = NULL; |
2182 delete stats_table_; | 2186 delete stats_table_; |
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2313 heap_.SetStackLimits(); | 2317 heap_.SetStackLimits(); |
2314 | 2318 |
2315 #define ASSIGN_ELEMENT(CamelName, hacker_name) \ | 2319 #define ASSIGN_ELEMENT(CamelName, hacker_name) \ |
2316 isolate_addresses_[Isolate::k##CamelName##Address] = \ | 2320 isolate_addresses_[Isolate::k##CamelName##Address] = \ |
2317 reinterpret_cast<Address>(hacker_name##_address()); | 2321 reinterpret_cast<Address>(hacker_name##_address()); |
2318 FOR_EACH_ISOLATE_ADDRESS_NAME(ASSIGN_ELEMENT) | 2322 FOR_EACH_ISOLATE_ADDRESS_NAME(ASSIGN_ELEMENT) |
2319 #undef ASSIGN_ELEMENT | 2323 #undef ASSIGN_ELEMENT |
2320 | 2324 |
2321 compilation_cache_ = new CompilationCache(this); | 2325 compilation_cache_ = new CompilationCache(this); |
2322 keyed_lookup_cache_ = new KeyedLookupCache(); | 2326 keyed_lookup_cache_ = new KeyedLookupCache(); |
| 2327 context_slot_cache_ = new ContextSlotCache(); |
2323 descriptor_lookup_cache_ = new DescriptorLookupCache(); | 2328 descriptor_lookup_cache_ = new DescriptorLookupCache(); |
2324 unicode_cache_ = new UnicodeCache(); | 2329 unicode_cache_ = new UnicodeCache(); |
2325 inner_pointer_to_code_cache_ = new InnerPointerToCodeCache(this); | 2330 inner_pointer_to_code_cache_ = new InnerPointerToCodeCache(this); |
2326 global_handles_ = new GlobalHandles(this); | 2331 global_handles_ = new GlobalHandles(this); |
2327 eternal_handles_ = new EternalHandles(); | 2332 eternal_handles_ = new EternalHandles(); |
2328 bootstrapper_ = new Bootstrapper(this); | 2333 bootstrapper_ = new Bootstrapper(this); |
2329 handle_scope_implementer_ = new HandleScopeImplementer(this); | 2334 handle_scope_implementer_ = new HandleScopeImplementer(this); |
2330 load_stub_cache_ = new StubCache(this, Code::LOAD_IC); | 2335 load_stub_cache_ = new StubCache(this, Code::LOAD_IC); |
2331 store_stub_cache_ = new StubCache(this, Code::STORE_IC); | 2336 store_stub_cache_ = new StubCache(this, Code::STORE_IC); |
2332 materialized_object_store_ = new MaterializedObjectStore(this); | 2337 materialized_object_store_ = new MaterializedObjectStore(this); |
(...skipping 841 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3174 // Then check whether this scope intercepts. | 3179 // Then check whether this scope intercepts. |
3175 if ((flag & intercept_mask_)) { | 3180 if ((flag & intercept_mask_)) { |
3176 intercepted_flags_ |= flag; | 3181 intercepted_flags_ |= flag; |
3177 return true; | 3182 return true; |
3178 } | 3183 } |
3179 return false; | 3184 return false; |
3180 } | 3185 } |
3181 | 3186 |
3182 } // namespace internal | 3187 } // namespace internal |
3183 } // namespace v8 | 3188 } // namespace v8 |
OLD | NEW |