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 6564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6575 } | 6575 } |
6576 if (params.code_event_handler) { | 6576 if (params.code_event_handler) { |
6577 isolate->InitializeLoggingAndCounters(); | 6577 isolate->InitializeLoggingAndCounters(); |
6578 isolate->logger()->SetCodeEventHandler(kJitCodeEventDefault, | 6578 isolate->logger()->SetCodeEventHandler(kJitCodeEventDefault, |
6579 params.code_event_handler); | 6579 params.code_event_handler); |
6580 } | 6580 } |
6581 SetResourceConstraints(isolate, params.constraints); | 6581 SetResourceConstraints(isolate, params.constraints); |
6582 if (params.enable_serializer) { | 6582 if (params.enable_serializer) { |
6583 isolate->enable_serializer(); | 6583 isolate->enable_serializer(); |
6584 } | 6584 } |
| 6585 #if _WIN64 |
| 6586 isolate->set_exception_filter(params.exception_filter); |
| 6587 #endif |
6585 // TODO(jochen): Once we got rid of Isolate::Current(), we can remove this. | 6588 // TODO(jochen): Once we got rid of Isolate::Current(), we can remove this. |
6586 Isolate::Scope isolate_scope(v8_isolate); | 6589 Isolate::Scope isolate_scope(v8_isolate); |
6587 if (params.entry_hook || !i::Snapshot::Initialize(isolate)) { | 6590 if (params.entry_hook || !i::Snapshot::Initialize(isolate)) { |
6588 // If the isolate has a function entry hook, it needs to re-build all its | 6591 // If the isolate has a function entry hook, it needs to re-build all its |
6589 // code stubs with entry hooks embedded, so don't deserialize a snapshot. | 6592 // code stubs with entry hooks embedded, so don't deserialize a snapshot. |
6590 isolate->Init(NULL); | 6593 isolate->Init(NULL); |
6591 } | 6594 } |
6592 return v8_isolate; | 6595 return v8_isolate; |
6593 } | 6596 } |
6594 | 6597 |
(...skipping 1061 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7656 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); | 7659 Isolate* isolate = reinterpret_cast<Isolate*>(info.GetIsolate()); |
7657 Address callback_address = | 7660 Address callback_address = |
7658 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); | 7661 reinterpret_cast<Address>(reinterpret_cast<intptr_t>(callback)); |
7659 VMState<EXTERNAL> state(isolate); | 7662 VMState<EXTERNAL> state(isolate); |
7660 ExternalCallbackScope call_scope(isolate, callback_address); | 7663 ExternalCallbackScope call_scope(isolate, callback_address); |
7661 callback(info); | 7664 callback(info); |
7662 } | 7665 } |
7663 | 7666 |
7664 | 7667 |
7665 } } // namespace v8::internal | 7668 } } // namespace v8::internal |
OLD | NEW |