diff --git a/.hgtags b/.hgtags index 26a83d0a666..a0cde234d39 100644 --- a/.hgtags +++ b/.hgtags @@ -41,3 +41,7 @@ dfd8506f74c3731bb169ce93c72612d78ee0413b jdk7-b63 d22867c5f1b295a0a2b3b4bc8999a2676f6e20c3 jdk7-b64 7d3bf00f3cc4f8125de1842521e7567f37dc84b8 jdk7-b65 62109d1b9e7310f29ab51ca6f1d71b899c0ce6b0 jdk7-b66 +eb24af1404aec8aa140c4cd4d13d2839b150dd41 jdk7-b67 +bca2225b66d78c4bf4d9801f54cac7715a598650 jdk7-b68 +1b662b1ed14eb4ae31d5138a36c433b13d941dc5 jdk7-b69 +207f694795c448c17753eff1a2f50363106960c2 jdk7-b70 diff --git a/.hgtags-top-repo b/.hgtags-top-repo index 6681557af03..1e56a495c63 100644 --- a/.hgtags-top-repo +++ b/.hgtags-top-repo @@ -41,3 +41,7 @@ c7ed15ab92ce36a09d264a5e34025884b2d7607f jdk7-b62 269c1ec4435dfb7b452ae6e3bdde005d55c5c830 jdk7-b64 e01380cd1de4ce048b87d059d238e5ab5e341947 jdk7-b65 6bad5e3fe50337d95b1416d744780d65bc570da6 jdk7-b66 +c4523c6f82048f420bf0d57c4cd47976753b7d2c jdk7-b67 +e1b972ff53cd58f825791f8ed9b2deffd16e768c jdk7-b68 +82e6c820c51ac27882b77755d42efefdbf1dcda0 jdk7-b69 +175cb3fe615998d1004c6d3fd96e6d2e86b6772d jdk7-b70 diff --git a/THIRD_PARTY_README b/THIRD_PARTY_README index 9f4d7e5087a..4d3163cbce7 100644 --- a/THIRD_PARTY_README +++ b/THIRD_PARTY_README @@ -32,7 +32,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. --- end of LICENSE file --- %% This notice is provided with respect to ASM, which may be included with this software: -Copyright (c) 2000-2005 INRIA, France Telecom +Copyright (c) 2000-2007 INRIA, France Telecom All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/corba/.hgtags b/corba/.hgtags index 55f6338adba..88061f47606 100644 --- a/corba/.hgtags +++ b/corba/.hgtags @@ -41,3 +41,7 @@ d20e45cd539f20405ff843652069cfd7550c5ab3 jdk7-b63 047dd27fddb607f8135296b3754131f6e13cb8c7 jdk7-b64 97fd9b42f5c2d342b90d18f0a2b57e4117e39415 jdk7-b65 a821e059a961bcb02830280d51f6dd030425c066 jdk7-b66 +a12ea7c7b497b4ba7830550095ef633bd6f43971 jdk7-b67 +5182bcc9c60cac429d1f7988676cec7320752be3 jdk7-b68 +8120d308ec4e805c5588b8d9372844d781c4112d jdk7-b69 +175bd68779546078dbdb6dacd7f0aced79ed22b1 jdk7-b70 diff --git a/corba/THIRD_PARTY_README b/corba/THIRD_PARTY_README index 9f4d7e5087a..4d3163cbce7 100644 --- a/corba/THIRD_PARTY_README +++ b/corba/THIRD_PARTY_README @@ -32,7 +32,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. --- end of LICENSE file --- %% This notice is provided with respect to ASM, which may be included with this software: -Copyright (c) 2000-2005 INRIA, France Telecom +Copyright (c) 2000-2007 INRIA, France Telecom All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/corba/make/Makefile b/corba/make/Makefile index 0ca13f6c3ab..d986cc3251f 100644 --- a/corba/make/Makefile +++ b/corba/make/Makefile @@ -110,7 +110,7 @@ BOOTSTRAP_TARGET_LEVEL = 5 ifdef TARGET_CLASS_VERSION TARGET_LEVEL = $(TARGET_CLASS_VERSION) else - TARGET_LEVEL = 6 + TARGET_LEVEL = 7 endif ifndef TARGET_JAVA diff --git a/corba/make/common/shared/Defs-java.gmk b/corba/make/common/shared/Defs-java.gmk index 44764bdc8b6..a4c1f50bea7 100644 --- a/corba/make/common/shared/Defs-java.gmk +++ b/corba/make/common/shared/Defs-java.gmk @@ -55,10 +55,21 @@ else ADD_CLIENT_VM_OPTION = true endif endif -JAVA_JVM_FLAGS = + +# Options for hotspot to turn off printing of options with fastdebug version +# and creating the hotspot.log file. +JAVA_HOTSPOT_DISABLE_PRINT_VMOPTIONS = \ + -XX:-PrintVMOptions -XX:+UnlockDiagnosticVMOptions -XX:-LogVMOutput + +# JVM options +JAVA_JVM_FLAGS = $(JAVA_HOTSPOT_DISABLE_PRINT_VMOPTIONS) + ifeq ($(ADD_CLIENT_VM_OPTION), true) JAVA_JVM_FLAGS += -client endif +ifdef USE_HOTSPOT_INTERPRETER_MODE + JAVA_JVM_FLAGS += -Xint +endif # Various VM flags JAVA_TOOLS_FLAGS = $(JAVA_JVM_FLAGS) $(JAVA_MEM_FLAGS) @@ -100,19 +111,23 @@ JAVACFLAGS = ifeq ($(DEBUG_CLASSFILES),true) JAVACFLAGS += -g endif -ifeq ($(COMPILER_WARNINGS_FATAL), true) +ifeq ($(JAVAC_MAX_WARNINGS), true) + JAVACFLAGS += -Xlint:all +endif +ifeq ($(JAVAC_WARNINGS_FATAL), true) JAVACFLAGS += -Werror endif NO_PROPRIETARY_API_WARNINGS = -XDignore.symbol.file=true JAVACFLAGS += $(NO_PROPRIETARY_API_WARNINGS) -# Add the source level (currently all source is 1.5, should this be 1.6?) -LANGUAGE_VERSION = -source 1.5 +# Add the source level +SOURCE_LANGUAGE_VERSION = 7 +LANGUAGE_VERSION = -source $(SOURCE_LANGUAGE_VERSION) JAVACFLAGS += $(LANGUAGE_VERSION) -# Add the class version we want (currently this is 5, should it be 6 or even 7?) -TARGET_CLASS_VERSION = 5 +# Add the class version we want +TARGET_CLASS_VERSION = 7 CLASS_VERSION = -target $(TARGET_CLASS_VERSION) JAVACFLAGS += $(CLASS_VERSION) JAVACFLAGS += -encoding ascii @@ -176,10 +191,17 @@ endif # The javac options supplied to the boot javac is limited. This compiler # should only be used to build the 'make/tools' sources, which are not # class files that end up in the classes directory. -ifeq ($(COMPILER_WARNINGS_FATAL), true) +ifeq ($(JAVAC_MAX_WARNINGS), true) + BOOT_JAVACFLAGS += -Xlint:all +endif +ifeq ($(JAVAC_WARNINGS_FATAL), true) BOOT_JAVACFLAGS += -Werror endif -BOOT_JAVACFLAGS += -encoding ascii + +BOOT_SOURCE_LANGUAGE_VERSION = 6 +BOOT_TARGET_CLASS_VERSION = 6 +BOOT_JAVACFLAGS += -encoding ascii -source $(BOOT_SOURCE_LANGUAGE_VERSION) -target $(BOOT_TARGET_CLASS_VERSION) +BOOT_JAR_JFLAGS += $(JAR_JFLAGS) BOOT_JAVA_CMD = $(BOOTDIR)/bin/java $(JAVA_TOOLS_FLAGS) BOOT_JAVAC_CMD = $(BOOTDIR)/bin/javac $(JAVAC_JVM_FLAGS) $(BOOT_JAVACFLAGS) diff --git a/hotspot/.hgtags b/hotspot/.hgtags index e805fe0c0aa..ae801762b3b 100644 --- a/hotspot/.hgtags +++ b/hotspot/.hgtags @@ -41,3 +41,7 @@ a88386380bdaaa5ab4ffbedf22c57bac5dbec034 jdk7-b62 ba36394eb84b949b31212bdb32a518a8f92bab5b jdk7-b64 ba313800759b678979434d6da8ed3bf49eb8bea4 jdk7-b65 57c71ad0341b8b64ed20f81151eb7f06324f8894 jdk7-b66 +18f526145aea355a9320b724373386fc2170f183 jdk7-b67 +d07e68298d4e17ebf93d8299e43fcc3ded26472a jdk7-b68 +54fd4d9232969ea6cd3d236e5ad276183bb0d423 jdk7-b69 +0632c3e615a315ff11e2ab1d64f4d82ff9853461 jdk7-b70 diff --git a/hotspot/THIRD_PARTY_README b/hotspot/THIRD_PARTY_README index 9f4d7e5087a..4d3163cbce7 100644 --- a/hotspot/THIRD_PARTY_README +++ b/hotspot/THIRD_PARTY_README @@ -32,7 +32,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE. --- end of LICENSE file --- %% This notice is provided with respect to ASM, which may be included with this software: -Copyright (c) 2000-2005 INRIA, France Telecom +Copyright (c) 2000-2007 INRIA, France Telecom All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/DebugInfoReadStream.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/DebugInfoReadStream.java index 177d110abdf..0ae5a9be997 100644 --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/DebugInfoReadStream.java +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/DebugInfoReadStream.java @@ -81,4 +81,8 @@ public class DebugInfoReadStream extends CompressedReadStream { Assert.that(false, "should not reach here"); return null; } + + public int readBCI() { + return readInt() + InvocationEntryBCI; + } } diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java index 284c6813b93..36bcd026096 100644 --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/NMethod.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -259,7 +259,7 @@ public class NMethod extends CodeBlob { if (Assert.ASSERTS_ENABLED) { Assert.that(pd != null, "scope must be present"); } - return new ScopeDesc(this, pd.getScopeDecodeOffset()); + return new ScopeDesc(this, pd.getScopeDecodeOffset(), pd.getReexecute()); } /** This is only for use by the debugging system, and is only @@ -291,7 +291,7 @@ public class NMethod extends CodeBlob { public ScopeDesc getScopeDescNearDbg(Address pc) { PCDesc pd = getPCDescNearDbg(pc); if (pd == null) return null; - return new ScopeDesc(this, pd.getScopeDecodeOffset()); + return new ScopeDesc(this, pd.getScopeDecodeOffset(), pd.getReexecute()); } public Map/*
*/ getSafepoints() { diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/PCDesc.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/PCDesc.java index 6883b67919c..e28afc51db3 100644 --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/PCDesc.java +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/PCDesc.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2004 Sun Microsystems, Inc. All Rights Reserved. + * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -36,6 +36,7 @@ import sun.jvm.hotspot.types.*; public class PCDesc extends VMObject { private static CIntegerField pcOffsetField; private static CIntegerField scopeDecodeOffsetField; + private static CIntegerField pcFlagsField; static { VM.registerVMInitializedObserver(new Observer() { @@ -50,6 +51,7 @@ public class PCDesc extends VMObject { pcOffsetField = type.getCIntegerField("_pc_offset"); scopeDecodeOffsetField = type.getCIntegerField("_scope_decode_offset"); + pcFlagsField = type.getCIntegerField("_flags"); } public PCDesc(Address addr) { @@ -70,6 +72,12 @@ public class PCDesc extends VMObject { return code.instructionsBegin().addOffsetTo(getPCOffset()); } + + public boolean getReexecute() { + int flags = (int)pcFlagsField.getValue(addr); + return ((flags & 0x1)== 1); //first is the reexecute bit + } + public void print(NMethod code) { printOn(System.out, code); } diff --git a/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/ScopeDesc.java b/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/ScopeDesc.java index 51145340a9e..ebac4a2358e 100644 --- a/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/ScopeDesc.java +++ b/hotspot/agent/src/share/classes/sun/jvm/hotspot/code/ScopeDesc.java @@ -52,44 +52,46 @@ public class ScopeDesc { private List objects; // ArrayList