changeset 7738:6a78ed71be90

Merge.
author Christian Haeubl <haeubl@ssw.jku.at>
date Thu, 07 Feb 2013 09:56:09 +0100
parents 07367ef2cb45 (current diff) a7a93887b4c4 (diff)
children 0bf1c1c658c2
files
diffstat 28 files changed, 180 insertions(+), 96 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/GraphEffectList.java	Wed Feb 06 15:19:05 2013 +0100
+++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/GraphEffectList.java	Thu Feb 07 09:56:09 2013 +0100
@@ -26,7 +26,6 @@
 
 import com.oracle.graal.graph.*;
 import com.oracle.graal.nodes.*;
-import com.oracle.graal.nodes.calc.*;
 import com.oracle.graal.nodes.virtual.*;
 import com.oracle.graal.phases.common.*;
 import com.oracle.graal.virtual.nodes.*;
--- a/make/solaris/makefiles/compiler1.make	Wed Feb 06 15:19:05 2013 +0100
+++ b/make/solaris/makefiles/compiler1.make	Thu Feb 07 09:56:09 2013 +0100
@@ -29,3 +29,7 @@
 VM_SUBDIR = client
 
 CFLAGS += -DCOMPILER1
+
+ifndef OMIT_GRAAL
+  CFLAGS += -DGRAAL
+endif
--- a/make/solaris/makefiles/compiler2.make	Wed Feb 06 15:19:05 2013 +0100
+++ b/make/solaris/makefiles/compiler2.make	Thu Feb 07 09:56:09 2013 +0100
@@ -29,3 +29,7 @@
 VM_SUBDIR = server
 
 CFLAGS += -DCOMPILER2
+
+ifndef OMIT_GRAAL
+  CFLAGS += -DGRAAL
+endif
--- a/make/solaris/makefiles/debug.make	Wed Feb 06 15:19:05 2013 +0100
+++ b/make/solaris/makefiles/debug.make	Thu Feb 07 09:56:09 2013 +0100
@@ -43,7 +43,7 @@
 MAPFILE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers \
           $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-debug
 #ifdef GRAAL
-MAPFILE += $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-graal
+MAPFILE += $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-GRAAL
 #endif
 
 # This mapfile is only needed when compiling with dtrace support, 
--- a/make/solaris/makefiles/fastdebug.make	Wed Feb 06 15:19:05 2013 +0100
+++ b/make/solaris/makefiles/fastdebug.make	Thu Feb 07 09:56:09 2013 +0100
@@ -118,7 +118,7 @@
 MAPFILE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers \
 	  $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-debug
 #ifdef GRAAL
-MAPFILE += $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-graal
+MAPFILE += $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-GRAAL
 #endif
 
 # This mapfile is only needed when compiling with dtrace support, 
--- a/make/solaris/makefiles/jvmg.make	Wed Feb 06 15:19:05 2013 +0100
+++ b/make/solaris/makefiles/jvmg.make	Thu Feb 07 09:56:09 2013 +0100
@@ -47,7 +47,7 @@
 MAPFILE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers \
           $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-debug
 #ifdef GRAAL
-MAPFILE += $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-graal
+MAPFILE += $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-GRAAL
 #endif
 
 # This mapfile is only needed when compiling with dtrace support,
--- a/make/solaris/makefiles/optimized.make	Wed Feb 06 15:19:05 2013 +0100
+++ b/make/solaris/makefiles/optimized.make	Thu Feb 07 09:56:09 2013 +0100
@@ -55,7 +55,7 @@
 # Linker mapfiles
 MAPFILE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers
 #ifdef GRAAL
-MAPFILE += $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-graal
+MAPFILE += $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-GRAAL
 #endif
 
 # This mapfile is only needed when compiling with dtrace support, 
--- a/make/solaris/makefiles/product.make	Wed Feb 06 15:19:05 2013 +0100
+++ b/make/solaris/makefiles/product.make	Thu Feb 07 09:56:09 2013 +0100
@@ -67,7 +67,7 @@
 # Linker mapfiles
 MAPFILE = $(GAMMADIR)/make/solaris/makefiles/mapfile-vers
 ifdef GRAAL
-MAPFILE += $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-graal
+MAPFILE += $(GAMMADIR)/make/solaris/makefiles/mapfile-vers-GRAAL
 endif
 
 ifndef USE_GCC
