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 /** \mainpage V8 API Reference Guide | 5 /** \mainpage V8 API Reference Guide |
6 * | 6 * |
7 * V8 is Google's open source JavaScript engine. | 7 * V8 is Google's open source JavaScript engine. |
8 * | 8 * |
9 * This set of documents provides reference material generated from the | 9 * This set of documents provides reference material generated from the |
10 * V8 header file, include/v8.h. | 10 * V8 header file, include/v8.h. |
(...skipping 4315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
4326 | 4326 |
4327 | 4327 |
4328 /** | 4328 /** |
4329 * Callback function passed to SetJitCodeEventHandler. | 4329 * Callback function passed to SetJitCodeEventHandler. |
4330 * | 4330 * |
4331 * \param event code add, move or removal event. | 4331 * \param event code add, move or removal event. |
4332 */ | 4332 */ |
4333 typedef void (*JitCodeEventHandler)(const JitCodeEvent* event); | 4333 typedef void (*JitCodeEventHandler)(const JitCodeEvent* event); |
4334 | 4334 |
4335 | 4335 |
4336 #ifdef _WIN64 | |
4337 /** | |
4338 * A windows exception filter for exceptions occurring in jitted code. The | |
4339 * return value determines how the exception should be handled, following | |
4340 * standard SEH rules. However, the expected behavior for this function is to | |
4341 * not return, instead of return EXCEPTION_EXECUTE_HANDLER or similar, given | |
4342 * that in general we are not prepared to handle exceptions. | |
4343 */ | |
4344 typedef int (__cdecl *WinExceptionFilter)(void* exception_pointers); | |
4345 #endif | |
cpu_(ooo_6.6-7.5)
2014/09/26 17:03:51
__cdecl ? are you sure?
jochen (gone - plz use gerrit)
2014/09/26 17:25:30
yes, see https://code.google.com/p/chromium/codese
cpu_(ooo_6.6-7.5)
2014/09/26 20:35:31
Acknowledged.
| |
4346 | |
4347 | |
4336 /** | 4348 /** |
4337 * Isolate represents an isolated instance of the V8 engine. V8 isolates have | 4349 * Isolate represents an isolated instance of the V8 engine. V8 isolates have |
4338 * completely separate states. Objects from one isolate must not be used in | 4350 * completely separate states. Objects from one isolate must not be used in |
4339 * other isolates. The embedder can create multiple isolates and use them in | 4351 * other isolates. The embedder can create multiple isolates and use them in |
4340 * parallel in multiple threads. An isolate can be entered by at most one | 4352 * parallel in multiple threads. An isolate can be entered by at most one |
4341 * thread at any given time. The Locker/Unlocker API must be used to | 4353 * thread at any given time. The Locker/Unlocker API must be used to |
4342 * synchronize. | 4354 * synchronize. |
4343 */ | 4355 */ |
4344 class V8_EXPORT Isolate { | 4356 class V8_EXPORT Isolate { |
4345 public: | 4357 public: |
4346 /** | 4358 /** |
4347 * Initial configuration parameters for a new Isolate. | 4359 * Initial configuration parameters for a new Isolate. |
4348 */ | 4360 */ |
4349 struct CreateParams { | 4361 struct CreateParams { |
4350 CreateParams() | 4362 CreateParams() |
4351 : entry_hook(NULL), | 4363 : entry_hook(NULL), |
4352 code_event_handler(NULL), | 4364 code_event_handler(NULL), |
4365 #ifdef _WIN64 | |
4366 exception_filter(NULL), | |
4367 #endif | |
4353 enable_serializer(false) {} | 4368 enable_serializer(false) {} |
4354 | 4369 |
4355 /** | 4370 /** |
4356 * The optional entry_hook allows the host application to provide the | 4371 * The optional entry_hook allows the host application to provide the |
4357 * address of a function that's invoked on entry to every V8-generated | 4372 * address of a function that's invoked on entry to every V8-generated |
4358 * function. Note that entry_hook is invoked at the very start of each | 4373 * function. Note that entry_hook is invoked at the very start of each |
4359 * generated function. Furthermore, if an entry_hook is given, V8 will | 4374 * generated function. Furthermore, if an entry_hook is given, V8 will |
4360 * always run without a context snapshot. | 4375 * always run without a context snapshot. |
4361 */ | 4376 */ |
4362 FunctionEntryHook entry_hook; | 4377 FunctionEntryHook entry_hook; |
4363 | 4378 |
4364 /** | 4379 /** |
4365 * Allows the host application to provide the address of a function that is | 4380 * Allows the host application to provide the address of a function that is |
4366 * notified each time code is added, moved or removed. | 4381 * notified each time code is added, moved or removed. |
4367 */ | 4382 */ |
4368 JitCodeEventHandler code_event_handler; | 4383 JitCodeEventHandler code_event_handler; |
4369 | 4384 |
4370 /** | 4385 /** |
4371 * ResourceConstraints to use for the new Isolate. | 4386 * ResourceConstraints to use for the new Isolate. |
4372 */ | 4387 */ |
4373 ResourceConstraints constraints; | 4388 ResourceConstraints constraints; |
4374 | 4389 |
4390 #ifdef _WIN64 | |
4391 /** | |
4392 * An exception filter that will be invoked when exceptions occur in | |
4393 * jitted code. | |
4394 */ | |
4395 WinExceptionFilter exception_filter; | |
4396 #endif | |
4397 | |
4375 /** | 4398 /** |
4376 * This flag currently renders the Isolate unusable. | 4399 * This flag currently renders the Isolate unusable. |
4377 */ | 4400 */ |
4378 bool enable_serializer; | 4401 bool enable_serializer; |
4379 }; | 4402 }; |
4380 | 4403 |
4381 | 4404 |
4382 /** | 4405 /** |
4383 * Stack-allocated class which sets the isolate for all operations | 4406 * Stack-allocated class which sets the isolate for all operations |
4384 * executed within a local scope. | 4407 * executed within a local scope. |
(...skipping 2564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
6949 */ | 6972 */ |
6950 | 6973 |
6951 | 6974 |
6952 } // namespace v8 | 6975 } // namespace v8 |
6953 | 6976 |
6954 | 6977 |
6955 #undef TYPE_CHECK | 6978 #undef TYPE_CHECK |
6956 | 6979 |
6957 | 6980 |
6958 #endif // V8_H_ | 6981 #endif // V8_H_ |
OLD | NEW |