changeset in /hg/icedtea: 2007-11-23 Gary Benson <gbenson at redh...

Gary Benson gbenson at redhat.com
Fri Nov 23 01:19:23 PST 2007


changeset 6b18217ddef3 in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=6b18217ddef3
description:
	2007-11-23  Gary Benson  <gbenson at redhat.com>

		* ports/hotspot/src/cpu/ppc/vm/c1_CodeStubs_ppc.cpp: New file.
		* ports/hotspot/src/cpu/ppc/vm/c1_Defs_ppc.hpp: Likewise.
		* ports/hotspot/src/cpu/ppc/vm/c1_FpuStackSim_ppc.cpp: Likewise.
		* ports/hotspot/src/cpu/ppc/vm/c1_FpuStackSim_ppc.hpp: Likewise.
		* ports/hotspot/src/cpu/ppc/vm/c1_FrameMap_ppc.cpp: Likewise.
		* ports/hotspot/src/cpu/ppc/vm/c1_FrameMap_ppc.hpp: Likewise.
		* ports/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp: Likewise.
		* ports/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.hpp: Likewise.
		* ports/hotspot/src/cpu/ppc/vm/c1_LIRGenerator_ppc.cpp: Likewise.
		* ports/hotspot/src/cpu/ppc/vm/c1_LinearScan_ppc.cpp: Likewise.
		* ports/hotspot/src/cpu/ppc/vm/c1_LinearScan_ppc.hpp: Likewise.
		* ports/hotspot/src/cpu/ppc/vm/c1_MacroAssembler_ppc.cpp: Likewise.
		* ports/hotspot/src/cpu/ppc/vm/c1_MacroAssembler_ppc.hpp: Likewise.
		* ports/hotspot/src/cpu/ppc/vm/c1_Runtime1_ppc.cpp: Likewise.
		* ports/hotspot/src/cpu/ppc/vm/c1_globals_ppc.hpp: Likewise.

		* ports/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp
		(MacroAssembler::null_check): New methods.
		(MacroAssembler::needs_explicit_null_check): Likewise.
		* ports/hotspot/src/cpu/ppc/vm/assembler_ppc.cpp
		(MacroAssembler::null_check): Likewise.
		* ports/hotspot/src/os_cpu/linux_ppc/vm/assembler_ppc.cpp
		(MacroAssembler::needs_explicit_null_check): Likewise.
		* ports/hotspot/src/cpu/ppc/vm/nativeInst_ppc.hpp
		(NativeInstruction::is_jump): Likewise.
		(nativeInstruction_at): Likewise.
		(NativeMovRegMem): New class.
		(nativeMovRegMem_at): New method.
		(NativeGeneralJump): New class.
		(nativeGeneralJump_at): New method.
		* ports/hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp
		(SharedRuntime::c_calling_convention): Likewise.
		* ports/hotspot/src/cpu/ppc/vm/vmreg_ppc.hpp
		(VMRegImpl::as_Register): Likewise.
		* ports/hotspot/src/cpu/ppc/vm/vmreg_ppc.cpp
		(VMRegImpl::as_Register): Likewise.

		* patches/icedtea-ports.patch
		(hotspot/src/share/vm/c1/c1_LIR.hpp): Add special cases for PPC.
		hotspot/src/share/vm/c1/c1_LIR.cpp): Likewise.

diffstat:

21 files changed, 1395 insertions(+)
ChangeLog                                                     |   43 +
patches/icedtea-ports.patch                                   |   44 +
ports/hotspot/src/cpu/ppc/vm/assembler_ppc.cpp                |   12 
ports/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp                |    4 
ports/hotspot/src/cpu/ppc/vm/c1_CodeStubs_ppc.cpp             |   97 ++
ports/hotspot/src/cpu/ppc/vm/c1_Defs_ppc.hpp                  |   72 ++
ports/hotspot/src/cpu/ppc/vm/c1_FrameMap_ppc.cpp              |   60 +
ports/hotspot/src/cpu/ppc/vm/c1_FrameMap_ppc.hpp              |   36 +
ports/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp          |  352 ++++++++++
ports/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.hpp          |   33 
ports/hotspot/src/cpu/ppc/vm/c1_LIRGenerator_ppc.cpp          |  268 +++++++
ports/hotspot/src/cpu/ppc/vm/c1_LinearScan_ppc.cpp            |   62 +
ports/hotspot/src/cpu/ppc/vm/c1_MacroAssembler_ppc.cpp        |   42 +
ports/hotspot/src/cpu/ppc/vm/c1_MacroAssembler_ppc.hpp        |   29 
ports/hotspot/src/cpu/ppc/vm/c1_Runtime1_ppc.cpp              |   37 +
ports/hotspot/src/cpu/ppc/vm/c1_globals_ppc.hpp               |   74 ++
ports/hotspot/src/cpu/ppc/vm/nativeInst_ppc.hpp               |   58 +
ports/hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp            |    7 
ports/hotspot/src/cpu/ppc/vm/vmreg_ppc.cpp                    |    5 
ports/hotspot/src/cpu/ppc/vm/vmreg_ppc.hpp                    |   29 
ports/hotspot/src/os_cpu/linux_ppc/vm/assembler_linux_ppc.cpp |   31 

