< prev index next >

src/share/vm/prims/jvmtiRedefineClasses.cpp

Print this page
rev 7793 : 8073315: Enable gcc -Wtype-limits and fix upcoming issues.


2888     //   same_locals_1_stack_item_frame;
2889     //   same_locals_1_stack_item_frame_extended;
2890     //   chop_frame;
2891     //   same_frame_extended;
2892     //   append_frame;
2893     //   full_frame;
2894     // }
2895 
2896     assert(stackmap_p + 1 <= stackmap_end, "no room for frame_type");
2897     // The Linux compiler does not like frame_type to be u1 or u2. It
2898     // issues the following warning for the first if-statement below:
2899     //
2900     // "warning: comparison is always true due to limited range of data type"
2901     //
2902     u4 frame_type = *stackmap_p;
2903     stackmap_p++;
2904 
2905     // same_frame {
2906     //   u1 frame_type = SAME; /* 0-63 */
2907     // }
2908     if (frame_type >= 0 && frame_type <= 63) {
2909       // nothing more to do for same_frame
2910     }
2911 
2912     // same_locals_1_stack_item_frame {
2913     //   u1 frame_type = SAME_LOCALS_1_STACK_ITEM; /* 64-127 */
2914     //   verification_type_info stack[1];
2915     // }
2916     else if (frame_type >= 64 && frame_type <= 127) {
2917       rewrite_cp_refs_in_verification_type_info(stackmap_p, stackmap_end,
2918         calc_number_of_entries, frame_type, THREAD);
2919     }
2920 
2921     // reserved for future use
2922     else if (frame_type >= 128 && frame_type <= 246) {
2923       // nothing more to do for reserved frame_types
2924     }
2925 
2926     // same_locals_1_stack_item_frame_extended {
2927     //   u1 frame_type = SAME_LOCALS_1_STACK_ITEM_EXTENDED; /* 247 */
2928     //   u2 offset_delta;




2888     //   same_locals_1_stack_item_frame;
2889     //   same_locals_1_stack_item_frame_extended;
2890     //   chop_frame;
2891     //   same_frame_extended;
2892     //   append_frame;
2893     //   full_frame;
2894     // }
2895 
2896     assert(stackmap_p + 1 <= stackmap_end, "no room for frame_type");
2897     // The Linux compiler does not like frame_type to be u1 or u2. It
2898     // issues the following warning for the first if-statement below:
2899     //
2900     // "warning: comparison is always true due to limited range of data type"
2901     //
2902     u4 frame_type = *stackmap_p;
2903     stackmap_p++;
2904 
2905     // same_frame {
2906     //   u1 frame_type = SAME; /* 0-63 */
2907     // }
2908     if (frame_type <= 63) {
2909       // nothing more to do for same_frame
2910     }
2911 
2912     // same_locals_1_stack_item_frame {
2913     //   u1 frame_type = SAME_LOCALS_1_STACK_ITEM; /* 64-127 */
2914     //   verification_type_info stack[1];
2915     // }
2916     else if (frame_type >= 64 && frame_type <= 127) {
2917       rewrite_cp_refs_in_verification_type_info(stackmap_p, stackmap_end,
2918         calc_number_of_entries, frame_type, THREAD);
2919     }
2920 
2921     // reserved for future use
2922     else if (frame_type >= 128 && frame_type <= 246) {
2923       // nothing more to do for reserved frame_types
2924     }
2925 
2926     // same_locals_1_stack_item_frame_extended {
2927     //   u1 frame_type = SAME_LOCALS_1_STACK_ITEM_EXTENDED; /* 247 */
2928     //   u2 offset_delta;


< prev index next >