< prev index next >

src/share/vm/ci/ciTypeFlow.hpp

Print this page

        

*** 339,356 **** void pop_array() { assert(type_at_tos() == null_type() || type_at_tos()->is_array_klass(), "must be array type"); pop(); } ! // pop_objArray and pop_typeArray narrow the tos to ciObjArrayKlass ! // or ciTypeArrayKlass (resp.). In the rare case that an explicit // null is popped from the stack, we return NULL. Caller beware. ! ciObjArrayKlass* pop_objArray() { ciType* array = pop_value(); if (array == null_type()) return NULL; ! assert(array->is_obj_array_klass(), "must be object array type"); ! return array->as_obj_array_klass(); } ciTypeArrayKlass* pop_typeArray() { ciType* array = pop_value(); if (array == null_type()) return NULL; assert(array->is_type_array_klass(), "must be prim array type"); --- 339,358 ---- void pop_array() { assert(type_at_tos() == null_type() || type_at_tos()->is_array_klass(), "must be array type"); pop(); } ! // pop_valueOrobjArray and pop_typeArray narrow the tos to ciObjArrayKlass, ! // ciValueArrayKlass or ciTypeArrayKlass (resp.). In the rare case that an explicit // null is popped from the stack, we return NULL. Caller beware. ! ciArrayKlass* pop_objOrValueArray() { ciType* array = pop_value(); if (array == null_type()) return NULL; ! // Value type arrays may contain oop or flattened representation ! assert(array->is_obj_array_klass() || (ValueArrayFlatten && array->is_value_array_klass()), ! "must be value or object array type"); ! return array->as_array_klass(); } ciTypeArrayKlass* pop_typeArray() { ciType* array = pop_value(); if (array == null_type()) return NULL; assert(array->is_type_array_klass(), "must be prim array type");
*** 360,370 **** push(null_type()); } void do_null_assert(ciKlass* unloaded_klass); // Helper convenience routines. ! void do_aaload(ciBytecodeStream* str); void do_checkcast(ciBytecodeStream* str); void do_getfield(ciBytecodeStream* str); void do_getstatic(ciBytecodeStream* str); void do_invoke(ciBytecodeStream* str, bool has_receiver); void do_jsr(ciBytecodeStream* str); --- 362,372 ---- push(null_type()); } void do_null_assert(ciKlass* unloaded_klass); // Helper convenience routines. ! void do_aload(ciBytecodeStream* str); void do_checkcast(ciBytecodeStream* str); void do_getfield(ciBytecodeStream* str); void do_getstatic(ciBytecodeStream* str); void do_invoke(ciBytecodeStream* str, bool has_receiver); void do_jsr(ciBytecodeStream* str);
< prev index next >