--- a/make/solaris/makefiles/tiered.make	Wed Feb 06 15:19:05 2013 +0100
+++ b/make/solaris/makefiles/tiered.make	Thu Feb 07 09:56:09 2013 +0100
@@ -29,3 +29,7 @@
 VM_SUBDIR = server
 
 CFLAGS += -DCOMPILER2 -DCOMPILER1
+
+ifndef OMIT_GRAAL
+  CFLAGS += -DGRAAL
+endif
--- a/make/solaris/makefiles/vm.make	Wed Feb 06 15:19:05 2013 +0100
+++ b/make/solaris/makefiles/vm.make	Thu Feb 07 09:56:09 2013 +0100
@@ -192,11 +192,11 @@
 
 # Include dirs per type.
 Src_Dirs/CORE      := $(CORE_PATHS)
-Src_Dirs/COMPILER1 := $(CORE_PATHS) $(COMPILER1_PATHS)
-Src_Dirs/COMPILER2 := $(CORE_PATHS) $(COMPILER2_PATHS)
-Src_Dirs/TIERED    := $(CORE_PATHS) $(COMPILER1_PATHS) $(COMPILER2_PATHS)
+Src_Dirs/COMPILER1 := $(CORE_PATHS) $(COMPILER1_PATHS) $(GRAAL_PATHS)
+Src_Dirs/COMPILER2 := $(CORE_PATHS) $(COMPILER2_PATHS) $(GRAAL_PATHS)
+Src_Dirs/TIERED    := $(CORE_PATHS) $(COMPILER1_PATHS) $(COMPILER2_PATHS) $(GRAAL_PATHS)
 Src_Dirs/ZERO      := $(CORE_PATHS)
-Src_Dirs/SHARK     := $(CORE_PATHS)
+Src_Dirs/SHARK     := $(CORE_PATHS) $(SHARK_PATHS)
 Src_Dirs/GRAAL     := $(CORE_PATHS) $(GRAAL_PATHS)
 Src_Dirs := $(Src_Dirs/$(TYPE))
 
@@ -216,7 +216,7 @@
 Src_Files_EXCLUDE/TIERED    := $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) $(GRAAL_SPECIFIC_FILES)
 Src_Files_EXCLUDE/ZERO      := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) $(GRAAL_SPECIFIC_FILES) ciTypeFlow.cpp
 Src_Files_EXCLUDE/SHARK     := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(GRAAL_SPECIFIC_FILES)
-Src_Files_EXCLUDE/GRAAL     := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) $(GRAAL_SPECIFIC_FILES) ciTypeFlow.cpp
+Src_Files_EXCLUDE/GRAAL     := $(COMPILER1_SPECIFIC_FILES) $(COMPILER2_SPECIFIC_FILES) $(ZERO_SPECIFIC_FILES) $(SHARK_SPECIFIC_FILES) ciTypeFlow.cpp
 
 Src_Files_EXCLUDE +=  $(Src_Files_EXCLUDE/$(TYPE))
 
--- a/mx/eclipse-settings/org.eclipse.jdt.core.prefs	Wed Feb 06 15:19:05 2013 +0100
+++ b/mx/eclipse-settings/org.eclipse.jdt.core.prefs	Thu Feb 07 09:56:09 2013 +0100
@@ -1,6 +1,6 @@
 eclipse.preferences.version=1
 org.eclipse.jdt.core.builder.cleanOutputFolder=clean
-org.eclipse.jdt.core.builder.duplicateResourceTask=warning
+org.eclipse.jdt.core.builder.duplicateResourceTask=error
 org.eclipse.jdt.core.builder.invalidClasspath=abort
 org.eclipse.jdt.core.builder.recreateModifiedClassFileInOutputFolder=ignore
 org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
@@ -31,27 +31,27 @@
 org.eclipse.jdt.core.compiler.debug.sourceFile=generate
 org.eclipse.jdt.core.compiler.doc.comment.support=enabled
 org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
-org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=warning
+org.eclipse.jdt.core.compiler.problem.annotationSuperInterface=error
 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
 org.eclipse.jdt.core.compiler.problem.autoboxing=ignore
