--- old/src/share/vm/ci/ciInstanceKlass.cpp 2013-04-30 19:32:02.000000000 -0700 +++ new/src/share/vm/ci/ciInstanceKlass.cpp 2013-04-30 19:32:02.000000000 -0700 @@ -211,13 +211,29 @@ // ------------------------------------------------------------------ // ciInstanceKlass::uses_default_loader -bool ciInstanceKlass::uses_default_loader() { +bool ciInstanceKlass::uses_default_loader() const { // Note: We do not need to resolve the handle or enter the VM // in order to test null-ness. return _loader == NULL; } // ------------------------------------------------------------------ +// ciInstanceKlass::is_box_klass +// +// Is this boxing klass? +bool ciInstanceKlass::is_box_klass() const { + return uses_default_loader() && is_loaded() && + is_java_primitive(SystemDictionary::box_klass_type(get_Klass())); +} + +// Is this boxed value offset? +bool ciInstanceKlass::is_boxed_value_offset(int offset) const { + BasicType bt = SystemDictionary::box_klass_type(get_Klass()); + return uses_default_loader() && is_java_primitive(bt) && + (offset == java_lang_boxing_object::value_offset_in_bytes(bt)); +} + +// ------------------------------------------------------------------ // ciInstanceKlass::is_in_package // // Is this klass in the given package?