universe.hpp File Reference

Go to the source code of this file.

Classes

class  Universe
class  BlockScavenge
class  VerifyNoScavenge
class  VerifyNoAllocation

Defines

#define STORE_OOP(ADDR, VALUE)   Universe::store((oop*) ADDR, (oop) VALUE)
#define OOPS_DO_TEMPLATE(p, f)   (*f)((oop*)p);
#define SCAVENGE_TEMPLATE(p)   *((oop*) p) = oop(*p)->scavenge();
#define VERIFY_TEMPLATE(p)   if (!oop(*p)->verify()) lprintf("\tof object at %#lx\n", p);
#define SWITCH_POINTERS_TEMPLATE(p)   if ((oop) *p == (oop) from) *((oop*) p) = (oop) to;
#define RELOCATE_TEMPLATE(p)   *((oop*) p) = oop(*p)->relocate();
#define APPLY_TO_YOUNG_SPACE_NAMES(template)
#define APPLY_TO_YOUNG_SPACES(template)
#define APPLY_TO_OLD_SPACES(template)   {FOR_EACH_OLD_SPACE(s) {template(s);}}
#define APPLY_TO_SPACES(template)
#define YOUNG_SPACE_COMPACT_TEMPLATE(s)   c2= s; s->compact(c2, d);
#define OLD_SPACE_COMPACT_TEMPLATE(s)   s->compact(c2, d);
#define SPACE_VERIFY_TEMPLATE(s)   s->verify();
#define SPACE_RELOCATE_TEMPLATE(s)   s->relocate();
#define SPACE_NEED_TO_RELOCATE_TEMPLATE(s)   need_to_relocate |= s->need_to_relocate();
#define SPACE_FIXUP_KILLABLES_TEMPLATE(s)   s->fixup_killables(okZone);
#define SPACE_OOP_RELOCATE_TEMPLATE(s)   if (s->old_contains(p)) return s->relocate_objs(p);
#define SPACE_VERIFY_OOP_TEMPLATE(s)   if (s->contains(p)) return true;

Functions

void scavenge_oop (oop *p)
void scavenge_tenured_oop (oop *p)
oopmin (oop *a, oop *b)
oopmax (oop *a, oop *b)

Variables

bool NeedScavenge
bool GCInProgress
bool bootstrapping
klassOop smiKlassObj
klassOop contextKlassObj
klassOop doubleKlassObj
klassOop symbolKlassObj
oop nilObj
oop trueObj
oop falseObj
klassOop zeroArgumentBlockKlassObj
klassOop oneArgumentBlockKlassObj
klassOop twoArgumentBlockKlassObj
klassOop threeArgumentBlockKlassObj
klassOop fourArgumentBlockKlassObj
klassOop fiveArgumentBlockKlassObj
klassOop sixArgumentBlockKlassObj
klassOop sevenArgumentBlockKlassObj
klassOop eightArgumentBlockKlassObj
klassOop nineArgumentBlockKlassObj
klassOop doubleValueArrayKlassObj


Define Documentation

#define APPLY_TO_OLD_SPACES ( template   )     {FOR_EACH_OLD_SPACE(s) {template(s);}}

Definition at line 401 of file universe.hpp.

Referenced by oldGeneration::verify().

#define APPLY_TO_SPACES ( template   ) 

Value:

Definition at line 404 of file universe.hpp.

#define APPLY_TO_YOUNG_SPACE_NAMES ( template   ) 

Value:

template(eden())                                                            \
    template(from())                                                            \
    template(to())

Definition at line 391 of file universe.hpp.

#define APPLY_TO_YOUNG_SPACES ( template   ) 

Value:

template(new_gen.eden())                                             \
    template(new_gen.from())                                             \
    template(new_gen.to())

Definition at line 396 of file universe.hpp.

Referenced by Universe::tenure().

#define OLD_SPACE_COMPACT_TEMPLATE (  )     s->compact(c2, d);