-org.eclipse.jdt.core.compiler.problem.comparingIdentical=warning
-org.eclipse.jdt.core.compiler.problem.deadCode=warning
-org.eclipse.jdt.core.compiler.problem.deprecation=warning
+org.eclipse.jdt.core.compiler.problem.comparingIdentical=error
+org.eclipse.jdt.core.compiler.problem.deadCode=error
+org.eclipse.jdt.core.compiler.problem.deprecation=error
 org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=enabled
 org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
-org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
-org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.discouragedReference=error
+org.eclipse.jdt.core.compiler.problem.emptyStatement=error
 org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
 org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
 org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
 org.eclipse.jdt.core.compiler.problem.fatalOptionalError=enabled
-org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
-org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
+org.eclipse.jdt.core.compiler.problem.fieldHiding=error
+org.eclipse.jdt.core.compiler.problem.finalParameterBound=error
 org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=ignore
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
+org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=error
 org.eclipse.jdt.core.compiler.problem.includeNullInfoFromAsserts=disabled
-org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=warning
+org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=error
 org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch=ignore
 org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=ignore
 org.eclipse.jdt.core.compiler.problem.invalidJavadoc=error
@@ -59,10 +59,10 @@
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=enabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=enabled
 org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
-org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
+org.eclipse.jdt.core.compiler.problem.localVariableHiding=error
 org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=error
 org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation=error
-org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=warning
+org.eclipse.jdt.core.compiler.problem.missingHashCodeMethod=error
 org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=enabled
 org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=public
@@ -73,57 +73,57 @@
 org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
 org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation=error
 org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotationForInterfaceMethodImplementation=disabled
-org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
-org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=warning
-org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
-org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
+org.eclipse.jdt.core.compiler.problem.missingSerialVersion=error
+org.eclipse.jdt.core.compiler.problem.missingSynchronizedOnInheritedMethod=error
+org.eclipse.jdt.core.compiler.problem.noEffectAssignment=error
+org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=error
 org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=ignore
 org.eclipse.jdt.core.compiler.problem.nullAnnotationInferenceConflict=error
-org.eclipse.jdt.core.compiler.problem.nullReference=warning
+org.eclipse.jdt.core.compiler.problem.nullReference=error
 org.eclipse.jdt.core.compiler.problem.nullSpecViolation=error
-org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=warning
-org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=warning
-org.eclipse.jdt.core.compiler.problem.parameterAssignment=warning
-org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=warning
+org.eclipse.jdt.core.compiler.problem.nullUncheckedConversion=error
+org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=error
+org.eclipse.jdt.core.compiler.problem.parameterAssignment=error
+org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=error
 org.eclipse.jdt.core.compiler.problem.potentialNullReference=ignore
 org.eclipse.jdt.core.compiler.problem.potentiallyUnclosedCloseable=ignore
 org.eclipse.jdt.core.compiler.problem.rawTypeReference=ignore
-org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=warning
+org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation=error
 org.eclipse.jdt.core.compiler.problem.redundantNullCheck=ignore
-org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warning
+org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=error
 org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
 org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
-org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=warning
+org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=error
 org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
-org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
-org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
+org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=error
+org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=enabled
 org.eclipse.jdt.core.compiler.problem.suppressWarnings=enabled
 org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=ignore
-org.eclipse.jdt.core.compiler.problem.typeParameterHiding=warning
+org.eclipse.jdt.core.compiler.problem.typeParameterHiding=error
 org.eclipse.jdt.core.compiler.problem.unavoidableGenericTypeProblems=enabled
-org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=warning
+org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation=error
 org.eclipse.jdt.core.compiler.problem.unclosedCloseable=ignore
 org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=ignore
 org.eclipse.jdt.core.compiler.problem.unhandledWarningToken=error
 org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
-org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
+org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=error
 org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
-org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
-org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=warning
+org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=error
+org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=error
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionExemptExceptionAndThrowable=enabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=disabled
-org.eclipse.jdt.core.compiler.problem.unusedImport=warning
-org.eclipse.jdt.core.compiler.problem.unusedLabel=warning
-org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
-org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=warning
-org.eclipse.jdt.core.compiler.problem.unusedParameter=warning
+org.eclipse.jdt.core.compiler.problem.unusedImport=error
+org.eclipse.jdt.core.compiler.problem.unusedLabel=error
+org.eclipse.jdt.core.compiler.problem.unusedLocal=error
+org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation=error
+org.eclipse.jdt.core.compiler.problem.unusedParameter=error
 org.eclipse.jdt.core.compiler.problem.unusedParameterIncludeDocCommentReference=enabled
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=disabled
 org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=disabled
