# HG changeset patch # User Christian Haeubl # Date 1360227369 -3600 # Node ID 6a78ed71be903e816d140c8f0979878f55f21327 # Parent 07367ef2cb455a2e820f2dddefbd30eb00a5f294# Parent a7a93887b4c4061c5400aa16eaf391cc45dc8fd4 Merge. diff -r 07367ef2cb45 -r 6a78ed71be90 graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/phases/ea/GraphEffectList.java --- 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.*; diff -r 07367ef2cb45 -r 6a78ed71be90 make/solaris/makefiles/compiler1.make --- 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 diff -r 07367ef2cb45 -r 6a78ed71be90 make/solaris/makefiles/compiler2.make --- 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 diff -r 07367ef2cb45 -r 6a78ed71be90 make/solaris/makefiles/debug.make --- 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, diff -r 07367ef2cb45 -r 6a78ed71be90 make/solaris/makefiles/fastdebug.make --- 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, diff -r 07367ef2cb45 -r 6a78ed71be90 make/solaris/makefiles/jvmg.make --- 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, diff -r 07367ef2cb45 -r 6a78ed71be90 make/solaris/makefiles/optimized.make --- 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, diff -r 07367ef2cb45 -r 6a78ed71be90 make/solaris/makefiles/product.make --- 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 diff -r 07367ef2cb45 -r 6a78ed71be90 make/solaris/makefiles/tiered.make --- 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 diff -r 07367ef2cb45 -r 6a78ed71be90 make/solaris/makefiles/vm.make --- 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)) diff -r 07367ef2cb45 -r 6a78ed71be90 mx/eclipse-settings/org.eclipse.jdt.core.prefs --- 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 diff -r 07367ef2cb45 -r 6a78ed71be90 src/cpu/sparc/vm/c2_globals_sparc.hpp --- 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 diff -r 07367ef2cb45 -r 6a78ed71be90 src/cpu/sparc/vm/frame_sparc.inline.hpp --- 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()]; } diff -r 07367ef2cb45 -r 6a78ed71be90 src/cpu/sparc/vm/graalGlobals_sparc.hpp --- /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 diff -r 07367ef2cb45 -r 6a78ed71be90 src/cpu/sparc/vm/jniTypes_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 diff -r 07367ef2cb45 -r 6a78ed71be90 src/cpu/x86/vm/frame_x86.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; diff -r 07367ef2cb45 -r 6a78ed71be90 src/share/vm/code/dependencies.cpp --- 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" diff -r 07367ef2cb45 -r 6a78ed71be90 src/share/vm/code/stubs.cpp --- 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); diff -r 07367ef2cb45 -r 6a78ed71be90 src/share/vm/code/stubs.hpp --- 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 diff -r 07367ef2cb45 -r 6a78ed71be90 src/share/vm/graal/graalCodeInstaller.cpp --- 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" diff -r 07367ef2cb45 -r 6a78ed71be90 src/share/vm/graal/graalCodeInstaller.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; diff -r 07367ef2cb45 -r 6a78ed71be90 src/share/vm/graal/graalCompilerToVM.cpp --- 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" diff -r 07367ef2cb45 -r 6a78ed71be90 src/share/vm/graal/graalRuntime.cpp --- 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: diff -r 07367ef2cb45 -r 6a78ed71be90 src/share/vm/runtime/fieldDescriptor.hpp --- 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" diff -r 07367ef2cb45 -r 6a78ed71be90 src/share/vm/runtime/frame.cpp --- 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 diff -r 07367ef2cb45 -r 6a78ed71be90 src/share/vm/runtime/frame.hpp --- 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 diff -r 07367ef2cb45 -r 6a78ed71be90 src/share/vm/utilities/machineCodePrinter.cpp --- 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" diff -r 07367ef2cb45 -r 6a78ed71be90 src/share/vm/utilities/machineCodePrinter.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: