| Index: include/v8.h
|
| diff --git a/include/v8.h b/include/v8.h
|
| index 5bc9bf827ce0d733cc617f946dc6b6d7d5fdb2af..9bda3dc9faa7bfa79190c1483345d93057120349 100644
|
| --- a/include/v8.h
|
| +++ b/include/v8.h
|
| @@ -108,7 +108,6 @@ class ObjectTemplate;
|
| class Platform;
|
| class Primitive;
|
| class RawOperationDescriptor;
|
| -class Script;
|
| class Signature;
|
| class StackFrame;
|
| class StackTrace;
|
| @@ -1147,153 +1146,95 @@ class ScriptOrigin {
|
|
|
|
|
| /**
|
| - * A compiled JavaScript script, not yet tied to a Context.
|
| + * A compiled JavaScript script.
|
| */
|
| -class V8_EXPORT UnboundScript {
|
| +class V8_EXPORT Script {
|
| public:
|
| /**
|
| - * Binds the script to the currently entered context.
|
| + * Compiles the specified script (context-independent).
|
| + *
|
| + * \param source Script source code.
|
| + * \param origin Script origin, owned by caller, no references are kept
|
| + * when New() returns
|
| + * \param pre_data Pre-parsing data, as obtained by ScriptData::PreCompile()
|
| + * using pre_data speeds compilation if it's done multiple times.
|
| + * Owned by caller, no references are kept when New() returns.
|
| + * \return Compiled script object (context independent; when run it
|
| + * will use the currently entered context).
|
| */
|
| - Local<Script> BindToCurrentContext();
|
| -
|
| - int GetId();
|
| - Handle<Value> GetScriptName();
|
| + static Local<Script> New(Handle<String> source,
|
| + ScriptOrigin* origin = NULL,
|
| + ScriptData* pre_data = NULL);
|
|
|
| /**
|
| - * Returns zero based line number of the code_pos location in the script.
|
| - * -1 will be returned if no information available.
|
| + * Compiles the specified script using the specified file name
|
| + * object (typically a string) as the script's origin.
|
| + *
|
| + * \param source Script source code.
|
| + * \param file_name file name object (typically a string) to be used
|
| + * as the script's origin.
|
| + * \return Compiled script object (context independent; when run it
|
| + * will use the currently entered context).
|
| */
|
| - int GetLineNumber(int code_pos);
|
| -
|
| - static const int kNoScriptId = 0;
|
| -};
|
| -
|
| + static Local<Script> New(Handle<String> source,
|
| + Handle<Value> file_name);
|
|
|
| -/**
|
| - * A compiled JavaScript script, tied to a Context which was active when the
|
| - * script was compiled.
|
| - */
|
| -class V8_EXPORT Script {
|
| - public:
|
| /**
|
| - * A shorthand for ScriptCompiler::CompileBound().
|
| + * Compiles the specified script (bound to current context).
|
| + *
|
| + * \param source Script source code.
|
| + * \param origin Script origin, owned by caller, no references are kept
|
| + * when Compile() returns
|
| + * \param pre_data Pre-parsing data, as obtained by ScriptData::PreCompile()
|
| + * using pre_data speeds compilation if it's done multiple times.
|
| + * Owned by caller, no references are kept when Compile() returns.
|
| + * \return Compiled script object, bound to the context that was active
|
| + * when this function was called. When run it will always use this
|
| + * context.
|
| */
|
| static Local<Script> Compile(Handle<String> source,
|
| - ScriptOrigin* origin = NULL);
|
| -
|
| - // To be decprecated, use the Compile above.
|
| - static Local<Script> Compile(Handle<String> source,
|
| - Handle<String> file_name);
|
| + ScriptOrigin* origin = NULL,
|
| + ScriptData* pre_data = NULL);
|
|
|
| /**
|
| - * Runs the script returning the resulting value. It will be run in the
|
| - * context in which it was created (ScriptCompiler::CompileBound or
|
| - * UnboundScript::BindToGlobalContext()).
|
| + * Compiles the specified script using the specified file name
|
| + * object (typically a string) as the script's origin.
|
| + *
|
| + * \param source Script source code.
|
| + * \param file_name File name to use as script's origin
|
| + * \return Compiled script object, bound to the context that was active
|
| + * when this function was called. When run it will always use this
|
| + * context.
|
| */
|
| - Local<Value> Run();
|
| + static Local<Script> Compile(Handle<String> source,
|
| + Handle<Value> file_name);
|
|
|
| /**
|
| - * Returns the corresponding context-unbound script.
|
| + * Runs the script returning the resulting value. If the script is
|
| + * context independent (created using ::New) it will be run in the
|
| + * currently entered context. If it is context specific (created
|
| + * using ::Compile) it will be run in the context in which it was
|
| + * compiled.
|
| */
|
| - Local<UnboundScript> GetUnboundScript();
|
| -
|
| - // To be deprecated; use GetUnboundScript()->GetId();
|
| - int GetId() {
|
| - return GetUnboundScript()->GetId();
|
| - }
|
| -
|
| - // Use GetUnboundScript()->GetId();
|
| - V8_DEPRECATED("Use GetUnboundScript()->GetId()",
|
| - Handle<Value> GetScriptName()) {
|
| - return GetUnboundScript()->GetScriptName();
|
| - }
|
| + Local<Value> Run();
|
|
|
| /**
|
| - * Returns zero based line number of the code_pos location in the script.
|
| - * -1 will be returned if no information available.
|
| + * Returns the script id.
|
| */
|
| - V8_DEPRECATED("Use GetUnboundScript()->GetLineNumber()",
|
| - int GetLineNumber(int code_pos)) {
|
| - return GetUnboundScript()->GetLineNumber(code_pos);
|
| - }
|
| -};
|
| -
|
| -
|
| -/**
|
| - * For compiling scripts.
|
| - */
|
| -class V8_EXPORT ScriptCompiler {
|
| - public:
|
| - /**
|
| - * Compilation data that the embedder can cache and pass back to speed up
|
| - * future compilations. The data is produced if the CompilerOptions passed to
|
| - * the compilation functions in ScriptCompiler contains produce_data_to_cache
|
| - * = true. The data to cache can then can be retrieved from
|
| - * UnboundScript.
|
| - */
|
| - struct V8_EXPORT CachedData {
|
| - CachedData() : data(NULL), length(0) {}
|
| - // Caller keeps the ownership of data and guarantees that the data stays
|
| - // alive long enough.
|
| - CachedData(const uint8_t* data, int length) : data(data), length(length) {}
|
| - // TODO(marja): Async compilation; add constructors which take a callback
|
| - // which will be called when V8 no longer needs the data.
|
| - const uint8_t* data;
|
| - int length;
|
| - };
|
| + int GetId();
|
|
|
| /**
|
| - * Source code which can be then compiled to a UnboundScript or
|
| - * BoundScript.
|
| + * Returns the name value of one Script.
|
| */
|
| - struct V8_EXPORT Source {
|
| - Source(Local<String> source_string, const ScriptOrigin& origin,
|
| - const CachedData& cached_data = CachedData());
|
| - Source(Local<String> source_string,
|
| - const CachedData& cached_data = CachedData());
|
| -
|
| - Local<String> source_string;
|
| -
|
| - // Origin information
|
| - Handle<Value> resource_name;
|
| - Handle<Integer> resource_line_offset;
|
| - Handle<Integer> resource_column_offset;
|
| - Handle<Boolean> resource_is_shared_cross_origin;
|
| -
|
| - // Cached data from previous compilation (if any).
|
| - CachedData cached_data;
|
| - };
|
| -
|
| - enum CompileOptions {
|
| - kNoCompileOptions,
|
| - kProduceDataToCache = 1 << 0
|
| - };
|
| + Handle<Value> GetScriptName();
|
|
|
| /**
|
| - * Compiles the specified script (context-independent).
|
| - *
|
| - * \param source Script source code.
|
| - * \return Compiled script object (context independent; for running it must be
|
| - * bound to a context).
|
| + * Returns zero based line number of the code_pos location in the script.
|
| + * -1 will be returned if no information available.
|
| */
|
| - static Local<UnboundScript> CompileUnbound(
|
| - Isolate* isolate, const Source& source,
|
| - CompileOptions options = kNoCompileOptions);
|
| + int GetLineNumber(int code_pos);
|
|
|
| - /**
|
| - * Compiles the specified script (bound to current context).
|
| - *
|
| - * \param source Script source code.
|
| - * \param pre_data Pre-parsing data, as obtained by ScriptData::PreCompile()
|
| - * using pre_data speeds compilation if it's done multiple times.
|
| - * Owned by caller, no references are kept when this function returns.
|
| - * \return Compiled script object, bound to the context that was active
|
| - * when this function was called. When run it will always use this
|
| - * context.
|
| - */
|
| - static Local<Script> Compile(
|
| - Isolate* isolate, const Source& source,
|
| - CompileOptions options = kNoCompileOptions);
|
| + static const int kNoScriptId = 0;
|
| };
|
|
|
|
|
|
|