Signed-off-by: Gabriel Ivăncescu gabrielopcode@gmail.com --- dlls/jscript/compile.c | 1 + dlls/jscript/engine.h | 8 ++++++-- 2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/dlls/jscript/compile.c b/dlls/jscript/compile.c index db05d3c..a530e87 100644 --- a/dlls/jscript/compile.c +++ b/dlls/jscript/compile.c @@ -2279,6 +2279,7 @@ static HRESULT compile_function(compiler_ctx_t *ctx, source_elements_t *source,
TRACE("\n");
+ func->bytecode = ctx->code; ctx->func_head = ctx->func_tail = NULL; ctx->from_eval = from_eval; ctx->func = func; diff --git a/dlls/jscript/engine.h b/dlls/jscript/engine.h index 955c315..48cc952 100644 --- a/dlls/jscript/engine.h +++ b/dlls/jscript/engine.h @@ -103,6 +103,8 @@ OP_LIST OP_LAST } jsop_t;
+typedef struct _bytecode_t bytecode_t; + typedef union { BSTR bstr; LONG lng; @@ -163,11 +165,13 @@ typedef struct _function_code_t {
unsigned locals_cnt; local_ref_t *locals; + + bytecode_t *bytecode; } function_code_t;
local_ref_t *lookup_local(const function_code_t*,const WCHAR*) DECLSPEC_HIDDEN;
-typedef struct _bytecode_t { +struct _bytecode_t { LONG ref; BOOL is_persistent;
@@ -187,7 +191,7 @@ typedef struct _bytecode_t { unsigned str_cnt;
struct list entry; -} bytecode_t; +};
HRESULT compile_script(script_ctx_t*,const WCHAR*,const WCHAR*,const WCHAR*,BOOL,BOOL,bytecode_t**) DECLSPEC_HIDDEN; void release_bytecode(bytecode_t*) DECLSPEC_HIDDEN;