Chromium Code Reviews| 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 5475 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 5486 * thread at any given time. The Locker/Unlocker API must be used to | 5486 * thread at any given time. The Locker/Unlocker API must be used to |
| 5487 * synchronize. | 5487 * synchronize. |
| 5488 */ | 5488 */ |
| 5489 class V8_EXPORT Isolate { | 5489 class V8_EXPORT Isolate { |
| 5490 public: | 5490 public: |
| 5491 /** | 5491 /** |
| 5492 * Initial configuration parameters for a new Isolate. | 5492 * Initial configuration parameters for a new Isolate. |
| 5493 */ | 5493 */ |
| 5494 struct CreateParams { | 5494 struct CreateParams { |
| 5495 CreateParams() | 5495 CreateParams() |
| 5496 : entry_hook(NULL), | 5496 : entry_hook(nullptr), |
| 5497 code_event_handler(NULL), | 5497 code_event_handler(nullptr), |
| 5498 snapshot_blob(NULL), | 5498 snapshot_blob(nullptr), |
| 5499 counter_lookup_callback(NULL), | 5499 counter_lookup_callback(nullptr), |
| 5500 create_histogram_callback(NULL), | 5500 create_histogram_callback(nullptr), |
| 5501 add_histogram_sample_callback(NULL), | 5501 add_histogram_sample_callback(nullptr), |
| 5502 array_buffer_allocator(NULL) {} | 5502 array_buffer_allocator(nullptr), |
| 5503 external_references(nullptr) {} | |
| 5503 | 5504 |
| 5504 /** | 5505 /** |
| 5505 * The optional entry_hook allows the host application to provide the | 5506 * The optional entry_hook allows the host application to provide the |
| 5506 * address of a function that's invoked on entry to every V8-generated | 5507 * address of a function that's invoked on entry to every V8-generated |
| 5507 * function. Note that entry_hook is invoked at the very start of each | 5508 * function. Note that entry_hook is invoked at the very start of each |
| 5508 * generated function. Furthermore, if an entry_hook is given, V8 will | 5509 * generated function. Furthermore, if an entry_hook is given, V8 will |
| 5509 * not use a snapshot, including custom snapshots. | 5510 * not use a snapshot, including custom snapshots. |
| 5510 */ | 5511 */ |
| 5511 FunctionEntryHook entry_hook; | 5512 FunctionEntryHook entry_hook; |
| 5512 | 5513 |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 5540 * function. | 5541 * function. |
| 5541 */ | 5542 */ |
| 5542 CreateHistogramCallback create_histogram_callback; | 5543 CreateHistogramCallback create_histogram_callback; |
| 5543 AddHistogramSampleCallback add_histogram_sample_callback; | 5544 AddHistogramSampleCallback add_histogram_sample_callback; |
| 5544 | 5545 |
| 5545 /** | 5546 /** |
| 5546 * The ArrayBuffer::Allocator to use for allocating and freeing the backing | 5547 * The ArrayBuffer::Allocator to use for allocating and freeing the backing |
| 5547 * store of ArrayBuffers. | 5548 * store of ArrayBuffers. |
| 5548 */ | 5549 */ |
| 5549 ArrayBuffer::Allocator* array_buffer_allocator; | 5550 ArrayBuffer::Allocator* array_buffer_allocator; |
| 5551 | |
| 5552 /** | |
| 5553 * Specifies an optional null-terminated array of raw addresses in the | |
|
jochen (gone - plz use gerrit)
2016/06/20 13:11:12
nullptr
| |
| 5554 * embedder that V8 can match against during serialization and use for | |
| 5555 * deserialization. This array and its content must stay valid for the | |
| 5556 * entire lifetime of the isolate. | |
| 5557 */ | |
| 5558 intptr_t* external_references; | |
| 5550 }; | 5559 }; |
| 5551 | 5560 |
| 5552 | 5561 |
| 5553 /** | 5562 /** |
| 5554 * Stack-allocated class which sets the isolate for all operations | 5563 * Stack-allocated class which sets the isolate for all operations |
| 5555 * executed within a local scope. | 5564 * executed within a local scope. |
| 5556 */ | 5565 */ |
| 5557 class V8_EXPORT Scope { | 5566 class V8_EXPORT Scope { |
| 5558 public: | 5567 public: |
| 5559 explicit Scope(Isolate* isolate) : isolate_(isolate) { | 5568 explicit Scope(Isolate* isolate) : isolate_(isolate) { |
| (...skipping 1208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 6768 * Helper class to create a snapshot data blob. | 6777 * Helper class to create a snapshot data blob. |
| 6769 */ | 6778 */ |
| 6770 class SnapshotCreator { | 6779 class SnapshotCreator { |
| 6771 public: | 6780 public: |
| 6772 enum class FunctionCodeHandling { kClear, kKeep }; | 6781 enum class FunctionCodeHandling { kClear, kKeep }; |
| 6773 | 6782 |
| 6774 /** | 6783 /** |
| 6775 * Create and enter an isolate, and set it up for serialization. | 6784 * Create and enter an isolate, and set it up for serialization. |
| 6776 * The isolate is either created from scratch or from an existing snapshot. | 6785 * The isolate is either created from scratch or from an existing snapshot. |
| 6777 * The caller keeps ownership of the argument snapshot. | 6786 * The caller keeps ownership of the argument snapshot. |
| 6787 * \param existing_blob existing snapshot from which to create this one. | |
| 6788 * \param external_references a null-terminated array of external references | |
| 6789 * that must be equivalent to CreateParams::external_references. | |
| 6778 */ | 6790 */ |
| 6779 explicit SnapshotCreator(StartupData* existing_blob = nullptr); | 6791 SnapshotCreator(intptr_t* external_references = nullptr, |
|
jochen (gone - plz use gerrit)
2016/06/20 13:11:12
maybe make that the second parameter, so it's back
| |
| 6792 StartupData* existing_blob = nullptr); | |
| 6780 | 6793 |
| 6781 ~SnapshotCreator(); | 6794 ~SnapshotCreator(); |
| 6782 | 6795 |
| 6783 /** | 6796 /** |
| 6784 * \returns the isolate prepared by the snapshot creator. | 6797 * \returns the isolate prepared by the snapshot creator. |
| 6785 */ | 6798 */ |
| 6786 Isolate* GetIsolate(); | 6799 Isolate* GetIsolate(); |
| 6787 | 6800 |
| 6788 /** | 6801 /** |
| 6789 * Add a context to be included in the snapshot blob. | 6802 * Add a context to be included in the snapshot blob. |
| 6790 * \returns the index of the context in the snapshot blob. | 6803 * \returns the index of the context in the snapshot blob. |
| 6791 */ | 6804 */ |
| 6792 size_t AddContext(Local<Context> context); | 6805 size_t AddContext(Local<Context> context); |
| 6793 | 6806 |
| 6794 /** | 6807 /** |
| 6795 * Created a snapshot data blob. | 6808 * Created a snapshot data blob. |
| 6809 * This must not be called from within a handle scope. | |
| 6796 * \param function_code_handling whether to include compiled function code | 6810 * \param function_code_handling whether to include compiled function code |
| 6797 * in the snapshot. | 6811 * in the snapshot. |
| 6798 * \returns { nullptr, 0 } on failure, and a startup snapshot on success. The | 6812 * \returns { nullptr, 0 } on failure, and a startup snapshot on success. The |
| 6799 * caller acquires ownership of the data array in the return value. | 6813 * caller acquires ownership of the data array in the return value. |
| 6800 */ | 6814 */ |
| 6801 StartupData CreateBlob(FunctionCodeHandling function_code_handling); | 6815 StartupData CreateBlob(FunctionCodeHandling function_code_handling); |
| 6802 | 6816 |
| 6803 private: | 6817 private: |
| 6804 void* data_; | 6818 void* data_; |
| 6805 | 6819 |
| (...skipping 2047 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 8853 */ | 8867 */ |
| 8854 | 8868 |
| 8855 | 8869 |
| 8856 } // namespace v8 | 8870 } // namespace v8 |
| 8857 | 8871 |
| 8858 | 8872 |
| 8859 #undef TYPE_CHECK | 8873 #undef TYPE_CHECK |
| 8860 | 8874 |
| 8861 | 8875 |
| 8862 #endif // INCLUDE_V8_H_ | 8876 #endif // INCLUDE_V8_H_ |
| OLD | NEW |