lookupCache Class Reference

#include <lookupCache.hpp>

Inheritance diagram for lookupCache:

Inheritance graph
[legend]
Collaboration diagram for lookupCache:

Collaboration graph
[legend]
List of all members.

Static Public Member Functions

static LookupResult lookup_probe (LookupKey *key)
static LookupResult ic_normal_lookup (klassOop receiver_klass, symbolOop selector)
static LookupResult ic_super_lookup (klassOop receiver_klass, klassOop sending_method_holder, symbolOop selector)
static methodOop method_lookup (klassOop receiver_klass, symbolOop selector)
static methodOop compile_time_normal_lookup (klassOop receiver_klass, symbolOop selector)
static methodOop compile_time_super_lookup (klassOop receiver_klass, symbolOop selector)
static LookupResult lookup (LookupKey *key)
static oop normal_lookup (klassOop receiver_klass, symbolOop selector)
static void flush (LookupKey *key)
static void flush ()
static void verify ()
static void clear_statistics ()
static void print_statistics ()

Static Private Member Functions

static int primary_cache_address ()
static int secondary_cache_address ()
static unsigned int hash_value (LookupKey *key)
static LookupResult ic_lookup (klassOop receiver_klass, oop selector_or_method)
static LookupResult lookup (LookupKey *key, bool compile)
static LookupResult cache_miss_lookup (LookupKey *key, bool compile)
static nmethod * compile_method (LookupKey *key, methodOop method)

Static Private Attributes

static int number_of_primary_hits
static int number_of_secondary_hits
static int number_of_misses

Friends

class InterpreterGenerator
class StubRoutines
class debugPrimitives
LookupResult interpreter_normal_lookup (klassOop receiver_klass, symbolOop selector)
LookupResult interpreter_super_lookup (symbolOop selector)

Detailed Description

Definition at line 81 of file lookupCache.hpp.


Member Function Documentation

LookupResult lookupCache::cache_miss_lookup ( LookupKey key,
bool  compile 
) [static, private]

Definition at line 260 of file lookupCache.cpp.

References compile_method(), outputStream::cr(), VMProcess::execute(), LookupKey::is_normal_type(), Sweeper::is_running(), LookupKey::klass(), klassOopDesc::klass_part(), Klass::lookup(), InliningDatabase::lookup_and_remove(), LookupKey::method(), outputStream::print(), LookupKey::print(), LookupKey::selector(), and std.

Referenced by lookup().

Here is the call graph for this function:

void lookupCache::clear_statistics (  )  [static]

Definition at line 430 of file lookupCache.cpp.

References number_of_misses, number_of_primary_hits, and number_of_secondary_hits.

Referenced by PRIM_DECL_0().

nmethod * lookupCache::compile_method ( LookupKey key,
methodOop  method 
) [static, private]

Definition at line 347 of file lookupCache.cpp.

References DeltaProcess::active(), assert, VMProcess::execute(), and lookup().

Referenced by cache_miss_lookup().

Here is the call graph for this function:

methodOop lookupCache::compile_time_normal_lookup ( klassOop  receiver_klass,
symbolOop  selector 
) [static]

Definition at line 327 of file lookupCache.cpp.

References lookup(), and LookupResult::method_or_null().

Here is the call graph for this function:

methodOop lookupCache::compile_time_super_lookup ( klassOop  receiver_klass,
symbolOop  selector 
) [static]

Definition at line 333 of file lookupCache.cpp.

References klassOopDesc::klass_part(), lookup(), method_lookup(), LookupResult::method_or_null(), and Klass::superKlass().

Here is the call graph for this function:

void lookupCache::flush (  )  [static]

Definition at line 135 of file lookupCache.cpp.

References number_of_misses, number_of_primary_hits, number_of_secondary_hits, primary, primary_cache_size, secondary, and secondary_cache_size.

Referenced by Reflection::apply_change(), MarkSweep::collect(), Universe::genesis(), ErrorHandler::genesis(), and PRIM_DECL_0().

void lookupCache::flush ( LookupKey key  )  [static]

Definition at line 150 of file lookupCache.cpp.

References cacheElement::clear(), LookupKey::equal(), hash_value(), primary, primary_cache_size, secondary, and secondary_cache_size.

Here is the call graph for this function:

unsigned int lookupCache::hash_value ( LookupKey key  )  [inline, static, private]

Definition at line 178 of file lookupCache.cpp.

References LookupKey::klass(), and LookupKey::selector_or_method().

Referenced by flush(), lookup(), and lookup_probe().

Here is the call graph for this function:

LookupResult lookupCache::ic_lookup ( klassOop  receiver_klass,
oop  selector_or_method 
) [inline, static, private]

Definition at line 359 of file lookupCache.cpp.

References lookup().

Referenced by ic_normal_lookup(), ic_super_lookup(), and lookup().

Here is the call graph for this function:

