If you just change one or two files adding println, it might be much faster to just "javac Foo.java"and patch rt.jar by hand.

I use a script like this. It just takes a few seconds:

-----------------------------------
ROOT=build/linux-x86_64-normal-server-fastdebug
JAVAC=${ROOT}/jdk/bin/javac
RT=${ROOT}/images/j2sdk-image/jre/lib/rt.jar

FILES="jdk/src/share/classes/java/lang/invoke/LambdaForm.java \
jdk/src/share/classes/java/lang/invoke/LambdaMetafactory.java"

echo ${FILES}

rm -rf tmpclasses
mkdir tmpclasses
${JAVAC} -g -d tmpclasses ${FILES} && jar uvf0 $RT -C tmpclasses .
-----------------------------------

If you want to be fancy you can change FILES= to this so all files you just touched will be recompiled

    FILES=`find jdk/src -name \*.java -a -newer ${RT}`

- Ioi

On 09/12/2013 10:51 AM, Pete Brunet wrote:
I made some changes for debugging in jdk8.  jdk ran for 9.5 min and
images for a little over 13 min.  I'm currently changing code in
javax.swing, javax.accessibility, and java.beans.  All those live in
rt.jar so it would be nice to be able to copy a newly built rt.jar to an
existing image without having to rebuild the images.  However, I didn't
find rt.jar in the jdk tree.  Does it exist; maybe I just missed it?

I know those are long build times but after trying lots of things I
haven't had any success in getting to the low build times others
experience.  A new SSD should arrive today so hopefully that will be
running by tomorrow.  I'll report the results of that in another
thread.  So maybe I won't care about build times after that but I
suspect there are others on the list also suffering from long build
times who would be interested in the answer to the above question.

Pete

Reply via email to