-org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
-org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
-org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
+org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
+org.eclipse.jdt.core.compiler.problem.unusedWarningToken=error
+org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=error
 org.eclipse.jdt.core.compiler.processAnnotations=disabled
 org.eclipse.jdt.core.compiler.source=1.7
 org.eclipse.jdt.core.compiler.taskCaseSensitive=enabled
--- a/src/cpu/sparc/vm/c2_globals_sparc.hpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/cpu/sparc/vm/c2_globals_sparc.hpp	Thu Feb 07 09:56:09 2013 +0100
@@ -37,6 +37,7 @@
 define_pd_global(bool, PreferInterpreterNativeStubs, false);
 define_pd_global(bool, ProfileTraps,                 true);
 define_pd_global(bool, UseOnStackReplacement,        true);
+define_pd_global(intx, TypeProfileWidth,             2   );
 #ifdef CC_INTERP
 define_pd_global(bool, ProfileInterpreter,           false);
 #else
--- a/src/cpu/sparc/vm/frame_sparc.inline.hpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/cpu/sparc/vm/frame_sparc.inline.hpp	Thu Feb 07 09:56:09 2013 +0100
@@ -74,7 +74,8 @@
 
 // return address:
 
-inline address  frame::sender_pc()        const    { return *I7_addr() + pc_return_offset; }
+inline address* frame::sender_pc_addr()   const { return (address*) (I7_addr() + pc_return_offset); }
+inline address  frame::sender_pc()        const { return *sender_pc_addr(); }
 
 inline address* frame::I7_addr() const  { return (address*) &sp()[ I7->sp_offset_in_saved_window()]; }
 inline address* frame::I0_addr() const  { return (address*) &sp()[ I0->sp_offset_in_saved_window()]; }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/cpu/sparc/vm/graalGlobals_sparc.hpp	Thu Feb 07 09:56:09 2013 +0100
@@ -0,0 +1,36 @@
+/*
+ * Copyright (c) 2000, 2012, Oracle and/or its affiliates. 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
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ *
+ */
+
+#ifndef CPU_SPARC_VM_GRAALGLOBALS_SPARC_HPP
+#define CPU_SPARC_VM_GRAALGLOBALS_SPARC_HPP
+
+#include "utilities/globalDefinitions.hpp"
+#include "utilities/macros.hpp"
+
+// Sets the default values for platform dependent flags used by the Graal compiler.
+// (see graalGlobals.hpp)
+
+define_pd_global(intx, GraalSafepointPollOffset,     0    );
+
+#endif // CPU_SPARC_VM_GRAALGLOBALS_SPARC_HPP
--- a/src/cpu/sparc/vm/jniTypes_sparc.hpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/cpu/sparc/vm/jniTypes_sparc.hpp	Thu Feb 07 09:56:09 2013 +0100
@@ -112,6 +112,25 @@
                                                           return *(jdouble *)&jl; }
 #endif
 
+  static inline jint    get_int   (intptr_t *from, int& pos) {
+    return get_int(from + pos++);
+  }
+  static inline jlong   get_long  (intptr_t *from, int& pos) {
+    jlong result = get_long(from + pos);
+    pos += 2;
+    return result;
+  }
+  static inline oop     get_obj   (intptr_t *from, int& pos) {
+    return get_obj(from + pos++);
+  }
+  static inline jfloat  get_float (intptr_t *from, int& pos) {
+    return get_float(from + pos++);
+  }
+  static inline jdouble get_double(intptr_t *from, int& pos) {
+    jdouble result = get_double(from + pos);
+    pos += 2;
+    return result;
+  }
 };
 
 #endif // CPU_SPARC_VM_JNITYPES_SPARC_HPP
--- a/src/cpu/x86/vm/frame_x86.hpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/cpu/x86/vm/frame_x86.hpp	Thu Feb 07 09:56:09 2013 +0100
@@ -191,8 +191,6 @@
   // Note: not necessarily the real 'frame pointer' (see real_fp)
   intptr_t*   fp() const { return _fp; }
 
