oopDesc Class Reference

#include <oop.hpp>

Inheritance diagram for oopDesc:

Inheritance graph
[legend]
Collaboration diagram for oopDesc:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 oopDesc ()
int tag () const
bool is_smi () const
bool is_mem () const
bool is_mark () const
Klassblueprint () const
klassOop klass () const
smi identity_hash ()
oop scavenge ()
oop relocate ()
bool is_old () const
bool is_new () const
generationmy_generation ()
bool is_double () const
bool is_block () const
bool is_byteArray () const
bool is_doubleByteArray () const
bool is_doubleValueArray () const
bool is_symbol () const
bool is_objArray () const
bool is_weakArray () const
bool is_klass () const
bool is_process () const
bool is_vframe () const
bool is_method () const
bool is_proxy () const
bool is_mixin () const
bool is_association () const
bool is_context () const
bool is_indexable () const
bool is_nil () const
oop primitive_allocate ()
oop primitive_allocate_size (int size)
oop shallow_copy (bool tenured)
bool verify ()
oop gc_mark ()
oop gc_unmark ()
void print_on (outputStream *st)
void print_value_on (outputStream *st)
void print ()
void print_value ()
char * print_string ()
char * print_value_string ()

Public Attributes

markOop _mark
friend memOopKlass

Detailed Description

Definition at line 35 of file oop.hpp.


Constructor & Destructor Documentation

oopDesc::oopDesc (  ) 

Definition at line 28 of file oop.cpp.

References bootstrapping, and ShouldNotCallThis.


Member Function Documentation

Klass * oopDesc::blueprint (  )  const [inline]

Reimplemented in memOopDesc.

Definition at line 31 of file oop.inline.hpp.

References klass(), and klassOopDesc::klass_part().

Referenced by interpreter_super_lookup(), PRIM_DECL_2(), primitive_allocate(), primitive_allocate_size(), print_codes(), print_value_on(), shallow_copy(), and verify().

Here is the call graph for this function:

oop oopDesc::gc_mark (  )  [inline]

Definition at line 102 of file oop.hpp.

oop oopDesc::gc_unmark (  )  [inline]

Definition at line 103 of file oop.hpp.

smi oopDesc::identity_hash (  )  [inline]

Reimplemented in memOopDesc.

Definition at line 33 of file oop.inline.hpp.

References assert, memOopDesc::identity_hash(), smiOopDesc::identity_hash(), is_mem(), and is_smi().

Referenced by LookupKey::hash(), FlatProfiler::interpreted_update(), and PRIM_DECL_1().

Here is the call graph for this function:

bool oopDesc::is_association (  )  const [inline]

Definition at line 65 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_association().

Referenced by Klass::add_classVar(), classVarNode::classVarNode(), ObjectHistogram::counter(), MethodIterator::dispatch(), Klass::local_lookup_class_var(), oopFactory::new_association(), PRIM_DECL_1(), PRIM_DECL_2(), CodeIterator::recustomize_class_var_code(), and CodeIterator::uncustomize_class_var_code().

Here is the call graph for this function:

bool oopDesc::is_block (  )  const [inline]

Definition at line 58 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_block().

Referenced by ObjectHistogram::counter(), deoptimize_block(), deoptimize_context_and_patch_block(), and validateContextChain().

Here is the call graph for this function:

bool oopDesc::is_byteArray (  )  const [inline]

Definition at line 59 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_byteArray().

Referenced by ObjectHistogram::counter(), TempDecoder::decode(), get_literal_node(), PRIM_DECL_1(), PRIM_DECL_2(), PRIM_DECL_3(), and PRIM_DECL_6().

Here is the call graph for this function:

bool oopDesc::is_context (  )  const [inline]

Definition at line 66 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_context().

Referenced by ObjectHistogram::counter(), deoptimize_block(), deoptimize_context_and_patch_block(), AllObjectsClosure::do_object(), ReferencesToInstancesOfClosure::do_object(), ReferencesToClosure::do_object(), InstancesOfClosure::do_object(), contextOopDesc::has_outer_context(), interpretedVFrame::interpreter_context(), blockClosureOopDesc::is_pure(), contextKlass::oop_print_on(), contextKlass::oop_print_value_on(), contextOopDesc::outer_context(), interpretedVFrame::receiver(), contextOopDesc::unoptimized_context(), and validateContextChain().

