41 using namespace cacao;
102 if (!cb.check_size(1))
105 verification_type_info->tag = cb.read_u1();
109 switch (verification_type_info->tag) {
122 if (!cb.check_size(2))
125 verification_type_info->Object_variable_info.cpool_index = cb.read_u2();
131 if (!cb.check_size(2))
134 verification_type_info->Uninitialized_variable_info.offset = cb.read_u2();
157 same_locals_1_stack_item_frame =
183 same_locals_1_stack_item_frame_extended =
297 number_of_locals = append_frame->
frame_type - 251;
303 for (i = 0; i < number_of_locals; i++)
verification_type_info_t stack[1]
same_locals_1_stack_item_frame_extended_t same_locals_1_stack_item_frame_extended
stack_map_frame_t * entries
#define STATISTICS(x)
Wrapper for statistics only code.
same_frame_extended_t same_frame_extended
static bool stackmap_get_same_locals_1_stack_item_frame(ClassBuffer &cb, stack_map_frame_t *stack_map_frame)
static bool stackmap_get_chop_frame(ClassBuffer &cb, stack_map_frame_t *stack_map_frame)
#define FRAME_TYPE_RESERVED
verification_type_info_t * stack
void exceptions_throw_classformaterror(classinfo *c, const char *message,...)
static bool stackmap_get_verification_type_info(ClassBuffer &cb, verification_type_info_t *verification_type_info)
append_frame_t append_frame
same_locals_1_stack_item_frame_t same_locals_1_stack_item_frame
#define FRAME_TYPE_SAME_LOCALS_1_STACK_ITEM
verification_type_info_t stack[1]
bool stackmap_load_attribute_stackmaptable(ClassBuffer &cb, methodinfo *m)
#define FRAME_TYPE_FULL_FRAME
This file contains the statistics framework.
#define ITEM_UninitializedThis
#define FRAME_TYPE_APPEND
verification_type_info_t * locals
static bool stackmap_get_full_frame(ClassBuffer &cb, stack_map_frame_t *stack_map_frame)
#define FRAME_TYPE_SAME_LOCALS_1_STACK_ITEM_EXTENDED
#define ITEM_Uninitialized
static bool stackmap_get_append_frame(ClassBuffer &cb, stack_map_frame_t *stack_map_frame)
classinfo * get_class() const
static bool stackmap_get_same_frame_extended(ClassBuffer &cb, stack_map_frame_t *stack_map_frame)
bool check_size(size_t sz)
Assert that at least <sz> bytes are left to read.
static bool stackmap_get_same_locals_1_stack_item_frame_extended(ClassBuffer &cb, stack_map_frame_t *stack_map_frame)
verification_type_info_t * locals
#define STAT_DECLARE_VAR(type, var, init)
Declare an external statistics variable.
#define FRAME_TYPE_SAME_FRAME_EXTENDED