| 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 |