Here is the call graph for this function:

bool oopDesc::is_double (  )  const [inline]

Definition at line 57 of file oop.inline.hpp.

References doubleKlassObj, is_mem(), and memOopDesc::klass_field().

Referenced by ObjectHistogram::counter(), get_literal_node(), PRIM_DECL_2(), and PRIM_DECL_3().

Here is the call graph for this function:

bool oopDesc::is_doubleByteArray (  )  const [inline]

Definition at line 60 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_doubleByteArray().

Referenced by ObjectHistogram::counter(), get_literal_node(), PRIM_DECL_1(), and PRIM_DECL_2().

Here is the call graph for this function:

bool oopDesc::is_doubleValueArray (  )  const [inline]

Definition at line 61 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_doubleValueArray().

Here is the call graph for this function:

bool oopDesc::is_indexable (  )  const [inline]

Definition at line 73 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_indexable().

Here is the call graph for this function:

bool oopDesc::is_klass (  )  const [inline]

Definition at line 67 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_klass().

Referenced by InterpretedIC::cleanup(), ObjectHistogram::counter(), mixinOopDesc::has_primary_invocation(), Klass::has_same_layout_as(), klassKlass::oop_verify(), PRIM_DECL_1(), PRIM_DECL_2(), PRIM_DECL_3(), print_codes(), InterpretedIC::replace(), scan_key(), InterpretedIC_Iterator::set_klass(), and memOopDesc::verify().

Here is the call graph for this function:

bool oopDesc::is_mark (  )  const [inline]

Definition at line 54 of file oop.hpp.

References Mark_Tag, and tag().

Referenced by print_on(), print_value_on(), oldSpace::scavenge_contents_from(), oldSpace::verify(), newSpace::verify(), and memOopDesc::verify().

Here is the call graph for this function:

bool oopDesc::is_mem (  )  const [inline]

Definition at line 53 of file oop.hpp.

References Mem_Tag, and tag().

Referenced by characterNode::characterNode(), Reflection::convert(), InterpretedIC::does_not_understand(), memOopDesc::forward_to(), identity_hash(), InterpretedIC_Iterator::init_iteration(), is_association(), is_block(), is_byteArray(), is_context(), is_double(), is_doubleByteArray(), is_doubleValueArray(), memOopDesc::is_forwarded(), is_indexable(), is_klass(), is_method(), LookupResult::is_method(), is_mixin(), is_new(), newGeneration::is_new(), is_objArray(), is_old(), is_process(), is_proxy(), symbolTableEntry::is_symbol(), is_symbol(), is_vframe(), is_weakArray(), blockClosureOopDesc::isCompiledBlock(), klass(), WeakArrayRegister::mark_sweep_is_near_death(), PRIM_DECL_1(), PRIM_DECL_2(), PRIM_DECL_3(), MacroAssembler::print_reg(), MarkSweep::reverse(), scavenge(), blockClosureOopDesc::set_jumpAddr(), InterpretedIC_Iterator::set_method(), and Universe::switch_pointers().

Here is the call graph for this function:

bool oopDesc::is_method (  )  const [inline]

Definition at line 72 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_method().

Referenced by mixinOopDesc::add_method(), Klass::add_method(), InterpretedIC::cleanup(), ObjectHistogram::counter(), methodOopDesc::decay_invocation_count(), AllMethodsClosure::do_object(), FlushClosure::do_object(), SumMethodInvocationClosure::do_object(), CollectMethodClosure::do_object(), ClearInvocationCounterClosure::do_object(), frame::follow_roots_interpreted_float_frame(), LookupKey::is_block_type(), Klass::is_method_holder_for(), LookupKey::is_normal_type(), LookupKey::is_super_type(), Klass::local_lookup(), interpretedVFrame::method(), frame::method(), methodKlass::oop_print_on(), methodKlass::oop_print_value_on(), methodOopDesc::parent(), pp(), PRIM_DECL_2(), InterpretedIC::selector(), LookupResult::set(), InterpretedIC_Iterator::set_method(), and verifyMethod().

