memOopKlass Class Reference

#include <memOopKlass.hpp>

Inheritance diagram for memOopKlass:

Inheritance graph
[legend]
Collaboration diagram for memOopKlass:

Collaboration graph
[legend]
List of all members.

Public Member Functions

bool can_inline_allocation () const
bool can_have_instance_variables () const
bool can_be_subclassed () const
oop allocateObject ()
oop allocateObjectSize (int size)
klassOop create_subclass (mixinOop mixin, Format format)
Format format ()
oop oop_shallow_copy (oop obj, bool tenured)
char * name () const
int oop_scavenge_contents (oop obj)
int oop_scavenge_tenured_contents (oop obj)
void oop_follow_contents (oop obj)
void oop_print_on (oop obj, outputStream *st)
void oop_print_value_on (oop obj, outputStream *st)
void oop_oop_iterate (oop obj, OopClosure *blk)
void oop_layout_iterate (oop obj, ObjectLayoutClosure *blk)
bool oop_verify (oop obj)
int oop_header_size () const

Static Public Member Functions

static klassOop create_class (klassOop super_class, mixinOop mixin)

Friends

void set_memOopKlass_vtbl (Klass *k)

Detailed Description

Definition at line 26 of file memOopKlass.hpp.


Member Function Documentation

oop memOopKlass::allocateObject (  )  [virtual]

Reimplemented from Klass.

Reimplemented in associationKlass, blockClosureKlass, byteArrayKlass, doubleByteArrayKlass, doubleKlass, doubleValueArrayKlass, klassKlass, mixinKlass, processKlass, proxyKlass, and vframeKlass.

Definition at line 95 of file memOopKlass.cpp.

References Universe::allocate(), Klass::as_klassOop(), as_memOop(), Klass::has_untagged_contents(), memOopDesc::header_size(), memOopDesc::initialize_body(), memOopDesc::initialize_header(), Klass::non_indexable_size(), and Klass::size().

Here is the call graph for this function:

oop memOopKlass::allocateObjectSize ( int  size  )  [virtual]

Reimplemented from Klass.

Reimplemented in contextKlass, byteArrayKlass, doubleByteArrayKlass, doubleValueArrayKlass, and objArrayKlass.

Definition at line 107 of file memOopKlass.cpp.

References markSymbol().

Here is the call graph for this function:

bool memOopKlass::can_be_subclassed (  )  const [inline, virtual]

Reimplemented from Klass.

Reimplemented in associationKlass, blockClosureKlass, contextKlass, doubleKlass, methodKlass, and symbolKlass.

Definition at line 33 of file memOopKlass.hpp.

Referenced by create_subclass().

bool memOopKlass::can_have_instance_variables (  )  const [inline, virtual]

Reimplemented from Klass.

Reimplemented in associationKlass, blockClosureKlass, contextKlass, doubleKlass, methodKlass, and symbolKlass.

Definition at line 32 of file memOopKlass.hpp.

bool memOopKlass::can_inline_allocation (  )  const [inline, virtual]

Reimplemented from Klass.

Reimplemented in associationKlass, blockClosureKlass, contextKlass, byteArrayKlass, doubleByteArrayKlass, doubleKlass, doubleValueArrayKlass, klassKlass, methodKlass, mixinKlass, objArrayKlass, processKlass, proxyKlass, symbolKlass, and vframeKlass.

Definition at line 29 of file memOopKlass.hpp.

klassOop memOopKlass::create_class ( klassOop  super_class,
mixinOop  mixin 
) [static]

Reimplemented in associationKlass, byteArrayKlass, doubleByteArrayKlass, doubleValueArrayKlass, mixinKlass, objArrayKlass, processKlass, proxyKlass, symbolKlass, vframeKlass, and weakArrayKlass.

Definition at line 131 of file memOopKlass.cpp.

References Klass::create_generic_class(), Klass::mixin(), and Klass::vtbl_value().

Referenced by create_subclass().

Here is the call graph for this function:

klassOop memOopKlass::create_subclass ( mixinOop  mixin,
Format  format 
)

Reimplemented in associationKlass, blockClosureKlass, contextKlass, byteArrayKlass, doubleByteArrayKlass, doubleKlass, doubleValueArrayKlass, klassKlass, methodKlass, mixinKlass, objArrayKlass, processKlass, proxyKlass, symbolKlass, vframeKlass, and weakArrayKlass.

Definition at line 111 of file memOopKlass.cpp.

