< prev index next >

src/hotspot/share/ci/ciStreams.hpp

Print this page


 218   int get_int_table( int index ) const {
 219     return Bytes::get_Java_u4((address)&_table_base[index]); }
 220 
 221   // For tableswitch - get length of offset part
 222   int get_tableswitch_length()  { return get_int_table(2)-get_int_table(1)+1; }
 223 
 224   int get_dest_table( int index ) const {
 225     return cur_bci() + get_int_table(index); }
 226 
 227   // --- Constant pool access ---
 228   int get_constant_raw_index() const;
 229   int get_constant_pool_index() const;
 230   int get_constant_cache_index() const;
 231   int get_field_index();
 232   int get_method_index();
 233 
 234   // If this bytecode is a new, newarray, multianewarray, instanceof,
 235   // or checkcast, get the referenced klass.
 236   ciKlass* get_klass(bool& will_link);
 237   int get_klass_index() const;
 238   bool get_never_null() const;
 239 
 240   // If this bytecode is one of the ldc variants, get the referenced
 241   // constant.  Do not attempt to resolve it, since that would require
 242   // execution of Java code.  If it is not resolved, return an unloaded
 243   // object (ciConstant.as_object()->is_loaded() == false).
 244   ciConstant get_constant();
 245   constantTag get_constant_pool_tag(int index) const;
 246 
 247   // True if the klass-using bytecode points to an unresolved klass
 248   bool is_unresolved_klass() const {
 249     constantTag tag = get_constant_pool_tag(get_klass_index());
 250     return tag.is_unresolved_klass();
 251   }
 252 
 253   // If this bytecode is one of get_field, get_static, put_field,
 254   // or put_static, get the referenced field.
 255   ciField* get_field(bool& will_link);
 256 
 257   ciInstanceKlass* get_declared_field_holder();
 258   int      get_field_holder_index();




 218   int get_int_table( int index ) const {
 219     return Bytes::get_Java_u4((address)&_table_base[index]); }
 220 
 221   // For tableswitch - get length of offset part
 222   int get_tableswitch_length()  { return get_int_table(2)-get_int_table(1)+1; }
 223 
 224   int get_dest_table( int index ) const {
 225     return cur_bci() + get_int_table(index); }
 226 
 227   // --- Constant pool access ---
 228   int get_constant_raw_index() const;
 229   int get_constant_pool_index() const;
 230   int get_constant_cache_index() const;
 231   int get_field_index();
 232   int get_method_index();
 233 
 234   // If this bytecode is a new, newarray, multianewarray, instanceof,
 235   // or checkcast, get the referenced klass.
 236   ciKlass* get_klass(bool& will_link);
 237   int get_klass_index() const;
 238   bool is_klass_never_null() const;
 239 
 240   // If this bytecode is one of the ldc variants, get the referenced
 241   // constant.  Do not attempt to resolve it, since that would require
 242   // execution of Java code.  If it is not resolved, return an unloaded
 243   // object (ciConstant.as_object()->is_loaded() == false).
 244   ciConstant get_constant();
 245   constantTag get_constant_pool_tag(int index) const;
 246 
 247   // True if the klass-using bytecode points to an unresolved klass
 248   bool is_unresolved_klass() const {
 249     constantTag tag = get_constant_pool_tag(get_klass_index());
 250     return tag.is_unresolved_klass();
 251   }
 252 
 253   // If this bytecode is one of get_field, get_static, put_field,
 254   // or put_static, get the referenced field.
 255   ciField* get_field(bool& will_link);
 256 
 257   ciInstanceKlass* get_declared_field_holder();
 258   int      get_field_holder_index();


< prev index next >