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 2159 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2170 Deoptimizer::EnsureCodeForDeoptimizationEntry( | 2170 Deoptimizer::EnsureCodeForDeoptimizationEntry( |
2171 this, | 2171 this, |
2172 Deoptimizer::LAZY, | 2172 Deoptimizer::LAZY, |
2173 kDeoptTableSerializeEntryCount - 1); | 2173 kDeoptTableSerializeEntryCount - 1); |
2174 } | 2174 } |
2175 | 2175 |
2176 if (!Serializer::enabled()) { | 2176 if (!Serializer::enabled()) { |
2177 // Ensure that all stubs which need to be generated ahead of time, but | 2177 // Ensure that all stubs which need to be generated ahead of time, but |
2178 // cannot be serialized into the snapshot have been generated. | 2178 // cannot be serialized into the snapshot have been generated. |
2179 HandleScope scope(this); | 2179 HandleScope scope(this); |
| 2180 CodeStub::GenerateFPStubs(this); |
2180 StoreBufferOverflowStub::GenerateFixedRegStubsAheadOfTime(this); | 2181 StoreBufferOverflowStub::GenerateFixedRegStubsAheadOfTime(this); |
2181 CodeStub::GenerateFPStubs(this); | |
2182 StubFailureTrampolineStub::GenerateAheadOfTime(this); | 2182 StubFailureTrampolineStub::GenerateAheadOfTime(this); |
| 2183 // TODO(mstarzinger): The following is an ugly hack to make sure the |
| 2184 // interface descriptor is initialized even when stubs have been |
| 2185 // deserialized out of the snapshot without the graph builder. |
| 2186 FastCloneShallowArrayStub stub(FastCloneShallowArrayStub::CLONE_ELEMENTS, |
| 2187 DONT_TRACK_ALLOCATION_SITE, 0); |
| 2188 stub.InitializeInterfaceDescriptor( |
| 2189 this, code_stub_interface_descriptor(CodeStub::FastCloneShallowArray)); |
2183 } | 2190 } |
2184 | 2191 |
2185 if (FLAG_parallel_recompilation) optimizing_compiler_thread_.Start(); | 2192 if (FLAG_parallel_recompilation) optimizing_compiler_thread_.Start(); |
2186 | 2193 |
2187 if (FLAG_parallel_marking && FLAG_marking_threads == 0) { | 2194 if (FLAG_parallel_marking && FLAG_marking_threads == 0) { |
2188 FLAG_marking_threads = SystemThreadManager:: | 2195 FLAG_marking_threads = SystemThreadManager:: |
2189 NumberOfParallelSystemThreads( | 2196 NumberOfParallelSystemThreads( |
2190 SystemThreadManager::PARALLEL_MARKING); | 2197 SystemThreadManager::PARALLEL_MARKING); |
2191 } | 2198 } |
2192 if (FLAG_marking_threads > 0) { | 2199 if (FLAG_marking_threads > 0) { |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2385 | 2392 |
2386 #ifdef DEBUG | 2393 #ifdef DEBUG |
2387 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \ | 2394 #define ISOLATE_FIELD_OFFSET(type, name, ignored) \ |
2388 const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_); | 2395 const intptr_t Isolate::name##_debug_offset_ = OFFSET_OF(Isolate, name##_); |
2389 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET) | 2396 ISOLATE_INIT_LIST(ISOLATE_FIELD_OFFSET) |
2390 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) | 2397 ISOLATE_INIT_ARRAY_LIST(ISOLATE_FIELD_OFFSET) |
2391 #undef ISOLATE_FIELD_OFFSET | 2398 #undef ISOLATE_FIELD_OFFSET |
2392 #endif | 2399 #endif |
2393 | 2400 |
2394 } } // namespace v8::internal | 2401 } } // namespace v8::internal |
OLD | NEW |