26 X(assign_call,1, ARG_UINT, 0) \
27 X(bool, 1, ARG_INT, 0) \
29 X(call, 1, ARG_UINT, ARG_UINT) \
30 X(call_eval, 1, ARG_UINT, ARG_UINT) \
31 X(call_member,1, ARG_UINT, ARG_UINT) \
32 X(carray, 1, ARG_UINT, 0) \
33 X(carray_set, 1, ARG_UINT, 0) \
34 X(case, 0, ARG_ADDR, 0) \
35 X(cnd_nz, 0, ARG_ADDR, 0) \
36 X(cnd_z, 0, ARG_ADDR, 0) \
38 X(delete_ident,1,ARG_BSTR, 0) \
40 X(double, 1, ARG_DBL, 0) \
41 X(end_finally,0, 0,0) \
42 X(enter_catch,1, ARG_BSTR, 0) \
45 X(forin, 0, ARG_ADDR, 0) \
46 X(func, 1, ARG_UINT, 0) \
49 X(ident, 1, ARG_BSTR, 0) \
50 X(identid, 1, ARG_BSTR, ARG_INT) \
52 X(instanceof, 1, 0,0) \
53 X(int, 1, ARG_INT, 0) \
54 X(jmp, 0, ARG_ADDR, 0) \
55 X(jmp_z, 0, ARG_ADDR, 0) \
56 X(local, 1, ARG_INT, 0) \
57 X(local_ref, 1, ARG_INT, ARG_UINT) \
61 X(member, 1, ARG_BSTR, 0) \
62 X(memberid, 1, ARG_UINT, 0) \
69 X(new, 1, ARG_UINT, 0) \
72 X(obj_prop, 1, ARG_STR, ARG_UINT) \
74 X(pop, 1, ARG_UINT, 0) \
75 X(pop_except, 0, ARG_ADDR, 0) \
76 X(pop_scope, 1, 0,0) \
77 X(postinc, 1, ARG_INT, 0) \
78 X(preinc, 1, ARG_INT, 0) \
80 X(push_except,1, ARG_ADDR, ARG_UINT) \
81 X(push_block_scope, 1, ARG_UINT, 0) \
82 X(push_with_scope, 1, 0,0) \
83 X(regexp, 1, ARG_STR, ARG_UINT) \
86 X(str, 1, ARG_STR, 0) \
89 X(throw_ref, 0, ARG_UINT, 0) \
90 X(throw_type, 0, ARG_UINT, ARG_STR) \
94 X(typeofident,1, 0,0) \
96 X(ret, 0, ARG_UINT, 0) \
97 X(set_member, 1, 0,0) \
100 X(to_string, 1, 0,0) \
101 X(undefined, 1, 0,0) \
106#define X(x,a,b,c) OP_##x,
152#define INVALID_LOCAL_REF 0x7fffffff
305#define EXEC_GLOBAL 0x0001
306#define EXEC_CONSTRUCTOR 0x0002
307#define EXEC_RETURN_TO_INTERP 0x0004
308#define EXEC_EVAL 0x0008
COMPILER_DEPENDENT_UINT64 UINT64
HRESULT exec_source(script_ctx_t *, DWORD, bytecode_t *, function_code_t *, scope_chain_t *, IDispatch *, jsdisp_t *, unsigned, jsval_t *, jsval_t *)
void detach_arguments_object(call_frame_t *)
struct _scope_chain_t scope_chain_t
void release_bytecode(bytecode_t *)
HRESULT leave_script(script_ctx_t *, HRESULT)
void set_error_location(jsexcept_t *, bytecode_t *, unsigned, unsigned, jsstr_t *)
IDispatch * lookup_global_host(script_ctx_t *)
static scope_chain_t * scope_addref(scope_chain_t *scope)
HRESULT compile_script(script_ctx_t *, const WCHAR *, UINT64, unsigned, const WCHAR *, const WCHAR *, BOOL, BOOL, named_item_t *, bytecode_t **)
property_definition_type_t
@ PROPERTY_DEFINITION_GETTER
@ PROPERTY_DEFINITION_VALUE
@ PROPERTY_DEFINITION_SETTER
static void scope_release(scope_chain_t *scope)
HRESULT setup_arguments_object(script_ctx_t *, call_frame_t *)
HRESULT create_source_function(script_ctx_t *, bytecode_t *, function_code_t *, scope_chain_t *, jsdisp_t **)
void enter_script(script_ctx_t *, jsexcept_t *)
struct _call_frame_t call_frame_t
void reset_ei(jsexcept_t *)
struct _function_code_t function_code_t
unsigned get_location_line(bytecode_t *code, unsigned loc, unsigned *char_pos)
local_ref_t * lookup_local(const function_code_t *, const WCHAR *, unsigned int)
static bytecode_t * bytecode_addref(bytecode_t *code)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble * u
ULONG jsdisp_release(jsdisp_t *obj)
jsdisp_t * jsdisp_addref(jsdisp_t *obj)
named_item_t * named_item
function_code_t global_code
except_frame_t * except_frame
struct _call_frame_t * prev_frame
scope_chain_t * base_scope
function_code_t * function
jsdisp_t * function_instance
struct _function_code_t::@436 * variables
struct _function_code_t * funcs
local_ref_scopes_t * local_scopes
unsigned local_scope_count
struct _call_frame_t * frame
struct _scope_chain_t * next
struct vars_buffer * detached_vars
function_code_t * func_code