changeset 1821:6124157d5bdb

Fix build of Zero VM. 2009-05-21 Andrew John Hughes <ahughes@redhat.com> * ports/hotspot/src/cpu/zero/vm/assembler_zero.cpp: (delayed_value_impl(intptr_t,Register,int)): Add stub. * ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp: (delayed_value_impl(intptr_t,Register,int)): Declared. * ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp: Handle Interpreter::method_handle. * ports/hotspot/src/cpu/zero/vm/interp_masm_zero.hpp: (delayed_value_impl(intptr_t,Register,int)): Add stub. * ports/hotspot/src/cpu/zero/vm/interpreterGenerator_zero.hpp: (generate_method_handle_entry()): Declared. * ports/hotspot/src/cpu/zero/vm/interpreter_zero.cpp: (generate_method_handle_entry()): Add stub. * ports/hotspot/src/cpu/zero/vm/jni_zero.h: Define jlong depending on whether _LP64 is defined, as with format specifier in globalDefinitions. * ports/hotspot/src/cpu/zero/vm/methodHandles_zero.cpp: Empty class required by invokedynamic support. * ports/hotspot/src/cpu/zero/vm/register_zero.hpp: Declare noreg. * ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp: Use INTPTR_FORMAT instead of %d for pointers to compile on 64-bit platforms. * ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp: Define HeapBaseMinAddress as 2G (copied from x86_64).
author Andrew John Hughes <ahughes@redhat.com>
date Fri, 22 May 2009 01:12:07 +0100
parents 082075fb775e
children b443c3bc7e25 9e6600d4fef2
files ChangeLog ports/hotspot/src/cpu/zero/vm/assembler_zero.cpp ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp ports/hotspot/src/cpu/zero/vm/interp_masm_zero.hpp ports/hotspot/src/cpu/zero/vm/interpreterGenerator_zero.hpp ports/hotspot/src/cpu/zero/vm/interpreter_zero.cpp ports/hotspot/src/cpu/zero/vm/jni_zero.h ports/hotspot/src/cpu/zero/vm/methodHandles_zero.cpp ports/hotspot/src/cpu/zero/vm/register_zero.hpp ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp
diffstat 12 files changed, 87 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Thu May 21 20:10:28 2009 +0100
+++ b/ChangeLog	Fri May 22 01:12:07 2009 +0100
@@ -1,3 +1,30 @@
+2009-05-21  Andrew John Hughes  <ahughes@redhat.com>
+
+	* ports/hotspot/src/cpu/zero/vm/assembler_zero.cpp:
+	(delayed_value_impl(intptr_t,Register,int)): Add stub.
+	* ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp:
+	(delayed_value_impl(intptr_t,Register,int)): Declared.
+	* ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp:
+	Handle Interpreter::method_handle.
+	* ports/hotspot/src/cpu/zero/vm/interp_masm_zero.hpp:
+	(delayed_value_impl(intptr_t,Register,int)): Add stub.
+	* ports/hotspot/src/cpu/zero/vm/interpreterGenerator_zero.hpp:
+	(generate_method_handle_entry()): Declared.
+	* ports/hotspot/src/cpu/zero/vm/interpreter_zero.cpp:
+	(generate_method_handle_entry()): Add stub.
+	* ports/hotspot/src/cpu/zero/vm/jni_zero.h:
+	Define jlong depending on whether _LP64 is defined,
+	as with format specifier in globalDefinitions.
+	* ports/hotspot/src/cpu/zero/vm/methodHandles_zero.cpp:
+	Empty class required by invokedynamic support.
+	* ports/hotspot/src/cpu/zero/vm/register_zero.hpp:
+	Declare noreg.
+	* ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp:
+	Use INTPTR_FORMAT instead of %d for pointers to compile on 64-bit
+	platforms.
+	* ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp:
+	Define HeapBaseMinAddress as 2G (copied from x86_64).
+
 2009-05-21  Andrew John Hughes  <ahughes@redhat.com>
 
 	* acinclude.m4:
--- a/ports/hotspot/src/cpu/zero/vm/assembler_zero.cpp	Thu May 21 20:10:28 2009 +0100
+++ b/ports/hotspot/src/cpu/zero/vm/assembler_zero.cpp	Fri May 22 01:12:07 2009 +0100
@@ -60,6 +60,12 @@
   sync();
 }
 
+RegisterOrConstant MacroAssembler::delayed_value_impl(intptr_t* delayed_value_addr,
+						      Register tmpl, int offset) 
+{
+  Unimplemented();
+}
+
 static void _UnimplementedStub()
 {
   report_unimplemented(__FILE__, __LINE__);
--- a/ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp	Thu May 21 20:10:28 2009 +0100
+++ b/ports/hotspot/src/cpu/zero/vm/assembler_zero.hpp	Fri May 22 01:12:07 2009 +0100
@@ -45,6 +45,8 @@
   void align(int modulus);
   void bang_stack_with_offset(int offset);
   bool needs_explicit_null_check(intptr_t offset);
+  RegisterOrConstant delayed_value_impl(intptr_t* delayed_value_addr,
+					Register tmp, int offset);
  public:
   void advance(int bytes);
 };
