memConverter Class Reference

Inheritance diagram for memConverter:

Inheritance graph
[legend]
Collaboration diagram for memConverter:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 memConverter (klassOop old_klass, klassOop new_klass)
memOop convert (memOop src)
virtual void transfer (memOop src, memOop dst)
virtual memOop allocate (memOop src)

Protected Member Functions

void compute_mapping ()

Protected Attributes

klassOop old_klass
klassOop new_klass
GrowableArray< int > * mapping

Detailed Description

Definition at line 39 of file reflection.cpp.


Constructor & Destructor Documentation

memConverter::memConverter ( klassOop  old_klass,
klassOop  new_klass 
) [inline]

Definition at line 68 of file reflection.cpp.

References compute_mapping(), new_klass, and old_klass.

Here is the call graph for this function:


Member Function Documentation

virtual memOop memConverter::allocate ( memOop  src  )  [inline, virtual]

Reimplemented in byteArrayConverter, doubleByteArrayConverter, objArrayConverter, doubleValueArrayConverter, and klassConverter.

Definition at line 95 of file reflection.cpp.

References Klass::allocateObject(), klassOopDesc::klass_part(), and new_klass.

Referenced by convert().

Here is the call graph for this function:

void memConverter::compute_mapping (  )  [inline, protected]

Definition at line 45 of file reflection.cpp.

References assert, Klass::inst_var_name_at(), klassOopDesc::klass_part(), Klass::lookup_inst_var(), mapping, new_klass, Klass::number_of_instance_variables(), old_klass, Klass::oop_header_size(), outputStream::print(), outputStream::print_cr(), GrowableArray< E >::push(), and std.

Referenced by memConverter().

Here is the call graph for this function:

memOop memConverter::convert ( memOop  src  )  [inline]

Definition at line 74 of file reflection.cpp.

References allocate(), Reflection::forward(), and transfer().

Here is the call graph for this function:

virtual void memConverter::transfer ( memOop  src,
memOop  dst 
) [inline, virtual]

Reimplemented in proxyConverter, processConverter, byteArrayConverter, doubleByteArrayConverter, objArrayConverter, doubleValueArrayConverter, klassConverter, and mixinConverter.

Definition at line 82 of file reflection.cpp.

References GrowableArray< E >::at(), memOopDesc::identity_hash(), markOopDesc::is_near_death(), GenericGrowableArray::length(), mapping, memOopDesc::mark(), memOopDesc::mark_as_dying(), memOopDesc::raw_at(), memOopDesc::raw_at_put(), and memOopDesc::set_identity_hash().

Referenced by convert(), mixinConverter::transfer(), klassConverter::transfer(), doubleValueArrayConverter::transfer(), objArrayConverter::transfer(), doubleByteArrayConverter::transfer(), byteArrayConverter::transfer(), processConverter::transfer(), proxyConverter::transfer(), and ClassChange::transfer_misc().

Here is the call graph for this function:


Member Data Documentation

GrowableArray<int>* memConverter::mapping [protected]

Definition at line 43 of file reflection.cpp.

Referenced by compute_mapping(), and transfer().

klassOop memConverter::new_klass [protected]

Definition at line 42 of file reflection.cpp.

Referenced by doubleValueArrayConverter::allocate(), objArrayConverter::allocate(), doubleByteArrayConverter::allocate(), byteArrayConverter::allocate(), allocate(), byteArrayConverter::byteArrayConverter(), compute_mapping(), doubleByteArrayConverter::doubleByteArrayConverter(), doubleValueArrayConverter::doubleValueArrayConverter(), klassConverter::klassConverter(), memConverter(), mixinConverter::mixinConverter(), objArrayConverter::objArrayConverter(), processConverter::processConverter(), and proxyConverter::proxyConverter().

klassOop memConverter::old_klass [protected]

Definition at line 41 of file reflection.cpp.

Referenced by byteArrayConverter::byteArrayConverter(), compute_mapping(), doubleByteArrayConverter::doubleByteArrayConverter(), doubleValueArrayConverter::doubleValueArrayConverter(), klassConverter::klassConverter(), memConverter(), mixinConverter::mixinConverter(), objArrayConverter::objArrayConverter(), processConverter::processConverter(), and proxyConverter::proxyConverter().


The documentation for this class was generated from the following file:
Generated on Mon Oct 9 14:06:41 2006 for Strongtalk VM by  doxygen 1.4.7