-  inline address* sender_pc_addr() const;
-
   // return address of param, zero origin index.
   inline address* native_param_addr(int idx) const;
 
--- a/src/share/vm/code/dependencies.cpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/share/vm/code/dependencies.cpp	Thu Feb 07 09:56:09 2013 +0100
@@ -30,6 +30,7 @@
 #include "code/dependencies.hpp"
 #include "compiler/compileLog.hpp"
 #include "oops/oop.inline.hpp"
+#include "oops/objArrayKlass.hpp"
 #include "runtime/handles.hpp"
 #include "runtime/handles.inline.hpp"
 #include "utilities/copy.hpp"
--- a/src/share/vm/code/stubs.cpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/share/vm/code/stubs.cpp	Thu Feb 07 09:56:09 2013 +0100
@@ -254,7 +254,7 @@
   guarantee(_queue_begin != _queue_end || n == 0, "buffer indices must be the same");
 }
 
-void StubQueue::print_on(outputStream* st) {
+void StubQueue::print_on(outputStream* st) const {
   MutexLockerEx lock(_mutex);
   for (Stub* s = first(); s != NULL; s = next(s)) {
     stub_print(s, st);
--- a/src/share/vm/code/stubs.hpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/share/vm/code/stubs.hpp	Thu Feb 07 09:56:09 2013 +0100
@@ -107,20 +107,21 @@
  public:
   // Initialization/finalization
   virtual void    initialize(Stub* self, int size,
-                             CodeComments& comments)       = 0; // called after creation (called twice if allocated via (request, commit))
-  virtual void    finalize(Stub* self)                     = 0; // called before deallocation
+                             CodeComments& comments)           = 0; // called after creation (called twice if allocated via (request, commit))
+  virtual void    finalize(Stub* self)                         = 0; // called before deallocation
 
   // General info/converters
-  virtual int     size(Stub* self) const                   = 0; // the total size of the stub in bytes (must be a multiple of CodeEntryAlignment)
-  virtual int     code_size_to_size(int code_size) const   = 0; // computes the total stub size in bytes given the code size in bytes
+  virtual int     size(Stub* self) const                       = 0; // the total size of the stub in bytes (must be a multiple of CodeEntryAlignment)
+  virtual int     code_size_to_size(int code_size) const       = 0; // computes the total stub size in bytes given the code size in bytes
 
   // Code info
-  virtual address code_begin(Stub* self) const             = 0; // points to the first code byte
-  virtual address code_end(Stub* self) const               = 0; // points to the first byte after the code
+  virtual address code_begin(Stub* self) const                 = 0; // points to the first code byte
+  virtual address code_end(Stub* self) const                   = 0; // points to the first byte after the code
 
   // Debugging
-  virtual void    verify(Stub* self)                       = 0; // verifies the stub
-  virtual void    print_on(Stub* self, outputStream* st)   = 0; // prints information about the stub
+  virtual void    verify(Stub* self) const                     = 0; // verifies the stub
+  NOT_PRODUCT(using AllocatedObj::print_on;)
+  virtual void    print_on(Stub* self, outputStream* st) const = 0; // prints information about the stub
 };
 
 
@@ -128,28 +129,29 @@
 // class, forwarding stub interface calls to the corresponding
 // stub calls.
 
-#define DEF_STUB_INTERFACE(stub)                           \
-  class stub##Interface: public StubInterface {            \
-   private:                                                \
-    static stub*    cast(Stub* self)                       { return (stub*)self; }                 \
-                                                           \
-   public:                                                 \
-    /* Initialization/finalization */                      \
-    virtual void    initialize(Stub* self, int size,       \
-                               CodeComments& comments)     { cast(self)->initialize(size, comments); } \
-    virtual void    finalize(Stub* self)                   { cast(self)->finalize(); }             \
-                                                           \
-    /* General info */                                     \
-    virtual int     size(Stub* self) const                 { return cast(self)->size(); }          \
-    virtual int     code_size_to_size(int code_size) const { return stub::code_size_to_size(code_size); } \
-                                                           \
-    /* Code info */                                        \
-    virtual address code_begin(Stub* self) const           { return cast(self)->code_begin(); }    \
-    virtual address code_end(Stub* self) const             { return cast(self)->code_end(); }      \
-                                                           \
-    /* Debugging */                                        \
-    virtual void    verify(Stub* self)                     { cast(self)->verify(); }               \
-    virtual void    print_on(Stub* self, outputStream* st) { cast(self)->print_on(st); }           \
+#define DEF_STUB_INTERFACE(stub)                                 \
+  class stub##Interface: public StubInterface {                  \
+   private:                                                      \
+    static stub*    cast(Stub* self)                             { return (stub*)self; }                 \
+                                                                 \
+   public:                                                       \
+    /* Initialization/finalization */                            \
+    virtual void    initialize(Stub* self, int size,             \
+                               CodeComments& comments)           { cast(self)->initialize(size, comments); } \
+    virtual void    finalize(Stub* self)                         { cast(self)->finalize(); }             \
+                                                                 \
+    /* General info */                                           \
+    virtual int     size(Stub* self) const                       { return cast(self)->size(); }          \
+    virtual int     code_size_to_size(int code_size) const       { return stub::code_size_to_size(code_size); } \
+                                                                 \
+    /* Code info */                                              \
+    virtual address code_begin(Stub* self) const                 { return cast(self)->code_begin(); }    \
+    virtual address code_end(Stub* self) const                   { return cast(self)->code_end(); }      \
+                                                                 \
+    /* Debugging */                                              \
+    virtual void    verify(Stub* self) const                     { cast(self)->verify(); }               \
+    NOT_PRODUCT(using AllocatedObj::print_on;)                   \
+    virtual void    print_on(Stub* self, outputStream* st) const { cast(self)->print_on(st); }           \
   };
 
 