Definition at line 411 of file universe.hpp.

#define OOPS_DO_TEMPLATE ( p,
 )     (*f)((oop*)p);

Definition at line 376 of file universe.hpp.

#define RELOCATE_TEMPLATE (  )     *((oop*) p) = oop(*p)->relocate();

Definition at line 388 of file universe.hpp.

Referenced by vmSymbols::relocate(), symbolTable::relocate(), and LookupKey::relocate().

#define SCAVENGE_TEMPLATE (  )     *((oop*) p) = oop(*p)->scavenge();

Definition at line 379 of file universe.hpp.

Referenced by Universe::scavenge().

#define SPACE_FIXUP_KILLABLES_TEMPLATE (  )     s->fixup_killables(okZone);

Definition at line 423 of file universe.hpp.

#define SPACE_NEED_TO_RELOCATE_TEMPLATE (  )     need_to_relocate |= s->need_to_relocate();

Definition at line 420 of file universe.hpp.

#define SPACE_OOP_RELOCATE_TEMPLATE (  )     if (s->old_contains(p)) return s->relocate_objs(p);

Definition at line 426 of file universe.hpp.

#define SPACE_RELOCATE_TEMPLATE (  )     s->relocate();

Definition at line 417 of file universe.hpp.

#define SPACE_VERIFY_OOP_TEMPLATE (  )     if (s->contains(p)) return true;

Definition at line 429 of file universe.hpp.

#define SPACE_VERIFY_TEMPLATE (  )     s->verify();

Definition at line 414 of file universe.hpp.

Referenced by oldGeneration::verify().

#define STORE_OOP ( ADDR,
VALUE   )     Universe::store((oop*) ADDR, (oop) VALUE)

Definition at line 317 of file universe.hpp.

Referenced by objArrayOopDesc::obj_at_put(), mixinOopDesc::set_class_mixin(), mixinOopDesc::set_classVars(), Klass::set_classVars(), vframeOopDesc::set_index(), mixinOopDesc::set_installed(), mixinOopDesc::set_instVars(), associationOopDesc::set_is_constant(), associationOopDesc::set_key(), blockClosureOopDesc::set_lexical_scope(), blockClosureOopDesc::set_method(), mixinOopDesc::set_methods(), Klass::set_methods(), Klass::set_mixin(), contextOopDesc::set_parent(), mixinOopDesc::set_primary_invocation(), vframeOopDesc::set_process(), Klass::set_superKlass(), vframeOopDesc::set_time_stamp(), and associationOopDesc::set_value().

#define SWITCH_POINTERS_TEMPLATE (  )     if ((oop) *p == (oop) from) *((oop*) p) = (oop) to;

Definition at line 385 of file universe.hpp.

Referenced by vmSymbols::switch_pointers(), symbolTable::switch_pointers(), and LookupKey::switch_pointers().

#define VERIFY_TEMPLATE (  )     if (!oop(*p)->verify()) lprintf("\tof object at %#lx\n", p);

Definition at line 382 of file universe.hpp.

#define YOUNG_SPACE_COMPACT_TEMPLATE (  )     c2= s; s->compact(c2, d);

Definition at line 408 of file universe.hpp.


Function Documentation

oop* max ( oop a,
oop b 
) [inline]

Definition at line 328 of file universe.hpp.

Referenced by oldSpace::expand_and_allocate(), max(), IntegerOps::or_result_size_in_bytes(), symbolTable::print_histogram(), ResourceAreaChunk::ResourceAreaChunk(), IntegerOps::unsigned_add_result_length(), IntegerOps::unsigned_quo_result_length(), and IntegerOps::xor_result_size_in_bytes().

oop* min ( oop a,
oop b 
) [inline]

Definition at line 327 of file universe.hpp.

