Mon, 24 Mar 2014 10:48:44 -0700
8033566: [parfait] warning from b128 for hotspot/src/share/vm/runtime/frame.cpp: JNI primitive type mismatch
Summary: added an assert for checking the return value is <= max_jint
Reviewed-by: coleenp, minqi
src/share/vm/runtime/frame.cpp | file | annotate | diff | comparison | revisions |
1.1 --- a/src/share/vm/runtime/frame.cpp Thu Mar 20 14:25:22 2014 -0700 1.2 +++ b/src/share/vm/runtime/frame.cpp Mon Mar 24 10:48:44 2014 -0700 1.3 @@ -531,13 +531,16 @@ 1.4 // Number of elements on the interpreter expression stack 1.5 // Callers should span by stackElementWords 1.6 int element_size = Interpreter::stackElementWords; 1.7 + size_t stack_size = 0; 1.8 if (frame::interpreter_frame_expression_stack_direction() < 0) { 1.9 - return (interpreter_frame_expression_stack() - 1.10 - interpreter_frame_tos_address() + 1)/element_size; 1.11 + stack_size = (interpreter_frame_expression_stack() - 1.12 + interpreter_frame_tos_address() + 1)/element_size; 1.13 } else { 1.14 - return (interpreter_frame_tos_address() - 1.15 - interpreter_frame_expression_stack() + 1)/element_size; 1.16 + stack_size = (interpreter_frame_tos_address() - 1.17 + interpreter_frame_expression_stack() + 1)/element_size; 1.18 } 1.19 + assert( stack_size <= (size_t)max_jint, "stack size too big"); 1.20 + return ((jint)stack_size); 1.21 } 1.22 1.23