@@ -182,7 +184,7 @@
   bool  stub_contains(Stub* s, address pc) const { return _stub_interface->code_begin(s) <= pc && pc < _stub_interface->code_end(s); }
   int   stub_code_size_to_size(int code_size) const { return _stub_interface->code_size_to_size(code_size); }
   void  stub_verify(Stub* s)                     { _stub_interface->verify(s); }
-  void  stub_print(Stub* s, outputStream* st)    { _stub_interface->print_on(s, st); }
+  void  stub_print(Stub* s, outputStream* st) const { _stub_interface->print_on(s, st); }
 
   static void register_queue(StubQueue*);
 
@@ -226,9 +228,9 @@
   address stub_code_end(Stub* s) const           { return _stub_interface->code_end(s);   }
 
   // Debugging/printing
-  void  verify();                                // verifies the stub queue
-  void  print()                                  { print_on(tty); }
-  void  print_on(outputStream* st);
+  void verify();                                 // verifies the stub queue
+  virtual void print() const                     { print_on(tty); }
+  virtual void print_on(outputStream* st) const;
 };
 
 #endif // SHARE_VM_CODE_STUBS_HPP
--- a/src/share/vm/graal/graalCodeInstaller.cpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/share/vm/graal/graalCodeInstaller.cpp	Thu Feb 07 09:56:09 2013 +0100
@@ -22,6 +22,7 @@
  */
 
 #include "precompiled.hpp"
+#include "compiler/disassembler.hpp"
 #include "runtime/javaCalls.hpp"
 #include "graal/graalEnv.hpp"
 #include "graal/graalCompiler.hpp"
--- a/src/share/vm/graal/graalCodeInstaller.hpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/share/vm/graal/graalCodeInstaller.hpp	Thu Feb 07 09:56:09 2013 +0100
@@ -48,7 +48,7 @@
     MARK_POLL_NEAR                  = 0x3001,
     MARK_POLL_RETURN_NEAR           = 0x3002,
     MARK_POLL_FAR                   = 0x3003,
-    MARK_POLL_RETURN_FAR            = 0x3004,
+    MARK_POLL_RETURN_FAR            = 0x3004
   };
 
   Arena         _arena;
--- a/src/share/vm/graal/graalCompilerToVM.cpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/share/vm/graal/graalCompilerToVM.cpp	Thu Feb 07 09:56:09 2013 +0100
@@ -30,6 +30,7 @@
 #include "graal/graalRuntime.hpp"
 #include "compiler/compileBroker.hpp"
 #include "compiler/compilerOracle.hpp"
+#include "compiler/disassembler.hpp"
 #include "graal/graalCompilerToVM.hpp"
 #include "graal/graalCompiler.hpp"
 #include "graal/graalEnv.hpp"
