#include <reflection.hpp>
Inheritance diagram for Reflection:
Static Public Member Functions | |
static oop | apply_change (objArrayOop change) |
static void | convert (oop *p) |
static void | forward (memOop old_obj, memOop new_obj) |
Static Private Member Functions | |
static int | invocations_offset () |
static void | register_class_changes (mixinOop new_mixin, objArrayOop invocations) |
static void | invalidate_classes (bool value) |
static ClassChange * | find_change_for (klassOop klass) |
static bool | needs_schema_change () |
static void | update_classes (bool class_vars_changed, bool instance_methods_changed, bool class_methods_changed) |
static void | setup_schema_change () |
static void | update_class (klassOop klass, mixinOop new_mixin, mixinOop old_mixin, bool instance_methods_changed, bool class_methods_changed, bool class_vars_changed) |
static bool | has_methods_changed (mixinOop new_mixin, mixinOop old_mixin) |
static bool | has_class_vars_changed (mixinOop new_mixin, mixinOop old_mixin) |
static void | apply_change (mixinOop new_mixin, mixinOop old_mixin, objArrayOop invocations) |
static memOop | convert_object (memOop obj) |
Static Private Attributes | |
static GrowableArray< ClassChange * > * | class_changes = NULL |
static GrowableArray< memOop > * | converted = NULL |
Definition at line 28 of file reflection.hpp.
oop Reflection::apply_change | ( | objArrayOop | change | ) | [static] |
Definition at line 768 of file reflection.cpp.
References apply_change(), oopDesc::is_mixin(), objArrayOopDesc::length(), markSymbol(), nilObj, objArrayOopDesc::obj_at(), and trueObj.
Here is the call graph for this function:
void Reflection::apply_change | ( | mixinOop | new_mixin, | |
mixinOop | old_mixin, | |||
objArrayOop | invocations | |||
) | [static, private] |
Definition at line 670 of file reflection.cpp.
References class_changes, mixinOopDesc::class_mixin(), DeltaCallCache::clearAll(), convert(), converted, Processes::deoptimized_wrt_marked_nmethods(), newGeneration::eden(), lookupCache::flush(), Universe::flush_inline_caches_in_methods(), has_class_vars_changed(), has_methods_changed(), invalidate_classes(), needs_schema_change(), Universe::new_gen, oldGeneration::object_iterate(), newGeneration::object_iterate(), oldGeneration::object_iterate_from(), newSpace::object_iterate_from(), Universe::old_gen, Processes::oop_iterate(), oopDesc::print(), outputStream::print(), outputStream::print_cr(), register_class_changes(), Universe::roots_do(), setup_schema_change(), std, oldGeneration::top_mark(), newSpace::top_mark(), update_classes(), and Universe::verify().
Referenced by apply_change(), and PRIM_DECL_1().
Here is the call graph for this function:
void Reflection::convert | ( | oop * | p | ) | [static] |
Definition at line 819 of file reflection.cpp.
References convert_object(), oopDesc::is_mem(), and Universe::store().
Referenced by apply_change(), and ConvertClosure::do_oop().
Here is the call graph for this function:
Definition at line 835 of file reflection.cpp.
References assert, find_change_for(), Klass::is_marked_for_schema_change(), oopDesc::klass(), and klassOopDesc::klass_part().
Referenced by convert().
Here is the call graph for this function:
ClassChange * Reflection::find_change_for | ( | klassOop | klass | ) | [static, private] |
Definition at line 611 of file reflection.cpp.
References GrowableArray< E >::at(), class_changes, and GenericGrowableArray::length().
Referenced by convert_object(), and register_class_changes().
Here is the call graph for this function:
Definition at line 576 of file reflection.cpp.
References converted, fatal, memOopDesc::forward_to(), memOopDesc::forwardee(), and memOopDesc::is_forwarded().
Referenced by memConverter::convert(), and ClassChange::setup_schema_change().
Here is the call graph for this function:
bool Reflection::has_class_vars_changed | ( | mixinOop | new_mixin, | |
mixinOop | old_mixin | |||
) | [static, private] |
Definition at line 599 of file reflection.cpp.
References mixinOopDesc::classVar_at(), mixinOopDesc::includes_classVar(), and mixinOopDesc::number_of_classVars().
Referenced by apply_change().
Here is the call graph for this function:
Definition at line 588 of file reflection.cpp.
References mixinOopDesc::includes_method(), mixinOopDesc::method_at(), and mixinOopDesc::number_of_methods().
Referenced by apply_change().
Here is the call graph for this function:
void Reflection::invalidate_classes | ( | bool | value | ) | [static, private] |
Definition at line 646 of file reflection.cpp.
References GrowableArray< E >::at(), class_changes, GenericGrowableArray::length(), ClassChange::old_klass(), and klassOopDesc::set_invalid().
Referenced by apply_change().
Here is the call graph for this function:
static int Reflection::invocations_offset | ( | ) | [inline, static, private] |
bool Reflection::needs_schema_change | ( | ) | [static, private] |
Definition at line 562 of file reflection.cpp.
References GrowableArray< E >::at(), class_changes, outputStream::cr(), GenericGrowableArray::length(), ClassChange::needs_schema_change(), ClassChange::old_klass(), outputStream::print_cr(), oopDesc::print_value(), ClassChange::reason_for_schema_change(), and std.
Referenced by apply_change().
Here is the call graph for this function:
void Reflection::register_class_changes | ( | mixinOop | new_mixin, | |
objArrayOop | invocations | |||
) | [static, private] |
Definition at line 619 of file reflection.cpp.
References GrowableArray< E >::append(), assert, class_changes, find_change_for(), Klass::format_from_symbol(), invocations_offset(), objArrayOopDesc::length(), and objArrayOopDesc::obj_at().
Referenced by apply_change().
Here is the call graph for this function:
void Reflection::setup_schema_change | ( | ) | [static, private] |
Definition at line 660 of file reflection.cpp.
References GrowableArray< E >::at(), class_changes, klassOopDesc::klass_part(), GenericGrowableArray::length(), Klass::mark_for_schema_change(), ClassChange::old_klass(), and ClassChange::setup_schema_change().
Referenced by apply_change().
Here is the call graph for this function:
static void Reflection::update_class | ( | klassOop | klass, | |
mixinOop | new_mixin, | |||
mixinOop | old_mixin, | |||
bool | instance_methods_changed, | |||
bool | class_methods_changed, | |||
bool | class_vars_changed | |||
) | [static, private] |
void Reflection::update_classes | ( | bool | class_vars_changed, | |
bool | instance_methods_changed, | |||
bool | class_methods_changed | |||
) | [static, private] |
Definition at line 654 of file reflection.cpp.
References GrowableArray< E >::at(), class_changes, GenericGrowableArray::length(), and ClassChange::update_class().
Referenced by apply_change().
Here is the call graph for this function:
GrowableArray< ClassChange * > * Reflection::class_changes = NULL [static, private] |
Definition at line 31 of file reflection.hpp.
Referenced by apply_change(), find_change_for(), invalidate_classes(), needs_schema_change(), register_class_changes(), setup_schema_change(), and update_classes().
GrowableArray< memOop > * Reflection::converted = NULL [static, private] |