OLD | NEW |
---|---|
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 "src/api.h" | 5 #include "src/api.h" |
6 | 6 |
7 #include <string.h> // For memcpy, strlen. | 7 #include <string.h> // For memcpy, strlen. |
8 #ifdef V8_USE_ADDRESS_SANITIZER | 8 #ifdef V8_USE_ADDRESS_SANITIZER |
9 #include <sanitizer/asan_interface.h> | 9 #include <sanitizer/asan_interface.h> |
10 #endif // V8_USE_ADDRESS_SANITIZER | 10 #endif // V8_USE_ADDRESS_SANITIZER |
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
385 { | 385 { |
386 HandleScope scope(isolate); | 386 HandleScope scope(isolate); |
387 for (int i = 0; i < i::Natives::GetBuiltinsCount(); i++) { | 387 for (int i = 0; i < i::Natives::GetBuiltinsCount(); i++) { |
388 internal_isolate->bootstrapper()->SourceLookup<i::Natives>(i); | 388 internal_isolate->bootstrapper()->SourceLookup<i::Natives>(i); |
389 } | 389 } |
390 } | 390 } |
391 // If we don't do this then we end up with a stray root pointing at the | 391 // If we don't do this then we end up with a stray root pointing at the |
392 // context even after we have disposed of the context. | 392 // context even after we have disposed of the context. |
393 internal_isolate->heap()->CollectAllAvailableGarbage("mksnapshot"); | 393 internal_isolate->heap()->CollectAllAvailableGarbage("mksnapshot"); |
394 i::Object* raw_context = *v8::Utils::OpenPersistent(context); | 394 i::Object* raw_context = *v8::Utils::OpenPersistent(context); |
395 | |
jochen (gone - plz use gerrit)
2015/08/05 11:39:46
nit. remove
| |
395 context.Reset(); | 396 context.Reset(); |
396 | 397 |
397 i::SnapshotByteSink snapshot_sink; | 398 i::SnapshotByteSink snapshot_sink; |
398 i::StartupSerializer ser(internal_isolate, &snapshot_sink); | 399 i::StartupSerializer ser(internal_isolate, &snapshot_sink); |
399 ser.SerializeStrongReferences(); | 400 ser.SerializeStrongReferences(); |
400 | 401 |
401 i::SnapshotByteSink context_sink; | 402 i::SnapshotByteSink context_sink; |
402 i::PartialSerializer context_ser(internal_isolate, &ser, &context_sink); | 403 i::PartialSerializer context_ser(internal_isolate, &ser, &context_sink); |
403 context_ser.Serialize(&raw_context); | 404 context_ser.Serialize(&raw_context); |
404 ser.SerializeWeakReferencesAndDeferred(); | 405 ser.SerializeWeakReferencesAndDeferred(); |
(...skipping 7998 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
8403 Address callback_address = | 8404 Address callback_address = |
8404 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); | 8405 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); |
8405 VMState<EXTERNAL> state(isolate); | 8406 VMState<EXTERNAL> state(isolate); |
8406 ExternalCallbackScope call_scope(isolate, callback_address); | 8407 ExternalCallbackScope call_scope(isolate, callback_address); |
8407 callback(info); | 8408 callback(info); |
8408 } | 8409 } |
8409 | 8410 |
8410 | 8411 |
8411 } // namespace internal | 8412 } // namespace internal |
8412 } // namespace v8 | 8413 } // namespace v8 |
OLD | NEW |