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

Side by Side Diff: src/bootstrapper.cc

Issue 3764011: Link all global contexts into a weak list. (Closed)
Patch Set: Created 10 years, 2 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 | « no previous file | src/contexts.h » ('j') | src/contexts.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. 1 // Copyright 2006-2008 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 1796 matching lines...) Expand 10 before | Expand all | Expand 10 after
1807 InstallJSFunctionResultCaches(); 1807 InstallJSFunctionResultCaches();
1808 InitializeNormalizedMapCaches(); 1808 InitializeNormalizedMapCaches();
1809 if (!InstallNatives()) return; 1809 if (!InstallNatives()) return;
1810 1810
1811 MakeFunctionInstancePrototypeWritable(); 1811 MakeFunctionInstancePrototypeWritable();
1812 1812
1813 if (!ConfigureGlobalObjects(global_template)) return; 1813 if (!ConfigureGlobalObjects(global_template)) return;
1814 i::Counters::contexts_created_from_scratch.Increment(); 1814 i::Counters::contexts_created_from_scratch.Increment();
1815 } 1815 }
1816 1816
1817 // Add this context to the weak list of global contexts.
1818 (*global_context_)->set(Context::NEXT_CONTEXT_LINK,
1819 Heap::global_contexts_list());
1820 Heap::set_global_contexts_list(*global_context_);
1821
1817 result_ = global_context_; 1822 result_ = global_context_;
1818 } 1823 }
1819 1824
1820 1825
1821 // Support for thread preemption. 1826 // Support for thread preemption.
1822 1827
1823 // Reserve space for statics needing saving and restoring. 1828 // Reserve space for statics needing saving and restoring.
1824 int Bootstrapper::ArchiveSpacePerThread() { 1829 int Bootstrapper::ArchiveSpacePerThread() {
1825 return BootstrapperActive::ArchiveSpacePerThread(); 1830 return BootstrapperActive::ArchiveSpacePerThread();
1826 } 1831 }
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1858 } 1863 }
1859 1864
1860 1865
1861 // Restore statics that are thread local. 1866 // Restore statics that are thread local.
1862 char* BootstrapperActive::RestoreState(char* from) { 1867 char* BootstrapperActive::RestoreState(char* from) {
1863 nesting_ = *reinterpret_cast<int*>(from); 1868 nesting_ = *reinterpret_cast<int*>(from);
1864 return from + sizeof(nesting_); 1869 return from + sizeof(nesting_);
1865 } 1870 }
1866 1871
1867 } } // namespace v8::internal 1872 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « no previous file | src/contexts.h » ('j') | src/contexts.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698