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

Side by Side Diff: src/isolate.cc

Issue 523583002: Multiple stubs can point to the same calling convention. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Ports. Created 6 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « src/interface-descriptors.cc ('k') | src/x64/code-stubs-x64.cc » ('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 "src/v8.h" 7 #include "src/v8.h"
8 8
9 #include "src/ast.h" 9 #include "src/ast.h"
10 #include "src/base/platform/platform.h" 10 #include "src/base/platform/platform.h"
(...skipping 1902 matching lines...) Expand 10 before | Expand all | Expand 10 after
1913 1913
1914 // SetUp the object heap. 1914 // SetUp the object heap.
1915 DCHECK(!heap_.HasBeenSetUp()); 1915 DCHECK(!heap_.HasBeenSetUp());
1916 if (!heap_.SetUp()) { 1916 if (!heap_.SetUp()) {
1917 V8::FatalProcessOutOfMemory("heap setup"); 1917 V8::FatalProcessOutOfMemory("heap setup");
1918 return false; 1918 return false;
1919 } 1919 }
1920 1920
1921 deoptimizer_data_ = new DeoptimizerData(memory_allocator_); 1921 deoptimizer_data_ = new DeoptimizerData(memory_allocator_);
1922 1922
1923 CallDescriptors::InitializeForIsolate(this);
1924
1923 const bool create_heap_objects = (des == NULL); 1925 const bool create_heap_objects = (des == NULL);
1924 if (create_heap_objects && !heap_.CreateHeapObjects()) { 1926 if (create_heap_objects && !heap_.CreateHeapObjects()) {
1925 V8::FatalProcessOutOfMemory("heap object creation"); 1927 V8::FatalProcessOutOfMemory("heap object creation");
1926 return false; 1928 return false;
1927 } 1929 }
1928 1930
1929 if (create_heap_objects) { 1931 if (create_heap_objects) {
1930 // Terminate the cache array with the sentinel so we can iterate. 1932 // Terminate the cache array with the sentinel so we can iterate.
1931 PushToPartialSnapshotCache(heap_.undefined_value()); 1933 PushToPartialSnapshotCache(heap_.undefined_value());
1932 } 1934 }
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
2023 // Now that the heap is consistent, it's OK to generate the code for the 2025 // Now that the heap is consistent, it's OK to generate the code for the
2024 // deopt entry table that might have been referred to by optimized code in 2026 // deopt entry table that might have been referred to by optimized code in
2025 // the snapshot. 2027 // the snapshot.
2026 HandleScope scope(this); 2028 HandleScope scope(this);
2027 Deoptimizer::EnsureCodeForDeoptimizationEntry( 2029 Deoptimizer::EnsureCodeForDeoptimizationEntry(
2028 this, 2030 this,
2029 Deoptimizer::LAZY, 2031 Deoptimizer::LAZY,
2030 kDeoptTableSerializeEntryCount - 1); 2032 kDeoptTableSerializeEntryCount - 1);
2031 } 2033 }
2032 2034
2033 CallDescriptors::InitializeForIsolate(this);
2034
2035 if (!serializer_enabled()) { 2035 if (!serializer_enabled()) {
2036 // Ensure that all stubs which need to be generated ahead of time, but 2036 // Ensure that all stubs which need to be generated ahead of time, but
2037 // cannot be serialized into the snapshot have been generated. 2037 // cannot be serialized into the snapshot have been generated.
2038 HandleScope scope(this); 2038 HandleScope scope(this);
2039 CodeStub::GenerateFPStubs(this); 2039 CodeStub::GenerateFPStubs(this);
2040 StoreBufferOverflowStub::GenerateFixedRegStubsAheadOfTime(this); 2040 StoreBufferOverflowStub::GenerateFixedRegStubsAheadOfTime(this);
2041 StubFailureTrampolineStub::GenerateAheadOfTime(this); 2041 StubFailureTrampolineStub::GenerateAheadOfTime(this);
2042 // Ensure interface descriptors are initialized even when stubs have been 2042 // Ensure interface descriptors are initialized even when stubs have been
2043 // deserialized out of the snapshot without using the graph builder. 2043 // deserialized out of the snapshot without using the graph builder.
2044 FastCloneShallowArrayStub::InstallDescriptors(this); 2044 FastCloneShallowArrayStub::InstallDescriptors(this);
(...skipping 372 matching lines...) Expand 10 before | Expand all | Expand 10 after
2417 if (prev_ && prev_->Intercept(flag)) return true; 2417 if (prev_ && prev_->Intercept(flag)) return true;
2418 // Then check whether this scope intercepts. 2418 // Then check whether this scope intercepts.
2419 if ((flag & intercept_mask_)) { 2419 if ((flag & intercept_mask_)) {
2420 intercepted_flags_ |= flag; 2420 intercepted_flags_ |= flag;
2421 return true; 2421 return true;
2422 } 2422 }
2423 return false; 2423 return false;
2424 } 2424 }
2425 2425
2426 } } // namespace v8::internal 2426 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/interface-descriptors.cc ('k') | src/x64/code-stubs-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698