Mercurial > hg > truffle
view test/compiler/6894807/Test6894807.sh @ 3293:1f4413413144
7039089: G1: changeset for 7037276 broke heap verification, and related cleanups
Summary: In G1 heap verification, we no longer scan perm to G1-collected heap refs as part of process_strong_roots() but rather in a separate explicit oop iteration over the perm gen. This preserves the original perm card-marks. Added a new assertion in younger_refs_iterate() to catch a simple subcase where the user may have forgotten a prior save_marks() call, as happened in the case of G1's attempt to iterate perm to G1 refs when verifying the heap before exit. The assert was deliberately weakened for ParNew+CMS and will be fixed for that combination in a future CR. Also made some (non-G1) cleanups related to code and comments obsoleted by the migration of Symbols to the native heap.
Reviewed-by: iveresov, jmasa, tonyp
author | ysr |
---|---|
date | Tue, 26 Apr 2011 21:17:24 -0700 |
parents | 495caa35b1b5 |
children | 037973617842 |
line wrap: on
line source
#!/bin/sh if [ "${TESTSRC}" = "" ] then TESTSRC=. fi if [ "${TESTJAVA}" = "" ] then PARENT=`dirname \`which java\`` TESTJAVA=`dirname ${PARENT}` echo "TESTJAVA not set, selecting " ${TESTJAVA} echo "If this is incorrect, try setting the variable manually." fi if [ "${TESTCLASSES}" = "" ] then echo "TESTCLASSES not set. Test cannot execute. Failed." exit 1 fi BIT_FLAG="" # set platform-dependent variables OS=`uname -s` case "$OS" in SunOS | Linux ) NULL=/dev/null PS=":" FS="/" ## for solaris, linux it's HOME FILE_LOCATION=$HOME if [ -f ${FILE_LOCATION}${FS}JDK64BIT -a ${OS} = "SunOS" ] then BIT_FLAG=`cat ${FILE_LOCATION}${FS}JDK64BIT | grep -v '^#'` fi ;; Windows_* ) NULL=NUL PS=";" FS="\\" ;; * ) echo "Unrecognized system!" exit 1; ;; esac JEMMYPATH=${CPAPPEND} CLASSPATH=.${PS}${TESTCLASSES}${PS}${JEMMYPATH} ; export CLASSPATH THIS_DIR=`pwd` ${TESTJAVA}${FS}bin${FS}java ${BIT_FLAG} -version ${TESTJAVA}${FS}bin${FS}java ${BIT_FLAG} -server IsInstanceTest > test.out 2>&1 cat test.out grep "Failed at index" test.out if [ $? = 0 ] then echo "Test Failed" exit 1 else echo "Test Passed" exit 0 fi