References Klass::as_klassOop(), assert, Klass::byteArray_klass, can_be_subclassed(), processKlass::create_class(), proxyKlass::create_class(), mixinKlass::create_class(), weakArrayKlass::create_class(), doubleByteArrayKlass::create_class(), byteArrayKlass::create_class(), objArrayKlass::create_class(), create_class(), Klass::doubleByteArray_klass, Klass::mem_klass, Klass::mixin(), Klass::mixin_klass, Klass::number_of_instance_variables(), Klass::objArray_klass, Klass::process_klass, Klass::proxy_klass, warning(), and Klass::weakArray_klass.

Here is the call graph for this function:

Format memOopKlass::format (  )  [inline, virtual]

Reimplemented from Klass.

Reimplemented in associationKlass, blockClosureKlass, contextKlass, byteArrayKlass, doubleByteArrayKlass, doubleKlass, doubleValueArrayKlass, klassKlass, methodKlass, mixinKlass, objArrayKlass, processKlass, proxyKlass, symbolKlass, vframeKlass, and weakArrayKlass.

Definition at line 45 of file memOopKlass.hpp.

References Klass::mem_klass.

char* memOopKlass::name (  )  const [inline, virtual]

Reimplemented from Klass.

Reimplemented in associationKlass, blockClosureKlass, contextKlass, byteArrayKlass, doubleByteArrayKlass, doubleKlass, doubleValueArrayKlass, klassKlass, methodKlass, mixinKlass, objArrayKlass, processKlass, proxyKlass, symbolKlass, vframeKlass, and weakArrayKlass.

Definition at line 51 of file memOopKlass.hpp.

Referenced by Klass::is_specialized_class().

void memOopKlass::oop_follow_contents ( oop  obj  )  [virtual]

Reimplemented from Klass.

Reimplemented in associationKlass, blockClosureKlass, contextKlass, doubleKlass, klassKlass, methodKlass, mixinKlass, objArrayKlass, processKlass, proxyKlass, vframeKlass, and weakArrayKlass.

Definition at line 50 of file memOopKlass.cpp.

References memOopDesc::follow_body(), memOopDesc::follow_header(), memOopDesc::header_size(), and Klass::non_indexable_size().

Referenced by weakArrayKlass::oop_follow_contents(), and objArrayKlass::oop_follow_contents().

Here is the call graph for this function:

int memOopKlass::oop_header_size (  )  const [inline, virtual]

Reimplemented from Klass.

Reimplemented in associationKlass, blockClosureKlass, contextKlass, byteArrayKlass, doubleByteArrayKlass, doubleKlass, doubleValueArrayKlass, klassKlass, methodKlass, mixinKlass, objArrayKlass, processKlass, proxyKlass, vframeKlass, and weakArrayKlass.

Definition at line 75 of file memOopKlass.hpp.

References memOopDesc::header_size().

Here is the call graph for this function:

void memOopKlass::oop_layout_iterate ( oop  obj,
ObjectLayoutClosure blk 
) [virtual]

Reimplemented from Klass.

Reimplemented in associationKlass, blockClosureKlass, contextKlass, byteArrayKlass, doubleByteArrayKlass, doubleKlass, doubleValueArrayKlass, klassKlass, methodKlass, mixinKlass, objArrayKlass, processKlass, proxyKlass, vframeKlass, and weakArrayKlass.

Definition at line 61 of file memOopKlass.cpp.

References memOopDesc::header_size(), memOopDesc::layout_iterate_body(), memOopDesc::layout_iterate_header(), and Klass::non_indexable_size().

Referenced by weakArrayKlass::oop_layout_iterate(), objArrayKlass::oop_layout_iterate(), doubleValueArrayKlass::oop_layout_iterate(), doubleByteArrayKlass::oop_layout_iterate(), and byteArrayKlass::oop_layout_iterate().

Here is the call graph for this function:

void memOopKlass::oop_oop_iterate ( oop  obj,
OopClosure blk 
) [virtual]

Reimplemented from Klass.

Reimplemented in associationKlass, blockClosureKlass, contextKlass, byteArrayKlass, doubleByteArrayKlass, doubleKlass, doubleValueArrayKlass, klassKlass, methodKlass, mixinKlass, objArrayKlass, processKlass, proxyKlass, vframeKlass, and weakArrayKlass.

Definition at line 68 of file memOopKlass.cpp.

References memOopDesc::header_size(), Klass::non_indexable_size(), memOopDesc::oop_iterate_body(), and memOopDesc::oop_iterate_header().