diffs (truncated from 1528 to 500 lines):

diff -r ea42067a27f0 -r 6b18217ddef3 ChangeLog
--- a/ChangeLog	Thu Nov 22 11:36:04 2007 -0500
+++ b/ChangeLog	Fri Nov 23 04:19:17 2007 -0500
@@ -1,3 +1,46 @@ 2007-11-22  Thomas Fitzsimmons  <fitzsim
+2007-11-23  Gary Benson  <gbenson at redhat.com>
+
+	* ports/hotspot/src/cpu/ppc/vm/c1_CodeStubs_ppc.cpp: New file.
+	* ports/hotspot/src/cpu/ppc/vm/c1_Defs_ppc.hpp: Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/c1_FpuStackSim_ppc.cpp: Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/c1_FpuStackSim_ppc.hpp: Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/c1_FrameMap_ppc.cpp: Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/c1_FrameMap_ppc.hpp: Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp: Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.hpp: Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/c1_LIRGenerator_ppc.cpp: Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/c1_LinearScan_ppc.cpp: Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/c1_LinearScan_ppc.hpp: Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/c1_MacroAssembler_ppc.cpp: Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/c1_MacroAssembler_ppc.hpp: Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/c1_Runtime1_ppc.cpp: Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/c1_globals_ppc.hpp: Likewise.
+
+	* ports/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp
+	(MacroAssembler::null_check): New methods.
+	(MacroAssembler::needs_explicit_null_check): Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/assembler_ppc.cpp
+	(MacroAssembler::null_check): Likewise.
+	* ports/hotspot/src/os_cpu/linux_ppc/vm/assembler_ppc.cpp
+	(MacroAssembler::needs_explicit_null_check): Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/nativeInst_ppc.hpp
+	(NativeInstruction::is_jump): Likewise.
+	(nativeInstruction_at): Likewise.
+	(NativeMovRegMem): New class.
+	(nativeMovRegMem_at): New method.
+	(NativeGeneralJump): New class.
+	(nativeGeneralJump_at): New method.
+	* ports/hotspot/src/cpu/ppc/vm/sharedRuntime_ppc.cpp
+	(SharedRuntime::c_calling_convention): Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/vmreg_ppc.hpp
+	(VMRegImpl::as_Register): Likewise.
+	* ports/hotspot/src/cpu/ppc/vm/vmreg_ppc.cpp
+	(VMRegImpl::as_Register): Likewise.
+
+	* patches/icedtea-ports.patch
+	(hotspot/src/share/vm/c1/c1_LIR.hpp): Add special cases for PPC.
+	hotspot/src/share/vm/c1/c1_LIR.cpp): Likewise.
+
 2007-11-22  Thomas Fitzsimmons  <fitzsim at redhat.com>
 
 	* rt/java/awt/color/ICC_Profile.java (ICC_Profile(byte[])): Remove
diff -r ea42067a27f0 -r 6b18217ddef3 patches/icedtea-ports.patch
--- a/patches/icedtea-ports.patch	Thu Nov 22 11:36:04 2007 -0500
+++ b/patches/icedtea-ports.patch	Fri Nov 23 04:19:17 2007 -0500
@@ -275,6 +275,50 @@ diff -ru openjdk.orig/hotspot/src/share/
  #define FIX_THIS(code) report_assertion_failure("FIX_THIS",__FILE__, __LINE__, "")
  
  #define define_pd_global(type, name, value) const type pd_##name = value;