Here is the call graph for this function:

bool oopDesc::is_mixin (  )  const [inline]

Definition at line 69 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_mixin().

Referenced by Reflection::apply_change(), ObjectHistogram::counter(), PRIM_DECL_1(), PRIM_DECL_2(), and PRIM_DECL_3().

Here is the call graph for this function:

bool oopDesc::is_new (  )  const [inline]

Reimplemented in memOopDesc.

Definition at line 50 of file oop.inline.hpp.

References is_mem(), and memOopDesc::is_new().

Referenced by VerifyOldOopClosure::do_oop(), PRIM_DECL_2(), WeakArrayRegister::scavenge_is_near_death(), and InterpretedIC::set().

Here is the call graph for this function:

bool oopDesc::is_nil (  )  const [inline]

Definition at line 91 of file oop.hpp.

References nilObj.

bool oopDesc::is_objArray (  )  const [inline]

Definition at line 63 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_objArray().

Referenced by Interpreter_PICs::allocate(), ObjectHistogram::counter(), Klass::create_generic_class(), frame::frame_array(), get_literal_node(), InterpretedIC::pic_array(), PRIM_DECL_1(), PRIM_DECL_3(), PRIM_DECL_5(), and PRIM_DECL_6().

Here is the call graph for this function:

bool oopDesc::is_old (  )  const [inline]

Reimplemented in memOopDesc.

Definition at line 49 of file oop.inline.hpp.

References is_mem(), and memOopDesc::is_old().

Referenced by methodKlass::constructMethod(), PRIM_DECL_2(), and tenured().

Here is the call graph for this function:

bool oopDesc::is_process (  )  const [inline]

Definition at line 70 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_process().

Referenced by VMProcess::activate_system(), ObjectHistogram::counter(), PRIM_DECL_0(), PRIM_DECL_1(), PRIM_DECL_2(), and PRIM_DECL_3().

Here is the call graph for this function:

bool oopDesc::is_proxy (  )  const [inline]

Definition at line 68 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_proxy().

Referenced by convert_to_arg(), ObjectHistogram::counter(), handleCallBack(), DLLs::lookup_fail(), PRIM_DECL_1(), PRIM_DECL_2(), PRIM_DECL_3(), PRIM_DECL_4(), PRIM_DECL_5(), PRIM_DECL_6(), and PRIM_DECL_7().

Here is the call graph for this function:

bool oopDesc::is_smi (  )  const [inline]

Definition at line 52 of file oop.hpp.

References Int_Tag, and tag().

Referenced by space::compact(), methodKlass::constructMethod(), convert_to_arg(), MethodIterator::dispatch(), get_literal_node(), handleCallBack(), contextOopDesc::has_parent_fp(), identity_hash(), InterpretedIC_Iterator::init_iteration(), instVarNode::instVarNode(), klass(), objArrayOopDesc::length(), doubleValueArrayOopDesc::length(), doubleByteArrayOopDesc::length(), byteArrayOopDesc::length(), MethodPrinterClosure::normal_send(), PRIM_DECL_1(), PRIM_DECL_2(), PRIM_DECL_3(), PRIM_DECL_4(), PRIM_DECL_5(), PRIM_DECL_6(), print_on(), MacroAssembler::print_reg(), print_value_on(), contextOopDesc::set_home_fp(), and processOopDesc::set_process().

Here is the call graph for this function:

bool oopDesc::is_symbol (  )  const [inline]

Definition at line 62 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_symbol().

Referenced by symbolTable::add(), mixinOopDesc::add_instVar(), symbolTable::basic_add(), Delta::call_generic(), ObjectHistogram::counter(), CodeIterator::customize_class_var_code(), CodeIterator::customize_inst_var_code(), MethodIterator::dispatch(), get_literal_node(), callBack::initialize(), methodOopDesc::is_blockMethod(), TempDecoder::is_heap_parameter(), primitives::lookup_and_patch(), objArrayOopDesc::obj_at_put(), PRIM_DECL_2(), PRIM_DECL_3(), PRIM_DECL_6(), methodOopDesc::selector(), InterpretedIC::selector(), and symbolTable::switch_pointers().