Referenced by weakArrayKlass::oop_oop_iterate(), objArrayKlass::oop_oop_iterate(), doubleValueArrayKlass::oop_oop_iterate(), doubleByteArrayKlass::oop_oop_iterate(), and byteArrayKlass::oop_oop_iterate().

Here is the call graph for this function:

void memOopKlass::oop_print_on ( oop  obj,
outputStream st 
) [virtual]

Reimplemented from Klass.

Reimplemented in contextKlass, klassKlass, and methodKlass.

Definition at line 75 of file memOopKlass.cpp.

References PrintObjectClosure::do_object(), and memOopDesc::layout_iterate().

Referenced by klassKlass::oop_print_on().

Here is the call graph for this function:

void memOopKlass::oop_print_value_on ( oop  obj,
outputStream st 
) [virtual]

Reimplemented from Klass.

Reimplemented in associationKlass, blockClosureKlass, contextKlass, byteArrayKlass, doubleByteArrayKlass, doubleKlass, doubleValueArrayKlass, klassKlass, methodKlass, and symbolKlass.

Definition at line 81 of file memOopKlass.cpp.

References falseObj, nilObj, outputStream::print(), memOopDesc::print_id_on(), Klass::print_name_on(), and trueObj.

Referenced by methodKlass::oop_print_on(), contextKlass::oop_print_on(), contextKlass::oop_print_value_on(), and objArrayKlass::oop_short_print_on().

Here is the call graph for this function:

int memOopKlass::oop_scavenge_contents ( oop  obj  )  [virtual]

Reimplemented from Klass.

Reimplemented in associationKlass, blockClosureKlass, contextKlass, byteArrayKlass, doubleByteArrayKlass, doubleKlass, doubleValueArrayKlass, klassKlass, methodKlass, mixinKlass, objArrayKlass, processKlass, proxyKlass, vframeKlass, and weakArrayKlass.

Definition at line 32 of file memOopKlass.cpp.

References memOopDesc::header_size(), Klass::non_indexable_size(), memOopDesc::scavenge_body(), memOopDesc::scavenge_header(), and Klass::size().

Referenced by weakArrayKlass::oop_scavenge_contents(), objArrayKlass::oop_scavenge_contents(), doubleValueArrayKlass::oop_scavenge_contents(), doubleByteArrayKlass::oop_scavenge_contents(), and byteArrayKlass::oop_scavenge_contents().

Here is the call graph for this function:

int memOopKlass::oop_scavenge_tenured_contents ( oop  obj  )  [virtual]

Reimplemented from Klass.

Reimplemented in associationKlass, blockClosureKlass, contextKlass, byteArrayKlass, doubleByteArrayKlass, doubleKlass, doubleValueArrayKlass, klassKlass, methodKlass, mixinKlass, objArrayKlass, processKlass, proxyKlass, vframeKlass, and weakArrayKlass.

Definition at line 41 of file memOopKlass.cpp.

References memOopDesc::header_size(), Klass::non_indexable_size(), memOopDesc::scavenge_tenured_body(), memOopDesc::scavenge_tenured_header(), and Klass::size().

Referenced by weakArrayKlass::oop_scavenge_tenured_contents(), objArrayKlass::oop_scavenge_tenured_contents(), doubleValueArrayKlass::oop_scavenge_tenured_contents(), doubleByteArrayKlass::oop_scavenge_tenured_contents(), and byteArrayKlass::oop_scavenge_tenured_contents().

Here is the call graph for this function:

oop memOopKlass::oop_shallow_copy ( oop  obj,
bool  tenured 
) [virtual]

Reimplemented from Klass.

Reimplemented in klassKlass, mixinKlass, and symbolKlass.

Definition at line 136 of file memOopKlass.cpp.

References memOopDesc::addr(), Universe::allocate(), Universe::allocate_tenured(), as_memOop(), falseObj, nilObj, rSet::record_store(), Universe::remembered_set, memOopDesc::size(), and trueObj.

Referenced by mixinKlass::oop_shallow_copy().

Here is the call graph for this function:

bool memOopKlass::oop_verify ( oop  obj  )  [virtual]

Reimplemented from Klass.

Reimplemented in associationKlass, blockClosureKlass, byteArrayKlass, doubleByteArrayKlass, doubleValueArrayKlass, and klassKlass.

Definition at line 57 of file memOopKlass.cpp.

References Universe::verify_oop().

Here is the call graph for this function:


Friends And Related Function Documentation

void set_memOopKlass_vtbl ( Klass k  )  [friend]

Definition at line 27 of file memOopKlass.cpp.


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