+--- openjdk.orig/hotspot/src/share/vm/c1/c1_LIR.hpp	2007-10-30 08:46:25.000000000 +0000
++++ openjdk/hotspot/src/share/vm/c1/c1_LIR.hpp	2007-11-22 16:12:59.000000000 +0000
+@@ -422,9 +422,7 @@
+   XMMRegister as_xmm_double_reg() const;
+   // for compatibility with RInfo
+   int fpu () const                                  { return lo_reg_half(); }
+-#endif
+-
+-#ifdef SPARC
++#else
+   FloatRegister as_float_reg   () const;
+   FloatRegister as_double_reg  () const;
+ #endif
+@@ -549,6 +547,9 @@
+   static LIR_Opr single_xmm(int reg)            { return (LIR_Opr)((reg  << LIR_OprDesc::reg1_shift) |                                     LIR_OprDesc::float_type  | LIR_OprDesc::fpu_register | LIR_OprDesc::single_size | LIR_OprDesc::is_xmm_mask); }
+   static LIR_Opr double_xmm(int reg)            { return (LIR_Opr)((reg  << LIR_OprDesc::reg1_shift) | (reg  << LIR_OprDesc::reg2_shift) | LIR_OprDesc::double_type | LIR_OprDesc::fpu_register | LIR_OprDesc::double_size | LIR_OprDesc::is_xmm_mask); }
+ #endif
++#ifdef PPC
++  static LIR_Opr double_fpu(int reg)            { Unimplemented(); }
++#endif
+ 
+ 
+   static LIR_Opr virtual_register(int index, BasicType type) {
+--- openjdk.orig/hotspot/src/share/vm/c1/c1_LIR.cpp	2007-10-30 08:46:25.000000000 +0000
++++ openjdk/hotspot/src/share/vm/c1/c1_LIR.cpp	2007-11-22 16:12:59.000000000 +0000
+@@ -63,6 +63,18 @@
+ 
+ #endif
+ 
++#ifdef PPC
++
++FloatRegister LIR_OprDesc::as_float_reg() const {
++  Unimplemented();
++}
++
++FloatRegister LIR_OprDesc::as_double_reg() const {
++  Unimplemented();
++}
++
++#endif
++
+ LIR_Opr LIR_OprFact::illegalOpr = LIR_OprFact::illegal();
+ 
+ LIR_Opr LIR_OprFact::value_type(ValueType* type) {
 diff -ru openjdk.orig/jdk/make/common/Defs-linux.gmk openjdk/jdk/make/common/Defs-linux.gmk
 --- openjdk.orig/jdk/make/common/Defs-linux.gmk	2007-11-08 11:35:35.000000000 +0000
 +++ openjdk/jdk/make/common/Defs-linux.gmk	2007-11-08 11:36:15.000000000 +0000
diff -r ea42067a27f0 -r 6b18217ddef3 ports/hotspot/src/cpu/ppc/vm/assembler_ppc.cpp
--- a/ports/hotspot/src/cpu/ppc/vm/assembler_ppc.cpp	Thu Nov 22 11:36:04 2007 -0500
+++ b/ports/hotspot/src/cpu/ppc/vm/assembler_ppc.cpp	Fri Nov 23 04:19:17 2007 -0500
@@ -1333,6 +1333,18 @@ void MacroAssembler::serialize_memory(Re
   stwx(tmp1, tmp2, tmp1);
 }
 
+void MacroAssembler::null_check(Register reg, int offset) {
+  if (needs_explicit_null_check((intptr_t) offset)) {
+    // provoke OS NULL exception if reg = NULL by
+    // accessing M[reg] w/o changing any registers
+    Unimplemented();
+  }
+  else {
+    // nothing to do, (later) access of M[reg + offset]
+    // will provoke OS NULL exception if reg = NULL
+  }
+}
+
 void MacroAssembler::verify_oop(Register reg, const char* s)
 {
   if (!VerifyOops)
diff -r ea42067a27f0 -r 6b18217ddef3 ports/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp
--- a/ports/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp	Thu Nov 22 11:36:04 2007 -0500
+++ b/ports/hotspot/src/cpu/ppc/vm/assembler_ppc.hpp	Fri Nov 23 04:19:17 2007 -0500
@@ -414,6 +414,10 @@ class MacroAssembler : public Assembler 
   // Support for serializing memory accesses between threads
   void serialize_memory(Register tmp1, Register tmp2);
 
+  // Support for NULL-checks
+  void null_check(Register reg, int offset = -1);
+  static bool needs_explicit_null_check(intptr_t offset);
+
   // Support for VerifyOops
   void verify_oop(Register reg, const char* s = "broken oop");
 
diff -r ea42067a27f0 -r 6b18217ddef3 ports/hotspot/src/cpu/ppc/vm/c1_CodeStubs_ppc.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ports/hotspot/src/cpu/ppc/vm/c1_CodeStubs_ppc.cpp	Fri Nov 23 04:19:17 2007 -0500
@@ -0,0 +1,97 @@
+/*
+ * Copyright 1999-2006 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2007 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/_c1_CodeStubs_ppc.cpp.incl"
+
+RangeCheckStub::RangeCheckStub(CodeEmitInfo* info, LIR_Opr index,
+                               bool throw_index_out_of_bounds_exception)
+{
+  Unimplemented();
+}
+
+void RangeCheckStub::emit_code(LIR_Assembler* ce)
+{
+  Unimplemented();
+}
+
+void DivByZeroStub::emit_code(LIR_Assembler* ce)
+{
+  Unimplemented();
+}
+
+NewInstanceStub::NewInstanceStub(LIR_Opr klass_reg, LIR_Opr result,
+                                 ciInstanceKlass* klass, CodeEmitInfo* info,
+                                 Runtime1::StubID stub_id)
+{
+  Unimplemented();
+}
+
+void NewInstanceStub::emit_code(LIR_Assembler* ce)
+{
+  Unimplemented();
+}
+
+MonitorEnterStub::MonitorEnterStub(LIR_Opr obj_reg, LIR_Opr lock_reg,
+                                   CodeEmitInfo* info)
+  : MonitorAccessStub(obj_reg, lock_reg)
+{
+  Unimplemented();
+}
+
+void MonitorEnterStub::emit_code(LIR_Assembler* ce)
+{
+  Unimplemented();
+}
+
+void MonitorExitStub::emit_code(LIR_Assembler* ce)
+{
+  Unimplemented();
+}
+
+#ifdef XXX_EVIL_EVIL_EVIL
+int PatchingStub::_patch_info_offset = 0;
+#endif
+
+void ImplicitNullCheckStub::emit_code(LIR_Assembler* ce)
+{
+  Unimplemented();
+}
+
+ArrayStoreExceptionStub::ArrayStoreExceptionStub(CodeEmitInfo* info)
+  : _info(info)
+{
+  Unimplemented();
+}
+
+void ArrayStoreExceptionStub::emit_code(LIR_Assembler* ce)
+{
+  Unimplemented();
+}
+
+void ArrayCopyStub::emit_code(LIR_Assembler* ce)
+{
+  Unimplemented();
+}
diff -r ea42067a27f0 -r 6b18217ddef3 ports/hotspot/src/cpu/ppc/vm/c1_Defs_ppc.hpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ports/hotspot/src/cpu/ppc/vm/c1_Defs_ppc.hpp	Fri Nov 23 04:19:17 2007 -0500
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2000-2005 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2007 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.
+ *
+ */
+
+// native word offsets from memory address (big endian)
+enum {
+  pd_lo_word_offset_in_bytes = BytesPerWord,
+  pd_hi_word_offset_in_bytes = 0
+};
+
+// are explicit rounding operations required to implement the strictFP mode?
+enum {
+#ifdef XXX_EVIL_EVIL_EVIL
+  pd_strict_fp_requires_explicit_rounding = false
+#endif
+};
+
+// registers
+enum {
+#ifdef XXX_EVIL_EVIL_EVIL
+  // numbers of registers used during code emission
+  pd_nof_cpu_regs_frame_map = 0,
+  pd_nof_fpu_regs_frame_map = 0,
+
+  // numbers of registers killed by calls
+  pd_nof_caller_save_cpu_regs_frame_map = 1,
+  pd_nof_caller_save_fpu_regs_frame_map = 1,
+
+  // numbers of registers visible to register allocator
+  pd_nof_cpu_regs_reg_alloc = 0,
+  pd_nof_fpu_regs_reg_alloc = 0,
+
+  // numbers of registers visible to linear scan
+  pd_nof_cpu_regs_linearscan = 0,
+  pd_nof_fpu_regs_linearscan = 0,
+  pd_nof_xmm_regs_linearscan = 0,
+
+  // specifics
+  pd_first_cpu_reg = 0,
+  pd_last_cpu_reg  = 0,
+  pd_first_fpu_reg = 0,
+  pd_last_fpu_reg  = 0,
+#endif
+};
+
+// encoding of float value in debug info
+enum {
+#ifdef XXX_EVIL_EVIL_EVIL
+  pd_float_saved_as_double = false
+#endif
+};
diff -r ea42067a27f0 -r 6b18217ddef3 ports/hotspot/src/cpu/ppc/vm/c1_FrameMap_ppc.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ports/hotspot/src/cpu/ppc/vm/c1_FrameMap_ppc.cpp	Fri Nov 23 04:19:17 2007 -0500
@@ -0,0 +1,60 @@
+/*
+ * Copyright 1999-2006 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2007 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/_c1_FrameMap_ppc.cpp.incl"
+
+void FrameMap::init()
+{
+  Unimplemented();
+}
+
+LIR_Opr FrameMap::map_to_opr(BasicType type, VMRegPair* reg, bool)
+{
+  Unimplemented();
+}
+
+LIR_Opr FrameMap::_caller_save_cpu_regs[] = { 0, };
+LIR_Opr FrameMap::_caller_save_fpu_regs[] = { 0, };
+
+bool FrameMap::validate_frame()
+{
+  Unimplemented();
+}
+
+VMReg FrameMap::fpu_regname(int n)
+{
+  Unimplemented();
+}
+
+LIR_Opr FrameMap::stack_pointer()
+{
+  Unimplemented();
+}
+
+bool FrameMap::is_caller_save_register(LIR_Opr reg)
+{
+  Unimplemented();
+}
diff -r ea42067a27f0 -r 6b18217ddef3 ports/hotspot/src/cpu/ppc/vm/c1_FrameMap_ppc.hpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ports/hotspot/src/cpu/ppc/vm/c1_FrameMap_ppc.hpp	Fri Nov 23 04:19:17 2007 -0500
@@ -0,0 +1,36 @@
+/*
+ * Copyright 1999-2006 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2007 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.
+ *
+ */
+
+ public:
+  enum {
+#ifdef XXX_EVIL_EVIL_EVIL
+    first_available_sp_in_frame = 0,
+    frame_pad_in_bytes = 0
+#endif
+  };
+
+  static VMReg fpu_regname(int n);
+
+  static bool is_caller_save_register(LIR_Opr reg);
diff -r ea42067a27f0 -r 6b18217ddef3 ports/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ports/hotspot/src/cpu/ppc/vm/c1_LIRAssembler_ppc.cpp	Fri Nov 23 04:19:17 2007 -0500
@@ -0,0 +1,352 @@
+/*
+ * Copyright 2000-2007 Sun Microsystems, Inc.  All Rights Reserved.
+ * Copyright 2007 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/_c1_LIRAssembler_ppc.cpp.incl"
+
+void LIR_Assembler::emit_opTypeCheck(LIR_OpTypeCheck* op)
+{
+  Unimplemented();
+}
+
+void LIR_Assembler::align_call(LIR_Code code)
+{
+  Unimplemented();
+}
+
+void LIR_Assembler::osr_entry()
+{
+  Unimplemented();
+}
+
+void LIR_Assembler::const2mem(LIR_Opr src, LIR_Opr dest, BasicType type, CodeEmitInfo* info )
+{
+  Unimplemented();
+}
+
+void LIR_Assembler::emit_alloc_array(LIR_OpAllocArray* op)
+{
+  Unimplemented();
+}
+
+void LIR_Assembler::prefetchw(LIR_Opr src)
+{
+  Unimplemented();
+}
+
+void LIR_Assembler::mem2reg(LIR_Opr src, LIR_Opr dest, BasicType type, LIR_PatchCode patch_code, CodeEmitInfo* info, bool /* unaligned */)
+{
+  Unimplemented();
+}
+
+void LIR_Assembler::volatile_move_op(LIR_Opr src, LIR_Opr dest, BasicType type, CodeEmitInfo* info)
+{
+  Unimplemented();
+}
+
+void LIR_Assembler::emit_compare_and_swap(LIR_OpCompareAndSwap* op)
+{
+  Unimplemented();
+}
+
+void LIR_Assembler::reg2mem(LIR_Opr src, LIR_Opr dest, BasicType type, LIR_PatchCode patch_code, CodeEmitInfo* info, bool pop_fpu_stack, bool /* unaligned */)
+{



More information about the distro-pkg-dev mailing list