--- a/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp	Thu May 21 20:10:28 2009 +0100
+++ b/ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp	Fri May 22 01:12:07 2009 +0100
@@ -751,6 +751,10 @@
     entry_point = ((InterpreterGenerator*)this)->generate_abstract_entry();
     break;
 
+  case Interpreter::method_handle:
+    entry_point = ((InterpreterGenerator*)this)->generate_method_handle_entry();
+    break;
+
   case Interpreter::java_lang_math_sin:
   case Interpreter::java_lang_math_cos:
   case Interpreter::java_lang_math_tan:
--- a/ports/hotspot/src/cpu/zero/vm/interp_masm_zero.hpp	Thu May 21 20:10:28 2009 +0100
+++ b/ports/hotspot/src/cpu/zero/vm/interp_masm_zero.hpp	Fri May 22 01:12:07 2009 +0100
@@ -28,4 +28,7 @@
 class InterpreterMacroAssembler : public MacroAssembler {
  public:
   InterpreterMacroAssembler(CodeBuffer* code) : MacroAssembler(code) {}
+  RegisterOrConstant delayed_value_impl(intptr_t* delayed_value_addr, Register tmp, int offset) {
+    Unimplemented();
+  }
 };
--- a/ports/hotspot/src/cpu/zero/vm/interpreterGenerator_zero.hpp	Thu May 21 20:10:28 2009 +0100
+++ b/ports/hotspot/src/cpu/zero/vm/interpreterGenerator_zero.hpp	Fri May 22 01:12:07 2009 +0100
@@ -35,3 +35,4 @@
   address generate_math_entry(AbstractInterpreter::MethodKind kind);
   address generate_empty_entry();
   address generate_accessor_entry();
+  address generate_method_handle_entry();
--- a/ports/hotspot/src/cpu/zero/vm/interpreter_zero.cpp	Thu May 21 20:10:28 2009 +0100
+++ b/ports/hotspot/src/cpu/zero/vm/interpreter_zero.cpp	Fri May 22 01:12:07 2009 +0100
@@ -46,6 +46,11 @@
   return UnimplementedEntry();
 }
 
+address InterpreterGenerator::generate_method_handle_entry()
+{
+  return UnimplementedEntry();
+}
+
 int AbstractInterpreter::size_activation(methodOop method,
                                          int tempcount,
                                          int popframe_extra_args,
--- a/ports/hotspot/src/cpu/zero/vm/jni_zero.h	Thu May 21 20:10:28 2009 +0100
+++ b/ports/hotspot/src/cpu/zero/vm/jni_zero.h	Fri May 22 01:12:07 2009 +0100
@@ -28,5 +28,10 @@
 #define JNICALL
 
 typedef int jint;
+typedef signed char jbyte;
+
+#ifdef _LP64
+typedef long jlong;
+#else
 typedef long long jlong;
-typedef signed char jbyte;
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ports/hotspot/src/cpu/zero/vm/methodHandles_zero.cpp	Fri May 22 01:12:07 2009 +0100
@@ -0,0 +1,27 @@
+/*
+ * Copyright 1997-2009 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2009 Red Hat, Inc.
+ * 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ *
+ */
+
+#include "incls/_precompiled.incl"
+#include "incls/_methodHandles_zero.cpp.incl"
--- a/ports/hotspot/src/cpu/zero/vm/register_zero.hpp	Thu May 21 20:10:28 2009 +0100
+++ b/ports/hotspot/src/cpu/zero/vm/register_zero.hpp	Fri May 22 01:12:07 2009 +0100
@@ -112,3 +112,5 @@
   static const int max_gpr;
   static const int max_fpr;
 };
+
+CONSTANT_REGISTER_DECLARATION(Register, noreg, (-1));
--- a/ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp	Thu May 21 20:10:28 2009 +0100
+++ b/ports/hotspot/src/cpu/zero/vm/stackPrinter_zero.hpp	Fri May 22 01:12:07 2009 +0100
@@ -181,7 +181,7 @@
               }
             }
             else {
-              snprintf(_buf, _buflen, "%s[%d]",
+              snprintf(_buf, _buflen, "%s[" INTPTR_FORMAT "]",
                        top_frame ? "stack_word" : "local",
                        istate->stack_base() - addr - 1);
               field = _buf;
@@ -230,7 +230,7 @@
             }
           }
           else {
-            snprintf(_buf, _buflen, "%s[%d]",
+            snprintf(_buf, _buflen, "%s[" INTPTR_FORMAT "]",
                      top_frame ? "stack_word" : "local",
                      stack_base - addr - 1);
             field = _buf;
--- a/ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp	Thu May 21 20:10:28 2009 +0100
+++ b/ports/hotspot/src/os_cpu/linux_zero/vm/globals_linux_zero.hpp	Fri May 22 01:12:07 2009 +0100
@@ -41,3 +41,5 @@
 define_pd_global(uintx, JVMInvokeMethodSlack,    8192);
 
 define_pd_global(bool,  UseVectoredExceptions,   false);
+// Only used on 64 bit platforms
+define_pd_global(uintx, HeapBaseMinAddress,      2*G);