ReturnOop next(bool by_ref) { if (by_ref) { return obj_field(next_by_ref_offset()); } else { return obj_field(next_by_id_offset()); } }
void StackmapList::update(int index, jushort count, jushort height, jushort bci) { if (is_short_map(index)) { juint entry = uint_field(entry_stat_offset(index)); GUARANTEE(height <= 0x3, "Invalid map type chosen in set_stack_height"); GUARANTEE(count <= 0xF, "Invalid map type chosen in set_locals"); entry |= ((height & StackmapListDesc::SHORT_ENTRY_STACK_HEIGHT_MASK) << 1) | (count << 3); // clear out existing bci (IMPL_NOTE: is this necessary?) entry &= 0xFFFF007F; // set new bci entry |= (bci << 7); uint_field_put(entry_stat_offset(index), entry); GUARANTEE(get_stack_height(index) == height, "StackmapList:Invalid short stack height"); GUARANTEE(get_locals(index) == count, "StackmapList:Invalid short locals"); GUARANTEE(get_bci(index) == bci, "StackmapList:set_bci failed"); } else { TypeArray::Raw longmap(obj_field(entry_stat_offset(index))); longmap().ushort_at_put(0, count); longmap().ushort_at_put(1, height); longmap().ushort_at_put(2, bci); GUARANTEE(get_stack_height(index) == height, "StackmapList:Invalid long map stack height"); GUARANTEE(get_locals(index) == count, "StackmapList:Invalid long map locals"); GUARANTEE(get_bci(index) == bci, "StackmapList:Invalid long map bci"); } }
void ClassInfo::print_value_on(Stream* st) { #if USE_DEBUG_PRINTING st->print("ClassInfo "); ReturnOop raw_name = obj_field(name_offset()); if (raw_name == Symbols::unknown()->obj()) { st->print("(renamed) "); } print_name_on(st); #endif }
void ClassInfo::print_value_on(Stream* st) { #if ENABLE_TTY_TRACE st->print("ClassInfo "); ReturnOop raw_name = obj_field(name_offset()); if (raw_name == Symbols::unknown()->obj()) { st->print("(renamed) "); } print_name_on(st); #endif }
ReturnOop ConstantPool::checked_symbol_at(int index JVM_TRAPS) { if (is_within_bounds(index)) { int offset = offset_from_index(index); if (ConstantTag::is_symbol(tag_value_at(index))) { Oop::Raw result(obj_field(offset)); if (result().is_symbol()) { return result.obj(); } else { return resolve_symbol_at_offset(offset JVM_NO_CHECK_AT_BOTTOM); } } } Throw::error(invalid_constant JVM_NO_CHECK_AT_BOTTOM); return 0; }
ReturnOop inner_classes() const { return obj_field(inner_classes_offset()); }
// Instance and static variable information, 5-tuples of shorts // [access, name index, sig index, initval index, offset] ReturnOop fields() const { return obj_field(fields_offset()); }
ReturnOop message() { return obj_field(message_offset()); }
ReturnOop previous() const { return obj_field(previous_offset()); }
// Accessors for name ReturnOop get_name() { return obj_field(name_offset()); }
// Returns the Method at index ReturnOop vtable_method_at(int index) { return obj_field(vtable_offset_from_index(index)); }
ReturnOop next(){ return obj_field(next_offset());}
ReturnOop jni_frame() const { return obj_field(jni_frame_offset()); }
ReturnOop profiler_info() { return obj_field(profiler_info_offset()); }
ReturnOop step_info() { return obj_field(step_info_offset()); }
ReturnOop wait_obj() const { return obj_field(wait_obj_offset()); }
ReturnOop next_waiting() const { return obj_field(next_waiting_offset()); }
// Constant pool for this class ReturnOop constants() const { return obj_field(constants_offset()); }
// Interfaces this class declares locally to implement ReturnOop local_interfaces() const { return obj_field(local_interfaces_offset()); }
ReturnOop data(){ return obj_field(data_offset());}
// Returns VM thread object corresponding to this java.lang.Thread instance. ReturnOop thread() { return obj_field(thread_offset()); }
ReturnOop cached_async_info() const { return obj_field(cached_async_info_offset()); }
// ^VirtualStackFrame ReturnOop frame() { return obj_field(frame_offset()); }
// Accessors for the global list (all threads are linked in a single list) ReturnOop global_next( void ) const { return obj_field(global_next_offset()); }
ReturnOop ConstantPool::unresolved_klass_at(int index JVM_TRAPS) const { int offset = offset_from_checked_index(index JVM_ZCHECK_0(offset)); cp_check_0(ConstantTag::is_unresolved_klass(tag_value_at(index))); return obj_field(offset); }
ReturnOop data_buffer() { return obj_field(data_buffer_offset()); }
inline ReturnOop tags() const { return obj_field(tags_offset()); }
// // Accessors to name // ReturnOop name() const { return obj_field(name_offset()); }
ReturnOop backtrace() { return obj_field(backtrace_offset()); }
// Method array ReturnOop methods() const { return obj_field(methods_offset()); }