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/ast-value-factory.h" | |
13 #include "src/ast/context-slot-cache.h" | 12 #include "src/ast/context-slot-cache.h" |
14 #include "src/base/hashmap.h" | 13 #include "src/base/hashmap.h" |
15 #include "src/base/platform/platform.h" | 14 #include "src/base/platform/platform.h" |
16 #include "src/base/sys-info.h" | 15 #include "src/base/sys-info.h" |
17 #include "src/base/utils/random-number-generator.h" | 16 #include "src/base/utils/random-number-generator.h" |
18 #include "src/basic-block-profiler.h" | 17 #include "src/basic-block-profiler.h" |
19 #include "src/bootstrapper.h" | 18 #include "src/bootstrapper.h" |
20 #include "src/cancelable-task.h" | 19 #include "src/cancelable-task.h" |
21 #include "src/codegen.h" | 20 #include "src/codegen.h" |
22 #include "src/compilation-cache.h" | 21 #include "src/compilation-cache.h" |
(...skipping 2346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2369 compiler_dispatcher_ = nullptr; | 2368 compiler_dispatcher_ = nullptr; |
2370 | 2369 |
2371 cancelable_task_manager()->CancelAndWait(); | 2370 cancelable_task_manager()->CancelAndWait(); |
2372 | 2371 |
2373 heap_.TearDown(); | 2372 heap_.TearDown(); |
2374 logger_->TearDown(); | 2373 logger_->TearDown(); |
2375 | 2374 |
2376 delete interpreter_; | 2375 delete interpreter_; |
2377 interpreter_ = NULL; | 2376 interpreter_ = NULL; |
2378 | 2377 |
2379 delete ast_string_constants_; | |
2380 ast_string_constants_ = nullptr; | |
2381 | |
2382 delete cpu_profiler_; | 2378 delete cpu_profiler_; |
2383 cpu_profiler_ = NULL; | 2379 cpu_profiler_ = NULL; |
2384 | 2380 |
2385 code_event_dispatcher_.reset(); | 2381 code_event_dispatcher_.reset(); |
2386 | 2382 |
2387 delete root_index_map_; | 2383 delete root_index_map_; |
2388 root_index_map_ = NULL; | 2384 root_index_map_ = NULL; |
2389 | 2385 |
2390 ClearSerializerData(); | 2386 ClearSerializerData(); |
2391 } | 2387 } |
(...skipping 303 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2695 Internals::kIsolateEmbedderDataOffset); | 2691 Internals::kIsolateEmbedderDataOffset); |
2696 CHECK_EQ(static_cast<int>(OFFSET_OF(Isolate, heap_.roots_)), | 2692 CHECK_EQ(static_cast<int>(OFFSET_OF(Isolate, heap_.roots_)), |
2697 Internals::kIsolateRootsOffset); | 2693 Internals::kIsolateRootsOffset); |
2698 CHECK_EQ(static_cast<int>(OFFSET_OF(Isolate, heap_.external_memory_)), | 2694 CHECK_EQ(static_cast<int>(OFFSET_OF(Isolate, heap_.external_memory_)), |
2699 Internals::kExternalMemoryOffset); | 2695 Internals::kExternalMemoryOffset); |
2700 CHECK_EQ(static_cast<int>(OFFSET_OF(Isolate, heap_.external_memory_limit_)), | 2696 CHECK_EQ(static_cast<int>(OFFSET_OF(Isolate, heap_.external_memory_limit_)), |
2701 Internals::kExternalMemoryLimitOffset); | 2697 Internals::kExternalMemoryLimitOffset); |
2702 | 2698 |
2703 time_millis_at_init_ = heap_.MonotonicallyIncreasingTimeInMs(); | 2699 time_millis_at_init_ = heap_.MonotonicallyIncreasingTimeInMs(); |
2704 | 2700 |
2705 { | |
2706 HandleScope scope(this); | |
2707 ast_string_constants_ = new AstStringConstants(this, heap()->HashSeed()); | |
2708 } | |
2709 | |
2710 if (!create_heap_objects) { | 2701 if (!create_heap_objects) { |
2711 // Now that the heap is consistent, it's OK to generate the code for the | 2702 // Now that the heap is consistent, it's OK to generate the code for the |
2712 // deopt entry table that might have been referred to by optimized code in | 2703 // deopt entry table that might have been referred to by optimized code in |
2713 // the snapshot. | 2704 // the snapshot. |
2714 HandleScope scope(this); | 2705 HandleScope scope(this); |
2715 Deoptimizer::EnsureCodeForDeoptimizationEntry( | 2706 Deoptimizer::EnsureCodeForDeoptimizationEntry( |
2716 this, Deoptimizer::LAZY, | 2707 this, Deoptimizer::LAZY, |
2717 ExternalReferenceTable::kDeoptTableSerializeEntryCount - 1); | 2708 ExternalReferenceTable::kDeoptTableSerializeEntryCount - 1); |
2718 } | 2709 } |
2719 | 2710 |
(...skipping 940 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3660 // Then check whether this scope intercepts. | 3651 // Then check whether this scope intercepts. |
3661 if ((flag & intercept_mask_)) { | 3652 if ((flag & intercept_mask_)) { |
3662 intercepted_flags_ |= flag; | 3653 intercepted_flags_ |= flag; |
3663 return true; | 3654 return true; |
3664 } | 3655 } |
3665 return false; | 3656 return false; |
3666 } | 3657 } |
3667 | 3658 |
3668 } // namespace internal | 3659 } // namespace internal |
3669 } // namespace v8 | 3660 } // namespace v8 |
OLD | NEW |