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 1823 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1834 v8::Locker::StopPreemption(); | 1834 v8::Locker::StopPreemption(); |
1835 } | 1835 } |
1836 builtins_.TearDown(); | 1836 builtins_.TearDown(); |
1837 bootstrapper_->TearDown(); | 1837 bootstrapper_->TearDown(); |
1838 | 1838 |
1839 // Remove the external reference to the preallocated stack memory. | 1839 // Remove the external reference to the preallocated stack memory. |
1840 delete preallocated_message_space_; | 1840 delete preallocated_message_space_; |
1841 preallocated_message_space_ = NULL; | 1841 preallocated_message_space_ = NULL; |
1842 PreallocatedMemoryThreadStop(); | 1842 PreallocatedMemoryThreadStop(); |
1843 | 1843 |
1844 delete heap_profiler_; | |
1845 heap_profiler_ = NULL; | |
1846 delete cpu_profiler_; | |
1847 cpu_profiler_ = NULL; | |
1848 | |
1849 if (runtime_profiler_ != NULL) { | 1844 if (runtime_profiler_ != NULL) { |
1850 runtime_profiler_->TearDown(); | 1845 runtime_profiler_->TearDown(); |
1851 delete runtime_profiler_; | 1846 delete runtime_profiler_; |
1852 runtime_profiler_ = NULL; | 1847 runtime_profiler_ = NULL; |
1853 } | 1848 } |
1854 heap_.TearDown(); | 1849 heap_.TearDown(); |
1855 logger_->TearDown(); | 1850 logger_->TearDown(); |
1856 | 1851 |
| 1852 delete heap_profiler_; |
| 1853 heap_profiler_ = NULL; |
| 1854 delete cpu_profiler_; |
| 1855 cpu_profiler_ = NULL; |
| 1856 |
1857 // The default isolate is re-initializable due to legacy API. | 1857 // The default isolate is re-initializable due to legacy API. |
1858 state_ = UNINITIALIZED; | 1858 state_ = UNINITIALIZED; |
1859 } | 1859 } |
1860 } | 1860 } |
1861 | 1861 |
1862 | 1862 |
1863 void Isolate::PushToPartialSnapshotCache(Object* obj) { | 1863 void Isolate::PushToPartialSnapshotCache(Object* obj) { |
1864 int length = serialize_partial_snapshot_cache_length(); | 1864 int length = serialize_partial_snapshot_cache_length(); |
1865 int capacity = serialize_partial_snapshot_cache_capacity(); | 1865 int capacity = serialize_partial_snapshot_cache_capacity(); |
1866 | 1866 |
(...skipping 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2063 write_iterator_ = new ConsStringIteratorOp(); | 2063 write_iterator_ = new ConsStringIteratorOp(); |
2064 global_handles_ = new GlobalHandles(this); | 2064 global_handles_ = new GlobalHandles(this); |
2065 bootstrapper_ = new Bootstrapper(this); | 2065 bootstrapper_ = new Bootstrapper(this); |
2066 handle_scope_implementer_ = new HandleScopeImplementer(this); | 2066 handle_scope_implementer_ = new HandleScopeImplementer(this); |
2067 stub_cache_ = new StubCache(this, runtime_zone()); | 2067 stub_cache_ = new StubCache(this, runtime_zone()); |
2068 regexp_stack_ = new RegExpStack(); | 2068 regexp_stack_ = new RegExpStack(); |
2069 regexp_stack_->isolate_ = this; | 2069 regexp_stack_->isolate_ = this; |
2070 date_cache_ = new DateCache(); | 2070 date_cache_ = new DateCache(); |
2071 code_stub_interface_descriptors_ = | 2071 code_stub_interface_descriptors_ = |
2072 new CodeStubInterfaceDescriptor[CodeStub::NUMBER_OF_IDS]; | 2072 new CodeStubInterfaceDescriptor[CodeStub::NUMBER_OF_IDS]; |
| 2073 cpu_profiler_ = new CpuProfiler(this); |
| 2074 heap_profiler_ = new HeapProfiler(heap()); |
2073 | 2075 |
2074 // Enable logging before setting up the heap | 2076 // Enable logging before setting up the heap |
2075 logger_->SetUp(); | 2077 logger_->SetUp(); |
2076 | 2078 |
2077 cpu_profiler_ = new CpuProfiler(this); | |
2078 heap_profiler_ = new HeapProfiler(heap()); | |
2079 | |
2080 // Initialize other runtime facilities | 2079 // Initialize other runtime facilities |
2081 #if defined(USE_SIMULATOR) | 2080 #if defined(USE_SIMULATOR) |
2082 #if defined(V8_TARGET_ARCH_ARM) || defined(V8_TARGET_ARCH_MIPS) | 2081 #if defined(V8_TARGET_ARCH_ARM) || defined(V8_TARGET_ARCH_MIPS) |
2083 Simulator::Initialize(this); | 2082 Simulator::Initialize(this); |
2084 #endif | 2083 #endif |
2085 #endif | 2084 #endif |
2086 | 2085 |
2087 { // NOLINT | 2086 { // NOLINT |
2088 // Ensure that the thread has a valid stack guard. The v8::Locker object | 2087 // Ensure that the thread has a valid stack guard. The v8::Locker object |
2089 // will ensure this too, but we don't have to use lockers if we are only | 2088 // will ensure this too, but we don't have to use lockers if we are only |
(...skipping 317 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2407 | 2406 |
2408 #ifdef DEBUG | 2407 #ifdef DEBUG |
2409 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \ | 2408 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \ |
2410 const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_); | 2409 const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_); |
2411 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET) | 2410 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET) |
2412 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) | 2411 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) |
2413 #undef ISOLATE_FIELD_OFFSET | 2412 #undef ISOLATE_FIELD_OFFSET |
2414 #endif | 2413 #endif |
2415 | 2414 |
2416 } } // namespace v8::internal | 2415 } } // namespace v8::internal |
OLD | NEW |