In article <[EMAIL PROTECTED]>,
 [EMAIL PROTECTED] wrote:

> Changeset: cd9dcdc11080
> Author:    jrose
> Date:      2008-08-30 02:47 -0700
> URL:       http://hg.openjdk.java.net/mlvm/mlvm/hotspot/rev/cd9dcdc11080
> 
> meth: builds on x86/64, sparc
> 
> ! meth.patch

I'm guessing this has only been tested on Solaris/Sun Studio?  I tried 
building with GCC 3.4 and 4.1 on Linux and ran into this error with 
meth.patch applied:

g++4 -DLINUX -D_GNU_SOURCE -DIA32 -DPRODUCT -I. -I../generated/adfiles 
-I../generated/jvmtifiles -I.../jdk7/hotspot/src/share/vm/asm 
-I.../jdk7/hotspot/src/share/vm/c1 -I.../jdk7/hotspot/src/share/vm/ci 
-I.../jdk7/hotspot/src/share/vm/classfile 
-I.../jdk7/hotspot/src/share/vm/code 
-I.../jdk7/hotspot/src/share/vm/compiler 
-I.../jdk7/hotspot/src/share/vm/gc_implementation 
-I.../jdk7/hotspot/src/share/vm/gc_implementation/parallelScavenge 
-I.../jdk7/hotspot/src/share/vm/gc_implementation/parNew 
-I.../jdk7/hotspot/src/share/vm/gc_implementation/shared 
-I.../jdk7/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep 
-I.../jdk7/hotspot/src/share/vm/gc_interface 
-I.../jdk7/hotspot/src/share/vm/interpreter 
-I.../jdk7/hotspot/src/share/vm/libadt 
-I.../jdk7/hotspot/src/share/vm/memory 
-I.../jdk7/hotspot/src/share/vm/oops 
-I.../jdk7/hotspot/src/share/vm/opto 
-I.../jdk7/hotspot/src/share/vm/prims 
-I.../jdk7/hotspot/src/share/vm/runtime 
-I.../jdk7/hotspot/src/share/vm/services 
-I.../jdk7/hotspot/src/share/vm/utilities 
-I.../jdk7/hotspot/src/cpu/x86/vm -I.../jdk7/hotspot/src/os/linux/vm 
-I.../jdk7/hotspot/src/os_cpu/linux_x86/vm -I../generated 
-DHOTSPOT_RELEASE_VERSION="\"14.0-b03\"" 
-DHOTSPOT_BUILD_TARGET="\"product\"" -DHOTSPOT_BUILD_USER="\"njriley\"" 
-DHOTSPOT_LIB_ARCH=\"i386\" 
-DJRE_RELEASE_VERSION="\"1.7.0-internal-njriley_2008_08_30_10_18-b00\"" 
-DHOTSPOT_VM_DISTRO="\"OpenJDK\"" -DCOMPILER2 -DCOMPILER1   -fno-rtti 
-fno-exceptions -D_REENTRANT -fcheck-new -m32 -march=i586 -pipe -O3 
-fno-strict-aliasing -DVM_LITTLE_ENDIAN -Werror -Wpointer-arith 
-Wconversion -Wsign-compare    -c -o constantPoolKlass.o 
.../jdk7/hotspot/src/share/vm/oops/constantPoolKlass.cpp
.../jdk7/hotspot/src/share/vm/gc_implementation/parNew/parOopClosures.inl
ine.hpp: In member function 'void ParScanClosure::par_do_barrier(T*)':
.../jdk7/hotspot/src/share/vm/gc_implementation/parNew/parOopClosures.inl
ine.hpp:56: error: invalid use of undefined type 'struct CardTableRS'
.../jdk7/hotspot/src/share/vm/memory/genOopClosures.hpp:27: error: 
forward declaration of 'struct CardTableRS'

I got a bit lost with the header file generation so I wasn't sure how to 
fix it.  (It seems Sun Studio isn't a supported compiler for OpenJDK on 
Linux as the build process tries to run cc with flags it doesn't 
understand.)

A couple of minor fixes for GCC compatibility are attached.
-- 
Nicholas Riley <[EMAIL PROTECTED]>

diff --git a/src/share/vm/interpreter/abstractInterpreter.hpp 
b/src/share/vm/interpreter/abstractInterpreter.hpp
--- a/src/share/vm/interpreter/abstractInterpreter.hpp
+++ b/src/share/vm/interpreter/abstractInterpreter.hpp
@@ -223,7 +223,7 @@
   }
   template<class T>
   static T* subword_addr_in_slot(intptr_t* slot_addr) {
-    if (sizeof(T) < wordSize && !Bytes::is_Java_byte_ordering_different())
+    if ((int)sizeof(T) < wordSize && !Bytes::is_Java_byte_ordering_different())
       // big-endian LP64
       return (T*)(slot_addr + 1) - 1;
     else
diff --git a/src/share/vm/prims/methodHandles.hpp 
b/src/share/vm/prims/methodHandles.hpp
--- a/src/share/vm/prims/methodHandles.hpp
+++ b/src/share/vm/prims/methodHandles.hpp
@@ -156,7 +156,7 @@
 class MethodEntry {
  public:
   class Data {
-    friend MethodEntry;
+    friend class MethodEntry;
     size_t              _total_size; // size including Data and code stub
     MethodEntry*        _type_checking_entry;
     address             _from_interpreted_entry;
_______________________________________________
mlvm-dev mailing list
[email protected]
http://mail.openjdk.java.net/mailman/listinfo/mlvm-dev

Reply via email to