1035 case IF_ICMPGE:
1036 case IF_ICMPGT:
1037 case IF_ICMPLE:
1038 current_frame.pop_stack(
1039 VerificationType.integer_type);
1040 // fall through
1041 case IFEQ:
1042 case IFNE:
1043 case IFLT:
1044 case IFGE:
1045 case IFGT:
1046 case IFLE:
1047 current_frame.pop_stack(
1048 VerificationType.integer_type);
1049 target = bcs.dest();
1050 stackmap_table.check_jump_target(
1051 current_frame, target);
1052 no_control_flow = false; break;
1053 case IF_ACMPEQ :
1054 case IF_ACMPNE :
1055 current_frame.pop_stack(
1056 VerificationType.reference_check);
1057 // fall through
1058 case IFNULL :
1059 case IFNONNULL :
1060 current_frame.pop_stack(
1061 VerificationType.reference_check);
1062 target = bcs.dest();
1063 stackmap_table.check_jump_target
1064 (current_frame, target);
1065 no_control_flow = false; break;
1066 case GOTO :
1067 target = bcs.dest();
1068 stackmap_table.check_jump_target(
1069 current_frame, target);
1070 no_control_flow = true; break;
1071 case GOTO_W :
1072 target = bcs.destW();
1073 stackmap_table.check_jump_target(
1074 current_frame, target);
1075 no_control_flow = true; break;
1076 case TABLESWITCH :
1077 case LOOKUPSWITCH :
1078 verify_switch(
1079 bcs, code_length, code_data, current_frame,
1080 stackmap_table);
1081 no_control_flow = true; break;
|
1035 case IF_ICMPGE:
1036 case IF_ICMPGT:
1037 case IF_ICMPLE:
1038 current_frame.pop_stack(
1039 VerificationType.integer_type);
1040 // fall through
1041 case IFEQ:
1042 case IFNE:
1043 case IFLT:
1044 case IFGE:
1045 case IFGT:
1046 case IFLE:
1047 current_frame.pop_stack(
1048 VerificationType.integer_type);
1049 target = bcs.dest();
1050 stackmap_table.check_jump_target(
1051 current_frame, target);
1052 no_control_flow = false; break;
1053 case IF_ACMPEQ :
1054 case IF_ACMPNE :
1055 current_frame.pop_stack(object_type());
1056 // fall through
1057 case IFNULL :
1058 case IFNONNULL :
1059 current_frame.pop_stack(object_type());
1060 target = bcs.dest();
1061 stackmap_table.check_jump_target
1062 (current_frame, target);
1063 no_control_flow = false; break;
1064 case GOTO :
1065 target = bcs.dest();
1066 stackmap_table.check_jump_target(
1067 current_frame, target);
1068 no_control_flow = true; break;
1069 case GOTO_W :
1070 target = bcs.destW();
1071 stackmap_table.check_jump_target(
1072 current_frame, target);
1073 no_control_flow = true; break;
1074 case TABLESWITCH :
1075 case LOOKUPSWITCH :
1076 verify_switch(
1077 bcs, code_length, code_data, current_frame,
1078 stackmap_table);
1079 no_control_flow = true; break;
|