--- a/src/share/vm/graal/graalRuntime.cpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/share/vm/graal/graalRuntime.cpp	Thu Feb 07 09:56:09 2013 +0100
@@ -22,12 +22,13 @@
  */
 
 #include "precompiled.hpp"
-#include "runtime/interfaceSupport.hpp"
-#include "prims/jvm.h"
+#include "asm/codeBuffer.hpp"
 #include "graal/graalRuntime.hpp"
 #include "graal/graalVMToCompiler.hpp"
-#include "asm/codeBuffer.hpp"
+#include "memory/oopFactory.hpp"
+#include "prims/jvm.h"
 #include "runtime/biasedLocking.hpp"
+#include "runtime/interfaceSupport.hpp"
 
 // Implementation of GraalStubAssembler
 
@@ -128,7 +129,7 @@
     // These stubs don't need to have an oopmap
     case graal_slow_subtype_check_id:
 #if defined(SPARC) || defined(PPC)
-    case handle_exception_nofpu_id:  // Unused on sparc
+    case graal_handle_exception_nofpu_id:  // Unused on sparc
 #endif
     case graal_verify_oop_id:
     case graal_unwind_exception_call_id:
--- a/src/share/vm/runtime/fieldDescriptor.hpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/share/vm/runtime/fieldDescriptor.hpp	Thu Feb 07 09:56:09 2013 +0100
@@ -25,7 +25,10 @@
 #ifndef SHARE_VM_RUNTIME_FIELDDESCRIPTOR_HPP
 #define SHARE_VM_RUNTIME_FIELDDESCRIPTOR_HPP
 
+#include "oops/annotations.hpp"
 #include "oops/constantPool.hpp"
+#include "oops/fieldInfo.hpp"
+#include "oops/instanceKlass.hpp"
 #include "oops/symbol.hpp"
 #include "runtime/fieldType.hpp"
 #include "utilities/accessFlags.hpp"
--- a/src/share/vm/runtime/frame.cpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/share/vm/runtime/frame.cpp	Thu Feb 07 09:56:09 2013 +0100
@@ -637,8 +637,10 @@
   st->print("; ");
   interpreter_frame_method()->print_name(st);
   st->cr();
+#ifdef AMD64
   // last sp
   st->print_cr(" - last sp       at " INTPTR_FORMAT " = " INTPTR_FORMAT, interpreter_frame_last_sp_addr(), *interpreter_frame_last_sp_addr());
+#endif
   // sender sp
   st->print_cr(" - sender sp     at " INTPTR_FORMAT " = " INTPTR_FORMAT, interpreter_frame_sender_sp_addr(), *interpreter_frame_sender_sp_addr());
   // old fp
--- a/src/share/vm/runtime/frame.hpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/share/vm/runtime/frame.hpp	Thu Feb 07 09:56:09 2013 +0100
@@ -208,6 +208,7 @@
   void set_link(intptr_t* addr);
 
   // Return address
+  address* sender_pc_addr() const;
   address  sender_pc() const;
 
   // Support for deoptimization
--- a/src/share/vm/utilities/machineCodePrinter.cpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/share/vm/utilities/machineCodePrinter.cpp	Thu Feb 07 09:56:09 2013 +0100
@@ -21,7 +21,10 @@
  * questions.
  */
 
-#include "precompiled.hpp"
+#include "precompiled.hpp"
+#include "code/stubs.hpp"
+#include "compiler/disassembler.hpp"
+#include "runtime/thread.hpp"
 #include "utilities/machineCodePrinter.hpp"
 #include "utilities/ostream.hpp"
 
--- a/src/share/vm/utilities/machineCodePrinter.hpp	Wed Feb 06 15:19:05 2013 +0100
+++ b/src/share/vm/utilities/machineCodePrinter.hpp	Thu Feb 07 09:56:09 2013 +0100
@@ -23,6 +23,9 @@
 
 #ifndef SHARE_VM_UTILITIES_MACHINE_CODE_PRINTER_HPP
 #define SHARE_VM_UTILITIES_MACHINE_CODE_PRINTER_HPP
+
+#include "memory/allocation.hpp"
+#include "utilities/ostream.hpp"
 
 class MachineCodePrinter : public AllStatic {
 private: