|
| WINE_DEFAULT_DEBUG_CHANNEL (jscript) |
|
| WINE_DECLARE_DEBUG_CHANNEL (jscript_disas) |
|
static void | dump_instr_arg (instr_arg_type_t type, instr_arg_t *arg) |
|
static void | dump_code (compiler_ctx_t *ctx, unsigned off) |
|
static HRESULT | compile_expression (compiler_ctx_t *, expression_t *, BOOL) |
|
static HRESULT | compile_statement (compiler_ctx_t *, statement_ctx_t *, statement_t *) |
|
static void * | compiler_alloc (bytecode_t *code, size_t size) |
|
jsstr_t * | compiler_alloc_string_len (compiler_ctx_t *ctx, const WCHAR *str, unsigned len) |
|
static jsstr_t * | compiler_alloc_string (compiler_ctx_t *ctx, const WCHAR *str) |
|
static BOOL | ensure_bstr_slot (compiler_ctx_t *ctx) |
|
static BSTR | compiler_alloc_bstr (compiler_ctx_t *ctx, const WCHAR *str) |
|
static BSTR | compiler_alloc_bstr_len (compiler_ctx_t *ctx, const WCHAR *str, size_t len) |
|
static unsigned | push_instr (compiler_ctx_t *ctx, jsop_t op) |
|
static instr_t * | instr_ptr (compiler_ctx_t *ctx, unsigned off) |
|
static HRESULT | push_instr_int (compiler_ctx_t *ctx, jsop_t op, LONG arg) |
|
static HRESULT | push_instr_str (compiler_ctx_t *ctx, jsop_t op, jsstr_t *str) |
|
static HRESULT | push_instr_str_uint (compiler_ctx_t *ctx, jsop_t op, jsstr_t *str, unsigned arg2) |
|
static HRESULT | push_instr_bstr (compiler_ctx_t *ctx, jsop_t op, const WCHAR *arg) |
|
static HRESULT | push_instr_bstr_uint (compiler_ctx_t *ctx, jsop_t op, const WCHAR *arg1, unsigned arg2) |
|
static HRESULT | push_instr_uint_str (compiler_ctx_t *ctx, jsop_t op, unsigned arg1, const WCHAR *arg2) |
|
static HRESULT | push_instr_double (compiler_ctx_t *ctx, jsop_t op, double arg) |
|
static void | set_arg_uint (compiler_ctx_t *ctx, unsigned instr, unsigned arg) |
|
static HRESULT | push_instr_uint (compiler_ctx_t *ctx, jsop_t op, unsigned arg) |
|
static HRESULT | compile_binary_expression (compiler_ctx_t *ctx, binary_expression_t *expr, jsop_t op) |
|
static HRESULT | compile_unary_expression (compiler_ctx_t *ctx, unary_expression_t *expr, jsop_t op) |
|
static HRESULT | compile_member_expression (compiler_ctx_t *ctx, member_expression_t *expr) |
|
static unsigned | alloc_label (compiler_ctx_t *ctx) |
|
static void | label_set_addr (compiler_ctx_t *ctx, unsigned label) |
|
static BOOL | is_memberid_expr (expression_type_t type) |
|
static BOOL | bind_local (compiler_ctx_t *ctx, const WCHAR *identifier, int *ret_ref) |
|
static HRESULT | emit_identifier_ref (compiler_ctx_t *ctx, const WCHAR *identifier, unsigned flags) |
|
static HRESULT | emit_identifier (compiler_ctx_t *ctx, const WCHAR *identifier) |
|
static HRESULT | compile_memberid_expression (compiler_ctx_t *ctx, expression_t *expr, unsigned flags) |
|
static HRESULT | compile_increment_expression (compiler_ctx_t *ctx, unary_expression_t *expr, jsop_t op, int n) |
|
static HRESULT | compile_comma_expression (compiler_ctx_t *ctx, binary_expression_t *expr, BOOL emit_ret) |
|
static HRESULT | compile_logical_expression (compiler_ctx_t *ctx, binary_expression_t *expr, jsop_t op) |
|
static HRESULT | compile_conditional_expression (compiler_ctx_t *ctx, conditional_expression_t *expr) |
|
static HRESULT | compile_new_expression (compiler_ctx_t *ctx, call_expression_t *expr) |
|
static HRESULT | compile_call_expression (compiler_ctx_t *ctx, call_expression_t *expr, BOOL emit_ret) |
|
static HRESULT | compile_delete_expression (compiler_ctx_t *ctx, unary_expression_t *expr) |
|
static HRESULT | compile_assign_expression (compiler_ctx_t *ctx, binary_expression_t *expr, jsop_t op) |
|
static HRESULT | compile_typeof_expression (compiler_ctx_t *ctx, unary_expression_t *expr) |
|
static HRESULT | compile_literal (compiler_ctx_t *ctx, literal_t *literal) |
|
static HRESULT | literal_as_string (compiler_ctx_t *ctx, literal_t *literal, jsstr_t **str) |
|
static HRESULT | compile_array_literal (compiler_ctx_t *ctx, array_literal_expression_t *expr) |
|
static HRESULT | compile_object_literal (compiler_ctx_t *ctx, property_value_expression_t *expr) |
|
static HRESULT | compile_function_expression (compiler_ctx_t *ctx, function_expression_t *expr, BOOL emit_ret) |
|
static BOOL | is_loop_statement (statement_type_t type) |
|
static HRESULT | compile_block_statement (compiler_ctx_t *ctx, statement_t *iter) |
|
static HRESULT | compile_variable_list (compiler_ctx_t *ctx, variable_declaration_t *list) |
|
static HRESULT | compile_var_statement (compiler_ctx_t *ctx, var_statement_t *stat) |
|
static HRESULT | compile_expression_statement (compiler_ctx_t *ctx, expression_statement_t *stat) |
|
static HRESULT | compile_if_statement (compiler_ctx_t *ctx, if_statement_t *stat) |
|
static HRESULT | compile_while_statement (compiler_ctx_t *ctx, while_statement_t *stat) |
|
static HRESULT | compile_for_statement (compiler_ctx_t *ctx, for_statement_t *stat) |
|
static HRESULT | compile_forin_statement (compiler_ctx_t *ctx, forin_statement_t *stat) |
|
static HRESULT | pop_to_stat (compiler_ctx_t *ctx, statement_ctx_t *stat_ctx) |
|
static HRESULT | compile_continue_statement (compiler_ctx_t *ctx, branch_statement_t *stat) |
|
static HRESULT | compile_break_statement (compiler_ctx_t *ctx, branch_statement_t *stat) |
|
static HRESULT | compile_return_statement (compiler_ctx_t *ctx, expression_statement_t *stat) |
|
static HRESULT | compile_with_statement (compiler_ctx_t *ctx, with_statement_t *stat) |
|
static HRESULT | compile_labelled_statement (compiler_ctx_t *ctx, labelled_statement_t *stat) |
|
static HRESULT | compile_switch_statement (compiler_ctx_t *ctx, switch_statement_t *stat) |
|
static HRESULT | compile_throw_statement (compiler_ctx_t *ctx, expression_statement_t *stat) |
|
static HRESULT | compile_try_statement (compiler_ctx_t *ctx, try_statement_t *stat) |
|
static int | function_local_cmp (const void *key, const struct wine_rb_entry *entry) |
|
static function_local_t * | find_local (compiler_ctx_t *ctx, const WCHAR *name) |
|
static BOOL | alloc_local (compiler_ctx_t *ctx, BSTR name, int ref) |
|
static BOOL | alloc_variable (compiler_ctx_t *ctx, const WCHAR *name) |
|
static HRESULT | visit_function_expression (compiler_ctx_t *ctx, function_expression_t *expr) |
|
static HRESULT | visit_expression (compiler_ctx_t *ctx, expression_t *expr) |
|
static HRESULT | visit_variable_list (compiler_ctx_t *ctx, variable_declaration_t *list) |
|
static HRESULT | visit_statement (compiler_ctx_t *, statement_t *) |
|
static HRESULT | visit_block_statement (compiler_ctx_t *ctx, statement_t *iter) |
|
static void | resolve_labels (compiler_ctx_t *ctx, unsigned off) |
|
void | release_bytecode (bytecode_t *code) |
|
static HRESULT | init_code (compiler_ctx_t *compiler, const WCHAR *source) |
|
static HRESULT | compile_function (compiler_ctx_t *ctx, source_elements_t *source, function_expression_t *func_expr, BOOL from_eval, function_code_t *func) |
|
static HRESULT | parse_arguments (compiler_ctx_t *ctx, const WCHAR *args, BSTR *arg_array, unsigned *args_size) |
|
static HRESULT | compile_arguments (compiler_ctx_t *ctx, const WCHAR *args) |
|
HRESULT | compile_script (script_ctx_t *ctx, const WCHAR *code, const WCHAR *args, const WCHAR *delimiter, BOOL from_eval, BOOL use_decode, bytecode_t **ret) |
|