X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Fjava%2Fverify-glue.c;h=3dfe608808c4d888d7bd39d0edc43b7785951571;hp=7b16e16473a9414b455a0051c50ec2ec9e3b8370;hb=638e4b601d7a084f2a2b51c2aa8f50341e8dc0f7;hpb=f8520ad797ec8cbb3919b39111f411babfe46e86 diff --git a/gcc/java/verify-glue.c b/gcc/java/verify-glue.c index 7b16e16473a..3dfe608808c 100644 --- a/gcc/java/verify-glue.c +++ b/gcc/java/verify-glue.c @@ -393,37 +393,41 @@ vfy_get_primitive_type (int type) void vfy_note_stack_depth (vfy_method *method, int pc, int depth) { - tree label = lookup_label (pc); - LABEL_TYPE_STATE (label) = make_tree_vec (method->max_locals + depth); + tree val = make_tree_vec (method->max_locals + depth); + VEC_replace (tree, type_states, pc, val); + /* Called for side effects. */ + lookup_label (pc); } void vfy_note_stack_type (vfy_method *method, int pc, int slot, vfy_jclass type) { - tree label, vec; + tree vec; slot += method->max_locals; if (type == object_type_node) type = object_ptr_type_node; - label = lookup_label (pc); - vec = LABEL_TYPE_STATE (label); + vec = VEC_index (tree, type_states, pc); TREE_VEC_ELT (vec, slot) = type; + /* Called for side effects. */ + lookup_label (pc); } void vfy_note_local_type (vfy_method *method ATTRIBUTE_UNUSED, int pc, int slot, vfy_jclass type) { - tree label, vec; + tree vec; if (type == object_type_node) type = object_ptr_type_node; - label = lookup_label (pc); - vec = LABEL_TYPE_STATE (label); + vec = VEC_index (tree, type_states, pc); TREE_VEC_ELT (vec, slot) = type; + /* Called for side effects. */ + lookup_label (pc); } void