LookupResult lookupCache::ic_normal_lookup ( klassOop  receiver_klass,
symbolOop  selector 
) [static]

Definition at line 364 of file lookupCache.cpp.

References ic_lookup().

Referenced by normal_lookup(), and PRIM_DECL_2().

Here is the call graph for this function:

LookupResult lookupCache::ic_super_lookup ( klassOop  receiver_klass,
klassOop  sending_method_holder,
symbolOop  selector 
) [static]

Definition at line 368 of file lookupCache.cpp.

References ic_lookup(), and method_lookup().

Here is the call graph for this function:

LookupResult lookupCache::lookup ( LookupKey key  )  [static]

Definition at line 411 of file lookupCache.cpp.

References ic_lookup(), LookupKey::klass(), and LookupKey::selector_or_method().

Here is the call graph for this function:

LookupResult lookupCache::lookup ( LookupKey key,
bool  compile 
) [inline, static, private]

Definition at line 206 of file lookupCache.cpp.

References assert, cache_miss_lookup(), LookupKey::equal(), hash_value(), cacheElement::initialize(), LookupResult::is_empty(), LookupResult::is_method(), InliningDatabase::lookup(), number_of_misses, number_of_primary_hits, number_of_secondary_hits, primary, primary_cache_size, cacheElement::result, secondary, secondary_cache_size, theCompiler, cacheElement::verify(), and LookupKey::verify().

Referenced by InterpretedIC::cleanup(), compile_method(), compile_time_normal_lookup(), compile_time_super_lookup(), ic_lookup(), interpreter_normal_lookup(), and validate_lookup().

Here is the call graph for this function:

LookupResult lookupCache::lookup_probe ( LookupKey key  )  [inline, static]

Definition at line 184 of file lookupCache.cpp.

References assert, LookupKey::equal(), hash_value(), primary, primary_cache_size, cacheElement::result, secondary, secondary_cache_size, and LookupKey::verify().

Here is the call graph for this function:

methodOop lookupCache::method_lookup ( klassOop  receiver_klass,
symbolOop  selector 
) [static]

Definition at line 341 of file lookupCache.cpp.

References LookupKey::klass(), klassOopDesc::klass_part(), Klass::lookup(), and LookupKey::selector().

Referenced by compile_time_super_lookup(), ic_super_lookup(), and interpreter_super_lookup().

Here is the call graph for this function:

oop lookupCache::normal_lookup ( klassOop  receiver_klass,
symbolOop  selector 
) [static]

Definition at line 415 of file lookupCache.cpp.

References assert, ic_normal_lookup(), and LookupResult::value().

Referenced by StubRoutines::generate_megamorphic_ic().

Here is the call graph for this function:

int lookupCache::primary_cache_address (  )  [static, private]

Definition at line 132 of file lookupCache.cpp.

References primary.

Referenced by StubRoutines::generate_megamorphic_ic().

void lookupCache::print_statistics (  )  [static]

Definition at line 436 of file lookupCache.cpp.

References lprintf(), number_of_misses, number_of_primary_hits, number_of_secondary_hits, primary_cache_size, print_counter(), and secondary_cache_size.

Referenced by PRIM_DECL_0().

Here is the call graph for this function:

int lookupCache::secondary_cache_address (  )  [static, private]

Definition at line 133 of file lookupCache.cpp.

References secondary.

Referenced by StubRoutines::generate_megamorphic_ic().

void lookupCache::verify (  )  [static]

Definition at line 170 of file lookupCache.cpp.

References primary, primary_cache_size, secondary, and secondary_cache_size.


Friends And Related Function Documentation

friend class debugPrimitives [friend]

Definition at line 132 of file lookupCache.hpp.

LookupResult interpreter_normal_lookup ( klassOop  receiver_klass,
symbolOop  selector 
) [friend]

Definition at line 373 of file lookupCache.cpp.

LookupResult interpreter_super_lookup ( symbolOop  selector  )  [friend]

Definition at line 378 of file lookupCache.cpp.

friend class InterpreterGenerator [friend]

Definition at line 130 of file lookupCache.hpp.

friend class StubRoutines [friend]

Definition at line 131 of file lookupCache.hpp.


Member Data Documentation

int lookupCache::number_of_misses [static, private]

Definition at line 89 of file lookupCache.hpp.

Referenced by clear_statistics(), flush(), lookup(), PRIM_DECL_0(), and print_statistics().

int lookupCache::number_of_primary_hits [static, private]

Definition at line 87 of file lookupCache.hpp.

Referenced by clear_statistics(), flush(), lookup(), PRIM_DECL_0(), and print_statistics().

int lookupCache::number_of_secondary_hits [static, private]

Definition at line 88 of file lookupCache.hpp.

Referenced by clear_statistics(), flush(), lookup(), PRIM_DECL_0(), and print_statistics().


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