United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6528700 C2 CTW failed in generate_i2c2i_adapters with -XX:+VerifyOops
6528700 : C2 CTW failed in generate_i2c2i_adapters with -XX:+VerifyOops

Details
Type:
Bug
Submit Date:
2007-02-27
Status:
Resolved
Updated Date:
2010-04-03
Project Name:
JDK
Resolved Date:
2007-03-15
Component:
hotspot
OS:
solaris_9
Sub-Component:
compiler
CPU:
sparc
Priority:
P4
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
hs10

Related Reports
Backport:
Backport:

Sub Tasks

Description
I am running CTW with -XX:+VerifyOops and got the next failure:

=============== DEBUG MESSAGE: broken oop G1_scratch (/export/home2/work/6523674/src/cpu/sparc/vm/sharedRuntime_sparc.cpp:1198) ================

# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/assembler_sparc.cpp:1925
#
# An unexpected error has been detected by Java Runtime Environment:
#
#  Internal Error (/export/home2/work/6523674/src/cpu/sparc/vm/assembler_sparc.cpp, 1925 [ Patched ]), pid=9050, tid=1
#
# Java VM: Java HotSpot(TM) Server VM (1.7.0-internal-jvmg mixed mode)
#
# Error: assert(false,"error")
# An error report file with more information is saved as hs_err_pid9050.log
#


It failed in the next code in generate_i2c2i_adapters:

#if !defined(_LP64) && defined(COMPILER2)
    __ save(SP, -frame::register_save_words*wordSize, SP);
    __ ld_ptr(G5_method, compiledICHolderOopDesc::holder_klass_offset(), R_temp);
    __ verify_oop(G1_scratch);
    __ cmp(G3_scratch, R_temp);
    __ restore();
#else


But R_temp is defined as L0 above this code:

#if !defined(_LP64) && defined(COMPILER2)
    Register R_temp   = L0;   // another scratch register
#else
    Register R_temp   = G1;   // another scratch register
#endif

                                    

Comments
SUGGESTED FIX

Use verify_oop(R_temp).

Webrev:                 http://prt-web.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/2007/20070228111143.kvn.6528700/workspace/webrevs/webrev-2007.02.28/index.html
                                     
2007-02-28
EVALUATION

Typo. Use verify_oop(R_temp).
                                     
2007-02-27



Hardware and Software, Engineered to Work Together