# HG changeset patch # User twisti # Date 1360202467 28800 # Node ID a7a93887b4c4061c5400aa16eaf391cc45dc8fd4 # Parent a0cfabe195c667faf909427f176227cea3b10870 fix Solaris build and initial SPARC support diff -r a0cfabe195c6 -r a7a93887b4c4 make/solaris/makefiles/compiler1.make --- a/make/solaris/makefiles/compiler1.make Wed Feb 06 15:14:15 2013 +0100 +++ b/make/solaris/makefiles/compiler1.make Wed Feb 06 18:01:07 2013 -0800 @@ -29,3 +29,7 @@ VM_SUBDIR = client CFLAGS += -DCOMPILER1 + +ifndef OMIT_GRAAL + CFLAGS += -DGRAAL +endif diff -r a0cfabe195c6 -r a7a93887b4c4 make/solaris/makefiles/compiler2.make --- a/make/solaris/makefiles/compiler2.make Wed Feb 06 15:14:15 2013 +0100 +++ b/make/solaris/makefiles/compiler2.make Wed Feb 06 18:01:07 2013 -0800 @@ -29,3 +29,7 @@ VM_SUBDIR = server CFLAGS += -DCOMPILER2 + +ifndef OMIT_GRAAL + CFLAGS += -DGRAAL +endif diff -r a0cfabe195c6 -r a7a93887b4c4 make/solaris/makefiles/debug.make --- a/make/solaris/makefiles/debug.make Wed Feb 06 15:14:15 2013 +0100 +++ b/make/solaris/makefiles/debug.make Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 make/solaris/makefiles/fastdebug.make --- a/make/solaris/makefiles/fastdebug.make Wed Feb 06 15:14:15 2013 +0100 +++ b/make/solaris/makefiles/fastdebug.make Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 make/solaris/makefiles/jvmg.make --- a/make/solaris/makefiles/jvmg.make Wed Feb 06 15:14:15 2013 +0100 +++ b/make/solaris/makefiles/jvmg.make Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 make/solaris/makefiles/optimized.make --- a/make/solaris/makefiles/optimized.make Wed Feb 06 15:14:15 2013 +0100 +++ b/make/solaris/makefiles/optimized.make Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 make/solaris/makefiles/product.make --- a/make/solaris/makefiles/product.make Wed Feb 06 15:14:15 2013 +0100 +++ b/make/solaris/makefiles/product.make Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 make/solaris/makefiles/tiered.make --- a/make/solaris/makefiles/tiered.make Wed Feb 06 15:14:15 2013 +0100 +++ b/make/solaris/makefiles/tiered.make Wed Feb 06 18:01:07 2013 -0800 @@ -29,3 +29,7 @@ VM_SUBDIR = server CFLAGS += -DCOMPILER2 -DCOMPILER1 + +ifndef OMIT_GRAAL + CFLAGS += -DGRAAL +endif diff -r a0cfabe195c6 -r a7a93887b4c4 make/solaris/makefiles/vm.make --- a/make/solaris/makefiles/vm.make Wed Feb 06 15:14:15 2013 +0100 +++ b/make/solaris/makefiles/vm.make Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/cpu/sparc/vm/c2_globals_sparc.hpp --- a/src/cpu/sparc/vm/c2_globals_sparc.hpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/cpu/sparc/vm/c2_globals_sparc.hpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/cpu/sparc/vm/frame_sparc.inline.hpp --- a/src/cpu/sparc/vm/frame_sparc.inline.hpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/cpu/sparc/vm/frame_sparc.inline.hpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 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 Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/cpu/sparc/vm/jniTypes_sparc.hpp --- a/src/cpu/sparc/vm/jniTypes_sparc.hpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/cpu/sparc/vm/jniTypes_sparc.hpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/cpu/x86/vm/frame_x86.hpp --- a/src/cpu/x86/vm/frame_x86.hpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/cpu/x86/vm/frame_x86.hpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/share/vm/code/dependencies.cpp --- a/src/share/vm/code/dependencies.cpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/share/vm/code/dependencies.cpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/share/vm/code/stubs.cpp --- a/src/share/vm/code/stubs.cpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/share/vm/code/stubs.cpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/share/vm/code/stubs.hpp --- a/src/share/vm/code/stubs.hpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/share/vm/code/stubs.hpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/share/vm/graal/graalCodeInstaller.cpp --- a/src/share/vm/graal/graalCodeInstaller.cpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/share/vm/graal/graalCodeInstaller.cpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/share/vm/graal/graalCodeInstaller.hpp --- a/src/share/vm/graal/graalCodeInstaller.hpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/share/vm/graal/graalCodeInstaller.hpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/share/vm/graal/graalCompilerToVM.cpp --- a/src/share/vm/graal/graalCompilerToVM.cpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/share/vm/graal/graalCompilerToVM.cpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/share/vm/graal/graalRuntime.cpp --- a/src/share/vm/graal/graalRuntime.cpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/share/vm/graal/graalRuntime.cpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/share/vm/runtime/fieldDescriptor.hpp --- a/src/share/vm/runtime/fieldDescriptor.hpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/share/vm/runtime/fieldDescriptor.hpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/share/vm/runtime/frame.cpp --- a/src/share/vm/runtime/frame.cpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/share/vm/runtime/frame.cpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/share/vm/runtime/frame.hpp --- a/src/share/vm/runtime/frame.hpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/share/vm/runtime/frame.hpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/share/vm/utilities/machineCodePrinter.cpp --- a/src/share/vm/utilities/machineCodePrinter.cpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/share/vm/utilities/machineCodePrinter.cpp Wed Feb 06 18:01:07 2013 -0800 @@ -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 a0cfabe195c6 -r a7a93887b4c4 src/share/vm/utilities/machineCodePrinter.hpp --- a/src/share/vm/utilities/machineCodePrinter.hpp Wed Feb 06 15:14:15 2013 +0100 +++ b/src/share/vm/utilities/machineCodePrinter.hpp Wed Feb 06 18:01:07 2013 -0800 @@ -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: