Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(288)

Side by Side Diff: src/isolate.cc

Issue 1003363003: Serializer: cache hashmaps on the isolate. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: remove bogus test. rebased Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/isolate.h ('k') | src/serialize.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 <stdlib.h> 5 #include <stdlib.h>
6 6
7 #include <fstream> // NOLINT(readability/streams) 7 #include <fstream> // NOLINT(readability/streams)
8 #include <sstream> 8 #include <sstream>
9 9
10 #include "src/v8.h" 10 #include "src/v8.h"
(...skipping 1780 matching lines...) Expand 10 before | Expand all | Expand 10 after
1791 SetIsolateThreadLocals(saved_isolate, saved_data); 1791 SetIsolateThreadLocals(saved_isolate, saved_data);
1792 } 1792 }
1793 1793
1794 1794
1795 void Isolate::GlobalTearDown() { 1795 void Isolate::GlobalTearDown() {
1796 delete thread_data_table_; 1796 delete thread_data_table_;
1797 thread_data_table_ = NULL; 1797 thread_data_table_ = NULL;
1798 } 1798 }
1799 1799
1800 1800
1801 void Isolate::ClearSerializerData() {
1802 delete external_reference_table_;
1803 external_reference_table_ = NULL;
1804 delete external_reference_map_;
1805 external_reference_map_ = NULL;
1806 delete root_index_map_;
1807 root_index_map_ = NULL;
1808 }
1809
1810
1801 void Isolate::Deinit() { 1811 void Isolate::Deinit() {
1802 TRACE_ISOLATE(deinit); 1812 TRACE_ISOLATE(deinit);
1803 1813
1804 debug()->Unload(); 1814 debug()->Unload();
1805 1815
1806 FreeThreadResources(); 1816 FreeThreadResources();
1807 1817
1808 if (concurrent_recompilation_enabled()) { 1818 if (concurrent_recompilation_enabled()) {
1809 optimizing_compiler_thread_->Stop(); 1819 optimizing_compiler_thread_->Stop();
1810 delete optimizing_compiler_thread_; 1820 delete optimizing_compiler_thread_;
(...skipping 27 matching lines...) Expand all
1838 delete basic_block_profiler_; 1848 delete basic_block_profiler_;
1839 basic_block_profiler_ = NULL; 1849 basic_block_profiler_ = NULL;
1840 1850
1841 heap_.TearDown(); 1851 heap_.TearDown();
1842 logger_->TearDown(); 1852 logger_->TearDown();
1843 1853
1844 delete heap_profiler_; 1854 delete heap_profiler_;
1845 heap_profiler_ = NULL; 1855 heap_profiler_ = NULL;
1846 delete cpu_profiler_; 1856 delete cpu_profiler_;
1847 cpu_profiler_ = NULL; 1857 cpu_profiler_ = NULL;
1858
1859 ClearSerializerData();
1848 } 1860 }
1849 1861
1850 1862
1851 void Isolate::SetIsolateThreadLocals(Isolate* isolate, 1863 void Isolate::SetIsolateThreadLocals(Isolate* isolate,
1852 PerIsolateThreadData* data) { 1864 PerIsolateThreadData* data) {
1853 base::Thread::SetThreadLocal(isolate_key_, isolate); 1865 base::Thread::SetThreadLocal(isolate_key_, isolate);
1854 base::Thread::SetThreadLocal(per_isolate_thread_data_key_, data); 1866 base::Thread::SetThreadLocal(per_isolate_thread_data_key_, data);
1855 } 1867 }
1856 1868
1857 1869
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
1926 delete code_range_; 1938 delete code_range_;
1927 code_range_ = NULL; 1939 code_range_ = NULL;
1928 delete global_handles_; 1940 delete global_handles_;
1929 global_handles_ = NULL; 1941 global_handles_ = NULL;
1930 delete eternal_handles_; 1942 delete eternal_handles_;
1931 eternal_handles_ = NULL; 1943 eternal_handles_ = NULL;
1932 1944
1933 delete string_stream_debug_object_cache_; 1945 delete string_stream_debug_object_cache_;
1934 string_stream_debug_object_cache_ = NULL; 1946 string_stream_debug_object_cache_ = NULL;
1935 1947
1936 delete external_reference_table_;
1937 external_reference_table_ = NULL;
1938
1939 delete random_number_generator_; 1948 delete random_number_generator_;
1940 random_number_generator_ = NULL; 1949 random_number_generator_ = NULL;
1941 1950
1942 delete debug_; 1951 delete debug_;
1943 debug_ = NULL; 1952 debug_ = NULL;
1944 } 1953 }
1945 1954
1946 1955
1947 void Isolate::InitializeThreadLocal() { 1956 void Isolate::InitializeThreadLocal() {
1948 thread_local_top_.isolate_ = this; 1957 thread_local_top_.isolate_ = this;
(...skipping 684 matching lines...) Expand 10 before | Expand all | Expand 10 after
2633 if (prev_ && prev_->Intercept(flag)) return true; 2642 if (prev_ && prev_->Intercept(flag)) return true;
2634 // Then check whether this scope intercepts. 2643 // Then check whether this scope intercepts.
2635 if ((flag & intercept_mask_)) { 2644 if ((flag & intercept_mask_)) {
2636 intercepted_flags_ |= flag; 2645 intercepted_flags_ |= flag;
2637 return true; 2646 return true;
2638 } 2647 }
2639 return false; 2648 return false;
2640 } 2649 }
2641 2650
2642 } } // namespace v8::internal 2651 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/isolate.h ('k') | src/serialize.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698