Convert parser operand structure to jsp_operand_t class, move operand types to enum defined in the class.
JerryScript-DCO-1.0-Signed-off-by: Ruben Ayrapetyan r.ayrapetyan@samsung.com
This commit is contained in:
@@ -16,26 +16,194 @@
|
||||
#ifndef OPCODES_DUMPER_H
|
||||
#define OPCODES_DUMPER_H
|
||||
|
||||
#include "opcodes.h"
|
||||
#include "ecma-globals.h"
|
||||
#include "lexer.h"
|
||||
#include "opcodes.h"
|
||||
#include "scopes-tree.h"
|
||||
#include "serializer.h"
|
||||
|
||||
typedef enum __attr_packed___
|
||||
/**
|
||||
* Operand (descriptor of value or reference in context of parser)
|
||||
*/
|
||||
class jsp_operand_t
|
||||
{
|
||||
OPERAND_LITERAL,
|
||||
OPERAND_TMP
|
||||
} operand_type;
|
||||
public:
|
||||
enum type_t : uint8_t
|
||||
{
|
||||
EMPTY, /**< empty operand */
|
||||
LITERAL, /**< operand contains literal value */
|
||||
TMP, /**< operand contains byte-code register index */
|
||||
UNINITIALIZED /**< uninitialized operand
|
||||
*
|
||||
* Note:
|
||||
* For use only in assertions to check that operands
|
||||
* are initialized before actual usage */
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
operand_type type;
|
||||
/**
|
||||
* Construct operand template
|
||||
*/
|
||||
jsp_operand_t (void)
|
||||
{
|
||||
#ifndef JERRY_NDEBUG
|
||||
_type = jsp_operand_t::UNINITIALIZED;
|
||||
#endif /* !JERRY_NDEBUG */
|
||||
} /* jsp_operand_t */
|
||||
|
||||
/**
|
||||
* Construct empty operand
|
||||
*
|
||||
* @return constructed operand
|
||||
*/
|
||||
static jsp_operand_t
|
||||
make_empty_operand (void)
|
||||
{
|
||||
jsp_operand_t ret;
|
||||
|
||||
ret._type = jsp_operand_t::EMPTY;
|
||||
|
||||
return ret;
|
||||
} /* make_empty_operand */
|
||||
|
||||
/**
|
||||
* Construct literal operand
|
||||
*
|
||||
* @return constructed operand
|
||||
*/
|
||||
static jsp_operand_t
|
||||
make_lit_operand (lit_cpointer_t lit_id) /**< literal identifier */
|
||||
{
|
||||
JERRY_ASSERT (lit_id.packed_value != NOT_A_LITERAL.packed_value);
|
||||
|
||||
jsp_operand_t ret;
|
||||
|
||||
ret._type = jsp_operand_t::LITERAL;
|
||||
ret._data.lit_id = lit_id;
|
||||
|
||||
return ret;
|
||||
} /* make_lit_operand */
|
||||
|
||||
/**
|
||||
* Construct register operand
|
||||
*
|
||||
* @return constructed operand
|
||||
*/
|
||||
static jsp_operand_t
|
||||
make_reg_operand (idx_t reg_index) /**< register index */
|
||||
{
|
||||
JERRY_ASSERT (reg_index != INVALID_VALUE
|
||||
&& reg_index != LITERAL_TO_REWRITE);
|
||||
|
||||
jsp_operand_t ret;
|
||||
|
||||
ret._type = jsp_operand_t::TMP;
|
||||
ret._data.uid = reg_index;
|
||||
|
||||
return ret;
|
||||
} /* make_reg_operand */
|
||||
|
||||
/**
|
||||
* Is it empty operand?
|
||||
*
|
||||
* @return true / false
|
||||
*/
|
||||
bool
|
||||
is_empty_operand (void) const
|
||||
{
|
||||
JERRY_ASSERT (_type != jsp_operand_t::UNINITIALIZED);
|
||||
|
||||
return (_type == jsp_operand_t::EMPTY);
|
||||
} /* is_empty_operand */
|
||||
|
||||
/**
|
||||
* Is it byte-code register operand?
|
||||
*
|
||||
* @return true / false
|
||||
*/
|
||||
bool
|
||||
is_register_operand (void) const
|
||||
{
|
||||
JERRY_ASSERT (_type != jsp_operand_t::UNINITIALIZED);
|
||||
|
||||
return (_type == jsp_operand_t::TMP);
|
||||
} /* is_register_operand */
|
||||
|
||||
/**
|
||||
* Is it literal operand?
|
||||
*
|
||||
* @return true / false
|
||||
*/
|
||||
bool
|
||||
is_literal_operand (void) const
|
||||
{
|
||||
JERRY_ASSERT (_type != jsp_operand_t::UNINITIALIZED);
|
||||
|
||||
return (_type == jsp_operand_t::LITERAL);
|
||||
} /* is_literal_operand */
|
||||
|
||||
/**
|
||||
* Get idx_t for operand
|
||||
*
|
||||
* @return LITERAL_TO_REWRITE (for jsp_operand_t::LITERAL),
|
||||
* or register index (for jsp_operand_t::TMP).
|
||||
*/
|
||||
idx_t
|
||||
get_idx (void) const
|
||||
{
|
||||
JERRY_ASSERT (_type != jsp_operand_t::UNINITIALIZED);
|
||||
|
||||
if (_type == jsp_operand_t::TMP)
|
||||
{
|
||||
return _data.uid;
|
||||
}
|
||||
else if (_type == jsp_operand_t::LITERAL)
|
||||
{
|
||||
return LITERAL_TO_REWRITE;
|
||||
}
|
||||
else
|
||||
{
|
||||
JERRY_ASSERT (_type == jsp_operand_t::EMPTY);
|
||||
|
||||
return INVALID_VALUE;
|
||||
}
|
||||
} /* get_idx */
|
||||
|
||||
/**
|
||||
* Get literal from operand
|
||||
*
|
||||
* @return literal identifier (for jsp_operand_t::LITERAL),
|
||||
* or NOT_A_LITERAL (for jsp_operand_t::TMP).
|
||||
*/
|
||||
lit_cpointer_t
|
||||
get_literal (void) const
|
||||
{
|
||||
JERRY_ASSERT (_type != jsp_operand_t::UNINITIALIZED);
|
||||
|
||||
if (_type == jsp_operand_t::TMP)
|
||||
{
|
||||
return NOT_A_LITERAL;
|
||||
}
|
||||
else if (_type == jsp_operand_t::LITERAL)
|
||||
{
|
||||
return _data.lit_id;
|
||||
}
|
||||
else
|
||||
{
|
||||
JERRY_ASSERT (_type == jsp_operand_t::EMPTY);
|
||||
|
||||
return NOT_A_LITERAL;
|
||||
}
|
||||
} /* get_literal */
|
||||
|
||||
private:
|
||||
union
|
||||
{
|
||||
idx_t uid;
|
||||
lit_cpointer_t lit_id;
|
||||
} data;
|
||||
} operand;
|
||||
idx_t uid; /**< byte-code register index (for jsp_operand_t::TMP) */
|
||||
lit_cpointer_t lit_id; /**< literal (for jsp_operand_t::LITERAL) */
|
||||
} _data;
|
||||
|
||||
type_t _type; /**< type of operand */
|
||||
};
|
||||
|
||||
typedef enum __attr_packed___
|
||||
{
|
||||
@@ -47,11 +215,11 @@ typedef enum __attr_packed___
|
||||
VARG_CALL_EXPR
|
||||
} varg_list_type;
|
||||
|
||||
operand empty_operand (void);
|
||||
operand literal_operand (lit_cpointer_t);
|
||||
operand eval_ret_operand (void);
|
||||
operand jsp_create_operand_for_in_special_reg (void);
|
||||
bool operand_is_empty (operand);
|
||||
jsp_operand_t empty_operand (void);
|
||||
jsp_operand_t literal_operand (lit_cpointer_t);
|
||||
jsp_operand_t eval_ret_operand (void);
|
||||
jsp_operand_t jsp_create_operand_for_in_special_reg (void);
|
||||
bool operand_is_empty (jsp_operand_t);
|
||||
|
||||
void dumper_init (void);
|
||||
void dumper_free (void);
|
||||
@@ -64,128 +232,128 @@ void dumper_finish_scope (void);
|
||||
void dumper_start_varg_code_sequence (void);
|
||||
void dumper_finish_varg_code_sequence (void);
|
||||
|
||||
extern bool dumper_is_eval_literal (operand);
|
||||
extern bool dumper_is_eval_literal (jsp_operand_t);
|
||||
|
||||
operand dump_array_hole_assignment_res (void);
|
||||
void dump_boolean_assignment (operand, bool);
|
||||
operand dump_boolean_assignment_res (bool);
|
||||
void dump_string_assignment (operand, lit_cpointer_t);
|
||||
operand dump_string_assignment_res (lit_cpointer_t);
|
||||
void dump_number_assignment (operand, lit_cpointer_t);
|
||||
operand dump_number_assignment_res (lit_cpointer_t);
|
||||
void dump_regexp_assignment (operand, lit_cpointer_t);
|
||||
operand dump_regexp_assignment_res (lit_cpointer_t);
|
||||
void dump_smallint_assignment (operand, idx_t);
|
||||
operand dump_smallint_assignment_res (idx_t);
|
||||
void dump_undefined_assignment (operand);
|
||||
operand dump_undefined_assignment_res (void);
|
||||
void dump_null_assignment (operand);
|
||||
operand dump_null_assignment_res (void);
|
||||
void dump_variable_assignment (operand, operand);
|
||||
operand dump_variable_assignment_res (operand);
|
||||
jsp_operand_t dump_array_hole_assignment_res (void);
|
||||
void dump_boolean_assignment (jsp_operand_t, bool);
|
||||
jsp_operand_t dump_boolean_assignment_res (bool);
|
||||
void dump_string_assignment (jsp_operand_t, lit_cpointer_t);
|
||||
jsp_operand_t dump_string_assignment_res (lit_cpointer_t);
|
||||
void dump_number_assignment (jsp_operand_t, lit_cpointer_t);
|
||||
jsp_operand_t dump_number_assignment_res (lit_cpointer_t);
|
||||
void dump_regexp_assignment (jsp_operand_t, lit_cpointer_t);
|
||||
jsp_operand_t dump_regexp_assignment_res (lit_cpointer_t);
|
||||
void dump_smallint_assignment (jsp_operand_t, idx_t);
|
||||
jsp_operand_t dump_smallint_assignment_res (idx_t);
|
||||
void dump_undefined_assignment (jsp_operand_t);
|
||||
jsp_operand_t dump_undefined_assignment_res (void);
|
||||
void dump_null_assignment (jsp_operand_t);
|
||||
jsp_operand_t dump_null_assignment_res (void);
|
||||
void dump_variable_assignment (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_variable_assignment_res (jsp_operand_t);
|
||||
|
||||
void dump_varg_header_for_rewrite (varg_list_type, operand);
|
||||
operand rewrite_varg_header_set_args_count (size_t);
|
||||
void dump_call_additional_info (opcode_call_flags_t, operand);
|
||||
void dump_varg (operand);
|
||||
void dump_varg_header_for_rewrite (varg_list_type, jsp_operand_t);
|
||||
jsp_operand_t rewrite_varg_header_set_args_count (size_t);
|
||||
void dump_call_additional_info (opcode_call_flags_t, jsp_operand_t);
|
||||
void dump_varg (jsp_operand_t);
|
||||
|
||||
void dump_prop_name_and_value (operand, operand);
|
||||
void dump_prop_getter_decl (operand, operand);
|
||||
void dump_prop_setter_decl (operand, operand);
|
||||
void dump_prop_getter (operand, operand, operand);
|
||||
operand dump_prop_getter_res (operand, operand);
|
||||
void dump_prop_setter (operand, operand, operand);
|
||||
void dump_prop_name_and_value (jsp_operand_t, jsp_operand_t);
|
||||
void dump_prop_getter_decl (jsp_operand_t, jsp_operand_t);
|
||||
void dump_prop_setter_decl (jsp_operand_t, jsp_operand_t);
|
||||
void dump_prop_getter (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_prop_getter_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_prop_setter (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
|
||||
void dump_function_end_for_rewrite (void);
|
||||
void rewrite_function_end ();
|
||||
|
||||
void dump_this (operand);
|
||||
operand dump_this_res (void);
|
||||
void dump_this (jsp_operand_t);
|
||||
jsp_operand_t dump_this_res (void);
|
||||
|
||||
void dump_post_increment (operand, operand);
|
||||
operand dump_post_increment_res (operand);
|
||||
void dump_post_decrement (operand, operand);
|
||||
operand dump_post_decrement_res (operand);
|
||||
void dump_pre_increment (operand, operand);
|
||||
operand dump_pre_increment_res (operand);
|
||||
void dump_pre_decrement (operand, operand);
|
||||
operand dump_pre_decrement_res (operand);
|
||||
void dump_unary_plus (operand, operand);
|
||||
operand dump_unary_plus_res (operand);
|
||||
void dump_unary_minus (operand, operand);
|
||||
operand dump_unary_minus_res (operand);
|
||||
void dump_bitwise_not (operand, operand);
|
||||
operand dump_bitwise_not_res (operand);
|
||||
void dump_logical_not (operand, operand);
|
||||
operand dump_logical_not_res (operand);
|
||||
void dump_post_increment (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_post_increment_res (jsp_operand_t);
|
||||
void dump_post_decrement (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_post_decrement_res (jsp_operand_t);
|
||||
void dump_pre_increment (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_pre_increment_res (jsp_operand_t);
|
||||
void dump_pre_decrement (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_pre_decrement_res (jsp_operand_t);
|
||||
void dump_unary_plus (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_unary_plus_res (jsp_operand_t);
|
||||
void dump_unary_minus (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_unary_minus_res (jsp_operand_t);
|
||||
void dump_bitwise_not (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_bitwise_not_res (jsp_operand_t);
|
||||
void dump_logical_not (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_logical_not_res (jsp_operand_t);
|
||||
|
||||
void dump_multiplication (operand, operand, operand);
|
||||
operand dump_multiplication_res (operand, operand);
|
||||
void dump_division (operand, operand, operand);
|
||||
operand dump_division_res (operand, operand);
|
||||
void dump_remainder (operand, operand, operand);
|
||||
operand dump_remainder_res (operand, operand);
|
||||
void dump_addition (operand, operand, operand);
|
||||
operand dump_addition_res (operand, operand);
|
||||
void dump_substraction (operand, operand, operand);
|
||||
operand dump_substraction_res (operand, operand);
|
||||
void dump_left_shift (operand, operand, operand);
|
||||
operand dump_left_shift_res (operand, operand);
|
||||
void dump_right_shift (operand, operand, operand);
|
||||
operand dump_right_shift_res (operand, operand);
|
||||
void dump_right_shift_ex (operand, operand, operand);
|
||||
operand dump_right_shift_ex_res (operand, operand);
|
||||
void dump_less_than (operand, operand, operand);
|
||||
operand dump_less_than_res (operand, operand);
|
||||
void dump_greater_than (operand, operand, operand);
|
||||
operand dump_greater_than_res (operand, operand);
|
||||
void dump_less_or_equal_than (operand, operand, operand);
|
||||
operand dump_less_or_equal_than_res (operand, operand);
|
||||
void dump_greater_or_equal_than (operand, operand, operand);
|
||||
operand dump_greater_or_equal_than_res (operand, operand);
|
||||
void dump_instanceof (operand, operand, operand);
|
||||
operand dump_instanceof_res (operand, operand);
|
||||
void dump_in (operand, operand, operand);
|
||||
operand dump_in_res (operand, operand);
|
||||
void dump_equal_value (operand, operand, operand);
|
||||
operand dump_equal_value_res (operand, operand);
|
||||
void dump_not_equal_value (operand, operand, operand);
|
||||
operand dump_not_equal_value_res (operand, operand);
|
||||
void dump_equal_value_type (operand, operand, operand);
|
||||
operand dump_equal_value_type_res (operand, operand);
|
||||
void dump_not_equal_value_type (operand, operand, operand);
|
||||
operand dump_not_equal_value_type_res (operand, operand);
|
||||
void dump_bitwise_and (operand, operand, operand);
|
||||
operand dump_bitwise_and_res (operand, operand);
|
||||
void dump_bitwise_xor (operand, operand, operand);
|
||||
operand dump_bitwise_xor_res (operand, operand);
|
||||
void dump_bitwise_or (operand, operand, operand);
|
||||
operand dump_bitwise_or_res (operand, operand);
|
||||
void dump_multiplication (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_multiplication_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_division (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_division_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_remainder (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_remainder_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_addition (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_addition_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_substraction (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_substraction_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_left_shift (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_left_shift_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_right_shift (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_right_shift_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_right_shift_ex (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_right_shift_ex_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_less_than (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_less_than_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_greater_than (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_greater_than_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_less_or_equal_than (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_less_or_equal_than_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_greater_or_equal_than (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_greater_or_equal_than_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_instanceof (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_instanceof_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_in (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_in_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_equal_value (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_equal_value_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_not_equal_value (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_not_equal_value_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_equal_value_type (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_equal_value_type_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_not_equal_value_type (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_not_equal_value_type_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_bitwise_and (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_bitwise_and_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_bitwise_xor (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_bitwise_xor_res (jsp_operand_t, jsp_operand_t);
|
||||
void dump_bitwise_or (jsp_operand_t, jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_bitwise_or_res (jsp_operand_t, jsp_operand_t);
|
||||
|
||||
void start_dumping_logical_and_checks (void);
|
||||
void dump_logical_and_check_for_rewrite (operand);
|
||||
void dump_logical_and_check_for_rewrite (jsp_operand_t);
|
||||
void rewrite_logical_and_checks (void);
|
||||
void start_dumping_logical_or_checks (void);
|
||||
void dump_logical_or_check_for_rewrite (operand);
|
||||
void dump_logical_or_check_for_rewrite (jsp_operand_t);
|
||||
void rewrite_logical_or_checks (void);
|
||||
void dump_conditional_check_for_rewrite (operand);
|
||||
void dump_conditional_check_for_rewrite (jsp_operand_t);
|
||||
void rewrite_conditional_check (void);
|
||||
void dump_jump_to_end_for_rewrite (void);
|
||||
void rewrite_jump_to_end (void);
|
||||
|
||||
void start_dumping_assignment_expression (void);
|
||||
operand dump_prop_setter_or_variable_assignment_res (operand, operand);
|
||||
operand dump_prop_setter_or_addition_res (operand, operand);
|
||||
operand dump_prop_setter_or_multiplication_res (operand, operand);
|
||||
operand dump_prop_setter_or_division_res (operand, operand);
|
||||
operand dump_prop_setter_or_remainder_res (operand, operand);
|
||||
operand dump_prop_setter_or_substraction_res (operand, operand);
|
||||
operand dump_prop_setter_or_left_shift_res (operand, operand);
|
||||
operand dump_prop_setter_or_right_shift_res (operand, operand);
|
||||
operand dump_prop_setter_or_right_shift_ex_res (operand, operand);
|
||||
operand dump_prop_setter_or_bitwise_and_res (operand, operand);
|
||||
operand dump_prop_setter_or_bitwise_xor_res (operand, operand);
|
||||
operand dump_prop_setter_or_bitwise_or_res (operand, operand);
|
||||
jsp_operand_t dump_prop_setter_or_variable_assignment_res (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_prop_setter_or_addition_res (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_prop_setter_or_multiplication_res (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_prop_setter_or_division_res (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_prop_setter_or_remainder_res (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_prop_setter_or_substraction_res (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_prop_setter_or_left_shift_res (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_prop_setter_or_right_shift_res (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_prop_setter_or_right_shift_ex_res (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_prop_setter_or_bitwise_and_res (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_prop_setter_or_bitwise_xor_res (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_prop_setter_or_bitwise_or_res (jsp_operand_t, jsp_operand_t);
|
||||
|
||||
void dumper_set_break_target (void);
|
||||
void dumper_set_continue_target (void);
|
||||
@@ -196,37 +364,37 @@ dump_simple_or_nested_jump_for_rewrite (bool is_simple_jump,
|
||||
vm_instr_counter_t
|
||||
rewrite_simple_or_nested_jump_and_get_next (vm_instr_counter_t jump_oc,
|
||||
vm_instr_counter_t target_oc);
|
||||
void dump_continue_iterations_check (operand);
|
||||
void dump_continue_iterations_check (jsp_operand_t);
|
||||
|
||||
void start_dumping_case_clauses (void);
|
||||
void dump_case_clause_check_for_rewrite (operand, operand);
|
||||
void dump_case_clause_check_for_rewrite (jsp_operand_t, jsp_operand_t);
|
||||
void dump_default_clause_check_for_rewrite (void);
|
||||
void rewrite_case_clause (void);
|
||||
void rewrite_default_clause (void);
|
||||
void finish_dumping_case_clauses (void);
|
||||
|
||||
void dump_delete (operand, operand, bool, locus);
|
||||
operand dump_delete_res (operand, bool, locus);
|
||||
void dump_delete (jsp_operand_t, jsp_operand_t, bool, locus);
|
||||
jsp_operand_t dump_delete_res (jsp_operand_t, bool, locus);
|
||||
|
||||
void dump_typeof (operand, operand);
|
||||
operand dump_typeof_res (operand);
|
||||
void dump_typeof (jsp_operand_t, jsp_operand_t);
|
||||
jsp_operand_t dump_typeof_res (jsp_operand_t);
|
||||
|
||||
vm_instr_counter_t dump_with_for_rewrite (operand);
|
||||
vm_instr_counter_t dump_with_for_rewrite (jsp_operand_t);
|
||||
void rewrite_with (vm_instr_counter_t);
|
||||
void dump_with_end (void);
|
||||
|
||||
vm_instr_counter_t dump_for_in_for_rewrite (operand);
|
||||
vm_instr_counter_t dump_for_in_for_rewrite (jsp_operand_t);
|
||||
void rewrite_for_in (vm_instr_counter_t);
|
||||
void dump_for_in_end (void);
|
||||
|
||||
void dump_try_for_rewrite (void);
|
||||
void rewrite_try (void);
|
||||
void dump_catch_for_rewrite (operand);
|
||||
void dump_catch_for_rewrite (jsp_operand_t);
|
||||
void rewrite_catch (void);
|
||||
void dump_finally_for_rewrite (void);
|
||||
void rewrite_finally (void);
|
||||
void dump_end_try_catch_finally (void);
|
||||
void dump_throw (operand);
|
||||
void dump_throw (jsp_operand_t);
|
||||
|
||||
bool dumper_variable_declaration_exists (lit_cpointer_t);
|
||||
void dump_variable_declaration (lit_cpointer_t);
|
||||
@@ -239,6 +407,6 @@ void dump_reg_var_decl_for_rewrite (void);
|
||||
void rewrite_reg_var_decl (void);
|
||||
|
||||
void dump_ret (void);
|
||||
void dump_retval (operand op);
|
||||
void dump_retval (jsp_operand_t op);
|
||||
|
||||
#endif /* OPCODES_DUMPER_H */
|
||||
|
||||
Reference in New Issue
Block a user