Here is the call graph for this function:

bool oopDesc::is_vframe (  )  const [inline]

Definition at line 71 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_vframe().

Referenced by ObjectHistogram::counter(), and PRIM_DECL_1().

Here is the call graph for this function:

bool oopDesc::is_weakArray (  )  const [inline]

Definition at line 64 of file oop.inline.hpp.

References memOopDesc::blueprint(), is_mem(), and Klass::oop_is_weakArray().

Here is the call graph for this function:

klassOop oopDesc::klass (  )  const [inline]

Definition at line 25 of file oop.inline.hpp.

References assert, is_mem(), is_smi(), memOopDesc::klass_field(), and smiKlassObj.

Referenced by allocate_block_for(), blueprint(), Delta::call_generic(), Reflection::convert_object(), Klass::create_generic_class(), mixinOopDesc::customize_for(), InstancesOfClosure::do_object(), ConvertOopClosure::do_object(), InterpretedIC::does_not_understand(), memOopDesc::initialize_header(), InterpretedIC::inline_cache_miss(), MethodSweeper::klass_task(), Universe::method_holder_of(), Universe::methods_for_do(), ClassChange::new_class_from(), blockClosureOopDesc::number_of_arguments(), PRIM_DECL_1(), PRIM_DECL_2(), PRIM_DECL_3(), PRIM_DECL_4(), PRIM_DECL_5(), scopeNode::print_frame_header(), print_value_on(), FlatProfiler::record_tick_for_calling_frame(), FlatProfiler::record_tick_for_running_frame(), InterpretedIC::replace(), scan_key(), survivorSpace::scavenge_contents_from(), scopeNode::scopeNode(), ClassChange::transfer_misc(), ClassChange::update_class_vars(), ClassChange::update_methods(), validate_lookup(), and memOopDesc::verify().

Here is the call graph for this function:

generation * oopDesc::my_generation (  )  [inline]

Definition at line 52 of file oop.inline.hpp.

References Universe::generation_containing().

Here is the call graph for this function:

oop oopDesc::primitive_allocate (  )  [inline]

Definition at line 80 of file oop.inline.hpp.

References blueprint(), and Klass::oop_primitive_allocate().

Referenced by PRIM_DECL_1(), and PRIM_DECL_2().

Here is the call graph for this function:

oop oopDesc::primitive_allocate_size ( int  size  )  [inline]

Definition at line 84 of file oop.inline.hpp.

References blueprint(), and Klass::oop_primitive_allocate_size().

Here is the call graph for this function:

void oopDesc::print (  ) 

Definition at line 61 of file oop.cpp.

References print_on(), and std.

Referenced by Reflection::apply_change(), decode_method(), VerifyOldOopClosure::do_oop(), evaluator::eval_message(), oat(), pp(), pp_short(), PRIM_DECL_1(), scopeNode::print_frame_header(), and evaluator::process_line().

Here is the call graph for this function:

void oopDesc::print_on ( outputStream st  ) 

Reimplemented in markOopDesc, memOopDesc, and smiOopDesc.

Definition at line 51 of file oop.cpp.

References is_mark(), is_smi(), memOopDesc::print_on(), smiOopDesc::print_on(), and markOopDesc::print_on().

Referenced by print(), and print_string().

Here is the call graph for this function:

char * oopDesc::print_string (  ) 

Definition at line 64 of file oop.cpp.

References stringStream::as_string(), and print_on().

Here is the call graph for this function:

void oopDesc::print_value (  ) 

Definition at line 62 of file oop.cpp.

References print_value_on(), and std.

Referenced by PrintObjectClosure::do_object(), VerifyOldOopClosure::do_oop(), InterpretedIC::does_not_understand(), evaluator::eval_message(), bootstrap::insert_symbol(), primitives::lookup_and_patch(), Interpreter::loop_counter_overflow(), Reflection::needs_schema_change(), PRIM_DECL_1(), DeltaProcess::print(), InterpretedIC::print(), IC::print(), CompiledDLL_Cache::print(), InterpretedDLL_Cache::print(), frame::print_for_deoptimization(), scopeNode::print_frame_header(), contextOopDesc::print_home_on(), rSet::print_set_for_object(), InterpretedIC::trace_inline_cache_miss(), trace_send(), ClassChange::update_class_vars(), and ClassChange::update_methods().

