| 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 4326 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4337 | 4337 |
| 4338 /** | 4338 /** |
| 4339 * Callback function passed to SetJitCodeEventHandler. | 4339 * Callback function passed to SetJitCodeEventHandler. |
| 4340 * | 4340 * |
| 4341 * \param event code add, move or removal event. | 4341 * \param event code add, move or removal event. |
| 4342 */ | 4342 */ |
| 4343 typedef void (*JitCodeEventHandler)(const JitCodeEvent* event); | 4343 typedef void (*JitCodeEventHandler)(const JitCodeEvent* event); |
| 4344 | 4344 |
| 4345 | 4345 |
| 4346 /** | 4346 /** |
| 4347 * Isolate represents an isolated instance of the V8 engine. V8 isolates have | 4347 * Isolate represents an isolated instance of the V8 engine. V8 |
| 4348 * completely separate states. Objects from one isolate must not be used in | 4348 * isolates have completely separate states. Objects from one isolate |
| 4349 * other isolates. The embedder can create multiple isolates and use them in | 4349 * must not be used in other isolates. When V8 is initialized a |
| 4350 * parallel in multiple threads. An isolate can be entered by at most one | 4350 * default isolate is implicitly created and entered. The embedder |
| 4351 * thread at any given time. The Locker/Unlocker API must be used to | 4351 * can create additional isolates and use them in parallel in multiple |
| 4352 * synchronize. | 4352 * threads. An isolate can be entered by at most one thread at any |
| 4353 * given time. The Locker/Unlocker API must be used to synchronize. |
| 4353 */ | 4354 */ |
| 4354 class V8_EXPORT Isolate { | 4355 class V8_EXPORT Isolate { |
| 4355 public: | 4356 public: |
| 4356 /** | 4357 /** |
| 4357 * Initial configuration parameters for a new Isolate. | 4358 * Initial configuration parameters for a new Isolate. |
| 4358 */ | 4359 */ |
| 4359 struct CreateParams { | 4360 struct CreateParams { |
| 4360 CreateParams() | 4361 CreateParams() : entry_hook(NULL), code_event_handler(NULL) {} |
| 4361 : entry_hook(NULL), | |
| 4362 code_event_handler(NULL), | |
| 4363 enable_serializer(false) {} | |
| 4364 | 4362 |
| 4365 /** | 4363 /** |
| 4366 * The optional entry_hook allows the host application to provide the | 4364 * The optional entry_hook allows the host application to provide the |
| 4367 * address of a function that's invoked on entry to every V8-generated | 4365 * address of a function that's invoked on entry to every V8-generated |
| 4368 * function. Note that entry_hook is invoked at the very start of each | 4366 * function. Note that entry_hook is invoked at the very start of each |
| 4369 * generated function. Furthermore, if an entry_hook is given, V8 will | 4367 * generated function. Furthermore, if an entry_hook is given, V8 will |
| 4370 * always run without a context snapshot. | 4368 * always run without a context snapshot. |
| 4371 */ | 4369 */ |
| 4372 FunctionEntryHook entry_hook; | 4370 FunctionEntryHook entry_hook; |
| 4373 | 4371 |
| 4374 /** | 4372 /** |
| 4375 * Allows the host application to provide the address of a function that is | 4373 * Allows the host application to provide the address of a function that is |
| 4376 * notified each time code is added, moved or removed. | 4374 * notified each time code is added, moved or removed. |
| 4377 */ | 4375 */ |
| 4378 JitCodeEventHandler code_event_handler; | 4376 JitCodeEventHandler code_event_handler; |
| 4379 | 4377 |
| 4380 /** | 4378 /** |
| 4381 * ResourceConstraints to use for the new Isolate. | 4379 * ResourceConstraints to use for the new Isolate. |
| 4382 */ | 4380 */ |
| 4383 ResourceConstraints constraints; | 4381 ResourceConstraints constraints; |
| 4384 | |
| 4385 /** | |
| 4386 * This flag currently renders the Isolate unusable. | |
| 4387 */ | |
| 4388 bool enable_serializer; | |
| 4389 }; | 4382 }; |
| 4390 | 4383 |
| 4391 | 4384 |
| 4392 /** | 4385 /** |
| 4393 * Stack-allocated class which sets the isolate for all operations | 4386 * Stack-allocated class which sets the isolate for all operations |
| 4394 * executed within a local scope. | 4387 * executed within a local scope. |
| 4395 */ | 4388 */ |
| 4396 class V8_EXPORT Scope { | 4389 class V8_EXPORT Scope { |
| 4397 public: | 4390 public: |
| 4398 explicit Scope(Isolate* isolate) : isolate_(isolate) { | 4391 explicit Scope(Isolate* isolate) : isolate_(isolate) { |
| (...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4489 typedef void (*UseCounterCallback)(Isolate* isolate, | 4482 typedef void (*UseCounterCallback)(Isolate* isolate, |
| 4490 UseCounterFeature feature); | 4483 UseCounterFeature feature); |
| 4491 | 4484 |
| 4492 | 4485 |
| 4493 /** | 4486 /** |
| 4494 * Creates a new isolate. Does not change the currently entered | 4487 * Creates a new isolate. Does not change the currently entered |
| 4495 * isolate. | 4488 * isolate. |
| 4496 * | 4489 * |
| 4497 * When an isolate is no longer used its resources should be freed | 4490 * When an isolate is no longer used its resources should be freed |
| 4498 * by calling Dispose(). Using the delete operator is not allowed. | 4491 * by calling Dispose(). Using the delete operator is not allowed. |
| 4499 * | |
| 4500 * V8::Initialize() must have run prior to this. | |
| 4501 */ | 4492 */ |
| 4502 static Isolate* New(const CreateParams& params = CreateParams()); | 4493 static Isolate* New(const CreateParams& params = CreateParams()); |
| 4503 | 4494 |
| 4504 /** | 4495 /** |
| 4505 * Returns the entered isolate for the current thread or NULL in | 4496 * Returns the entered isolate for the current thread or NULL in |
| 4506 * case there is no current isolate. | 4497 * case there is no current isolate. |
| 4507 */ | 4498 */ |
| 4508 static Isolate* GetCurrent(); | 4499 static Isolate* GetCurrent(); |
| 4509 | 4500 |
| 4510 /** | 4501 /** |
| (...skipping 593 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5104 static void AddMemoryAllocationCallback(MemoryAllocationCallback callback, | 5095 static void AddMemoryAllocationCallback(MemoryAllocationCallback callback, |
| 5105 ObjectSpace space, | 5096 ObjectSpace space, |
| 5106 AllocationAction action); | 5097 AllocationAction action); |
| 5107 | 5098 |
| 5108 /** | 5099 /** |
| 5109 * Removes callback that was installed by AddMemoryAllocationCallback. | 5100 * Removes callback that was installed by AddMemoryAllocationCallback. |
| 5110 */ | 5101 */ |
| 5111 static void RemoveMemoryAllocationCallback(MemoryAllocationCallback callback); | 5102 static void RemoveMemoryAllocationCallback(MemoryAllocationCallback callback); |
| 5112 | 5103 |
| 5113 /** | 5104 /** |
| 5114 * Initializes V8. This function needs to be called before the first Isolate | 5105 * Initializes from snapshot if possible. Otherwise, attempts to |
| 5115 * is created. It always returns true. | 5106 * initialize from scratch. This function is called implicitly if |
| 5107 * you use the API without calling it first. |
| 5116 */ | 5108 */ |
| 5117 static bool Initialize(); | 5109 static bool Initialize(); |
| 5118 | 5110 |
| 5119 /** | 5111 /** |
| 5120 * Allows the host application to provide a callback which can be used | 5112 * Allows the host application to provide a callback which can be used |
| 5121 * as a source of entropy for random number generators. | 5113 * as a source of entropy for random number generators. |
| 5122 */ | 5114 */ |
| 5123 static void SetEntropySource(EntropySource source); | 5115 static void SetEntropySource(EntropySource source); |
| 5124 | 5116 |
| 5125 /** | 5117 /** |
| (...skipping 1877 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7003 */ | 6995 */ |
| 7004 | 6996 |
| 7005 | 6997 |
| 7006 } // namespace v8 | 6998 } // namespace v8 |
| 7007 | 6999 |
| 7008 | 7000 |
| 7009 #undef TYPE_CHECK | 7001 #undef TYPE_CHECK |
| 7010 | 7002 |
| 7011 | 7003 |
| 7012 #endif // V8_H_ | 7004 #endif // V8_H_ |
| OLD | NEW |