Referenced by IntegerOps::and(), IntegerOps::and_result_size_in_bytes(), primitive_desc::compare(), doubleByteArrayOopDesc::compare(), byteArrayOopDesc::compare(), rSet::has_page_dirty_objects(), min(), symbolKlass::oop_print_value_on(), doubleValueArrayKlass::oop_print_value_on(), doubleByteArrayKlass::oop_print_value_on(), byteArrayKlass::oop_print_value_on(), objArrayKlass::oop_short_print_on(), IntegerOps::or(), symbolTable::print_histogram(), objArrayOopDesc::replace_and_fill(), rSet::scavenge_contents(), IntegerOps::unsigned_add(), and IntegerOps::xor().

void scavenge_oop ( oop p  )  [inline]

Definition at line 318 of file universe.hpp.

References oopDesc::scavenge().

Referenced by weakArrayKlass::oop_scavenge_contents(), objArrayKlass::oop_scavenge_contents(), klassKlass::oop_scavenge_contents(), contextKlass::oop_scavenge_contents(), blockClosureKlass::oop_scavenge_contents(), memOopDesc::scavenge_body(), and scavenge_tenured_oop().

Here is the call graph for this function:

void scavenge_tenured_oop ( oop p  )  [inline]

Definition at line 320 of file universe.hpp.

References Universe::remembered_set, and scavenge_oop().

Referenced by weakArrayOopDesc::follow_contents_after_registration(), weakArrayKlass::oop_scavenge_tenured_contents(), objArrayKlass::oop_scavenge_tenured_contents(), klassKlass::oop_scavenge_tenured_contents(), contextKlass::oop_scavenge_tenured_contents(), blockClosureKlass::oop_scavenge_tenured_contents(), weakArrayOopDesc::scavenge_contents_after_registration(), and memOopDesc::scavenge_tenured_body().

Here is the call graph for this function:


Variable Documentation

bool bootstrapping

Definition at line 29 of file universe.cpp.

klassOop contextKlassObj

Definition at line 38 of file universe.hpp.

klassOop doubleKlassObj

Definition at line 39 of file universe.hpp.

klassOop doubleValueArrayKlassObj

Definition at line 59 of file universe.hpp.

klassOop eightArgumentBlockKlassObj

Definition at line 56 of file universe.hpp.

oop falseObj

Definition at line 45 of file universe.hpp.

klassOop fiveArgumentBlockKlassObj

Definition at line 53 of file universe.hpp.

klassOop fourArgumentBlockKlassObj

Definition at line 52 of file universe.hpp.

bool GCInProgress

Definition at line 28 of file universe_more.cpp.

Referenced by MarkSweep::collect(), memOopDesc::print_id_on(), FlatProfiler::record_tick(), Universe::scavenge(), and SystemAverageTask::task().

bool NeedScavenge

Definition at line 28 of file universe.cpp.

Referenced by Universe::need_scavenge(), Universe::needs_scavenge(), and Universe::scavenge().

oop nilObj

Definition at line 43 of file universe.hpp.

klassOop nineArgumentBlockKlassObj

Definition at line 57 of file universe.hpp.

klassOop oneArgumentBlockKlassObj

Definition at line 49 of file universe.hpp.

klassOop sevenArgumentBlockKlassObj

Definition at line 55 of file universe.hpp.

klassOop sixArgumentBlockKlassObj

Definition at line 54 of file universe.hpp.

klassOop smiKlassObj

Definition at line 37 of file universe.hpp.

klassOop symbolKlassObj

Definition at line 40 of file universe.hpp.

klassOop threeArgumentBlockKlassObj

Definition at line 51 of file universe.hpp.

oop trueObj

Definition at line 44 of file universe.hpp.

klassOop twoArgumentBlockKlassObj

Definition at line 50 of file universe.hpp.

klassOop zeroArgumentBlockKlassObj

Definition at line 48 of file universe.hpp.


Generated on Mon Oct 9 13:46:38 2006 for Strongtalk VM by  doxygen 1.4.7