Here is the call graph for this function:

void oopDesc::print_value_on ( outputStream st  ) 

Definition at line 32 of file oop.cpp.

References blueprint(), is_mark(), is_smi(), klass(), Klass::oop_print_value_on(), outputStream::print(), smiOopDesc::print_on(), and markOopDesc::print_on().

Referenced by interpretedVFrame::expression_stack(), MethodPrinterClosure::float_binary(), MethodPrinterClosure::float_binaryToOop(), MethodPrinterClosure::float_floatify(), MethodPrinterClosure::float_nullary(), MethodPrinterClosure::float_unary(), MethodPrinterClosure::float_unaryToOop(), MethodPrinterClosure::normal_send(), methodKlass::oop_print_on(), methodKlass::oop_print_value_on(), blockClosureKlass::oop_print_value_on(), associationKlass::oop_print_value_on(), objArrayKlass::oop_short_print_on(), associationKlass::oop_short_print_on(), print_context_chain(), frame::print_for_deoptimization(), contextOopDesc::print_home_on(), LookupResult::print_on(), print_value(), print_value_string(), MethodPrinterClosure::push_classVar(), MethodPrinterClosure::push_classVar_name(), MethodPrinterClosure::push_global(), MethodPrinterClosure::push_instVar_name(), MethodPrinterClosure::push_literal(), MethodPrinterClosure::self_send(), MethodPrinterClosure::store_classVar(), MethodPrinterClosure::store_classVar_name(), MethodPrinterClosure::store_global(), MethodPrinterClosure::store_instVar_name(), MethodPrinterClosure::super_send(), and cacheElement::verify().

Here is the call graph for this function:

char * oopDesc::print_value_string (  ) 

Definition at line 70 of file oop.cpp.

References stringStream::as_string(), and print_value_on().

Referenced by scopeNode::heap_temp_at(), scopeNode::parameter_at(), scopeNode::print_frame_header(), and scopeNode::stack_temp_at().

Here is the call graph for this function:

oop oopDesc::relocate (  )  [inline]

Definition at line 43 of file oop.inline.hpp.

oop oopDesc::scavenge (  )  [inline]

Reimplemented in memOopDesc, and symbolOopDesc.

Definition at line 39 of file oop.inline.hpp.

References is_mem(), and memOopDesc::scavenge().

Referenced by Universe::scavenge_oop(), and scavenge_oop().

Here is the call graph for this function:

oop oopDesc::shallow_copy ( bool  tenured  )  [inline]

Definition at line 88 of file oop.inline.hpp.

References blueprint(), and Klass::oop_shallow_copy().

Referenced by PRIM_DECL_1(), and tenured().

Here is the call graph for this function:

int oopDesc::tag (  )  const [inline]

Definition at line 51 of file oop.hpp.

References maskBits, and Tag_Mask.

Referenced by is_mark(), is_mem(), and is_smi().

bool oopDesc::verify (  )  [inline]

Reimplemented in blockClosureOopDesc, byteArrayOopDesc, doubleByteArrayOopDesc, doubleValueArrayOopDesc, memOopDesc, objArrayOopDesc, and symbolOopDesc.

Definition at line 76 of file oop.inline.hpp.

References blueprint(), and Klass::oop_verify().

Referenced by VerifyOopClosure::do_oop(), objArrayOopDesc::obj_at_put(), memOopDesc::verify(), blockClosureOopDesc::verify(), and verifyMethod().

Here is the call graph for this function:


Member Data Documentation

markOop oopDesc::_mark

Definition at line 44 of file oop.hpp.

Referenced by memOopDesc::bootstrap_header(), memOopDesc::identity_hash(), memOopDesc::layout_iterate_header(), memOopDesc::mark(), and memOopDesc::set_mark().

friend oopDesc::memOopKlass

Reimplemented in memOopDesc.

Definition at line 117 of file oop.hpp.


The documentation for this class was generated from the following files:
Generated on Mon Oct 9 14:12:11 2006 for Strongtalk VM by  doxygen 1.4.7