Nadya, guys,

please, review the patch.

I'am able to build in debug with it.

2007/1/15, Vladimir Ivanov <[EMAIL PROTECTED]>:
The drlvm build on the suse 9 linux failed for me with log:
<snip>
build.native.init:
    [echo] ## Building native of 'vm.port'
   [mkdir] Created dir:
/export/users/viv/trunk/cc/projects/drlvm/trunk/build/lnx_ia32_gcc_debug/semis/vm/port/_bin
   [mkdir] Created dir:
/export/users/viv/trunk/cc/projects/drlvm/trunk/build/lnx_ia32_gcc_debug/semis/vm/port/_obj

build.native.c:
      [cc] 12 total files to be compiled.
      [cc] In file included from
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/port/include/port_sysinfo.h:25,
      [cc]                  from
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/port/src/misc/linux/user.c:26:
      [cc]
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/include/open/types.h:216:
error: parse error before "Java_java_lang_System"
      [cc]
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/include/open/types.h:216:
warning: data definition has no type or storage class
      [cc] In file included from
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/port/include/port_dso.h:25,
      [cc]                  from
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/port/src/misc/linux/dso.c:26:
      [cc]
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/include/open/types.h:216:
error: parse error before "Java_java_lang_System"
      [cc]
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/include/open/types.h:216:
warning: data definition has no type or storage class
      [cc] In file included from
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/port/include/port_sysinfo.h:25,
      [cc]                  from
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/port/src/misc/linux/sysinfo.c:27:
      [cc]
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/include/open/types.h:216:
error: parse error before "Java_java_lang_System"
      [cc]
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/include/open/types.h:216:
warning: data definition has no type or storage class
      [cc] In file included from
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/port/include/port_sysinfo.h:25,
      [cc]                  from
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/port/src/misc/linux/timezone.c:26:
      [cc]
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/include/open/types.h:216:
error: parse error before "Java_java_lang_System"
      [cc]
/export/users/viv/trunk/cc/projects/drlvm/trunk/vm/include/open/types.h:216:
warning: data definition has no type or storage class

BUILD FAILED
/export/users/viv/trunk/cc/projects/drlvm/trunk/build/make/build.xml:432:
The following error occurred while executing this line:
/export/users/viv/trunk/cc/projects/drlvm/trunk/build/make/build.xml:439:
The following error occurred while executing this line:
/export/users/viv/trunk/cc/projects/drlvm/trunk/build/make/build_component.xml:72:
The following error occurred while executing this line:
/export/users/viv/trunk/cc/projects/drlvm/trunk/build/lnx_ia32_gcc_debug/semis/build/targets/build.native.xml:65:
gcc failed with return code 1

Total time: 2 minutes 51 seconds

Could somebody reproduce/ fix it?
 thanks, Vladimir


Index: vm/include/open/types.h
===================================================================
--- vm/include/open/types.h     (revision 496236)
+++ vm/include/open/types.h     (working copy)
@@ -211,9 +211,9 @@
 
 /**
  * Fields of these types are not directly accessible from the core VM.
+ *  typedef struct ManagedObject Java_java_lang_Class;
+ *  typedef ManagedObject Java_java_lang_System;
  */
- typedef struct ManagedObject Java_java_lang_Class;
-typedef ManagedObject Java_java_lang_System;
 typedef struct ManagedObject Java_java_lang_Throwable;
 typedef struct ManagedObject Java_java_lang_Thread;
 typedef struct ManagedObject Java_java_io_FileInputStream;
@@ -225,7 +225,7 @@
  * to an array in the managed heap, so handling must be careful to account
  * for the possiblity of a moving GC.
  */
- typedef void *Vector_Handle;
+typedef void *Vector_Handle;
 
 typedef void *Managed_Object_Handle;
 
Index: vm/include/open/vm.h
===================================================================
--- vm/include/open/vm.h        (revision 496236)
+++ vm/include/open/vm.h        (working copy)
@@ -36,9 +36,9 @@
 #endif
 
 /**
- * This structure is meant to be opaque. External modules should not.
+ * This structure is meant to be opaque. External modules should not
+ * attempt to directly access any of its fields.
  */ 
-       attempt to directly access any of its fields.
 typedef struct ChaClassIterator {
     Class_Handle _root_class;
     Class_Handle _current;
@@ -47,9 +47,9 @@
 
 
 /**
- * This structure is meant to be opaque. External modules should not.
+ * This structure is meant to be opaque. External modules should not
+ * attempt to directly access any of its fields.
  */
-       attempt to directly access any of its fields.
 typedef struct ChaMethodIterator {
     Method_Handle _method;
     Method_Handle _current;
Index: vm/include/jit_runtime_support.h
===================================================================
--- vm/include/jit_runtime_support.h    (revision 496236)
+++ vm/include/jit_runtime_support.h    (working copy)
@@ -116,7 +116,6 @@
 
     VM_RT_THROW_SET_STACK_TRACE=210,
  
-       
 /** 
  * @param Object reference.
  *
@@ -503,16 +502,16 @@
     VM_RT_LSHL=910,
     VM_RT_LSHR=911,
     VM_RT_LUSHR=912,
-    * Arguments:
-    * (new version)
-    *  - Long value to be shifted
-    *  - Int value with count
-    * (old version)
-    *  - (edx:eax) A long value to be shifted
-    *  - (ecx)     Count 
-    * Return value: (edx:eax)
-    *  - The shifted value
-    *
+    /**
+     * @param The parameters are the following:
+     * (new version)
+     *  arg\ Long value to be shifted
+     *  arg\ Int value with count
+     * (old version)
+     *  arg\ (edx:eax) A long value to be shifted
+     *  arg\ (ecx)     Count 
+     * @return (edx:eax) The shifted value
+     */
 
 
     VM_RT_LMUL=920,
Index: vm/include/interpreter_exports.h
===================================================================
--- vm/include/interpreter_exports.h    (revision 496236)
+++ vm/include/interpreter_exports.h    (working copy)
@@ -20,6 +20,38 @@
 
 #include "open/types.h"
 #include "jvmti.h"
+
+typedef struct FrameHandle FrameHandle;
+
+typedef struct {
+    bool (*interpreter_st_get_frame) (unsigned target_depth, struct 
StackTraceFrame* stf);
+    void (*interpreter_st_get_trace) (class VM_thread *thread, unsigned* 
res_depth, struct StackTraceFrame** stfs);
+    void (*interpreter_enumerate_thread) (class VM_thread *thread);
+
+    FrameHandle* (*interpreter_get_last_frame) (class VM_thread *thread);
+    FrameHandle* (*interpreter_get_prev_frame) (FrameHandle* frame);
+    // 'end' is not inclusive
+    bool (*is_frame_in_native_frame) (struct FrameHandle* frame, void* begin, 
void* end);
+
+    void (*interpreter_ti_enumerate_thread) (jvmtiEnv*, class VM_thread 
*thread);
+
+#ifdef _IPF_
+    uint64* (*interpreter_get_stacked_register_address) (uint64* bsp, unsigned 
reg);
+#endif
+
+    jvmtiError (*interpreter_ti_getFrameLocation) ( jvmtiEnv*, class 
VM_thread*,
+            int, struct _jmethodID * *, int64 *);
+    jvmtiError (*interpreter_ti_getLocal32) ( jvmtiEnv*, class VM_thread*, 
int, int, int *);
+    jvmtiError (*interpreter_ti_getLocal64) ( jvmtiEnv*, class VM_thread*, 
int, int, int64 *);
+    jvmtiError (*interpreter_ti_getObject) ( jvmtiEnv*, class VM_thread*, int, 
int, struct _jobject * *);
+    jvmtiError (*interpreter_ti_getStackTrace) (jvmtiEnv*, class VM_thread*, 
int, int, jvmtiFrameInfo*, int *);
+    jvmtiError (*interpreter_ti_get_frame_count) ( jvmtiEnv*, class 
VM_thread*, int *);
+    jvmtiError (*interpreter_ti_setLocal32) ( jvmtiEnv*, class VM_thread*, 
int, int, int);
+    jvmtiError (*interpreter_ti_setLocal64) ( jvmtiEnv*, class VM_thread*, 
int, int, int64);
+    jvmtiError (*interpreter_ti_setObject) ( jvmtiEnv*, class VM_thread*, int, 
int, struct _jobject *);
+    unsigned int (*interpreter_st_get_interrupted_method_native_bit) (class 
VM_thread *);
+
+
     // Open interfaces part begins
 
     /**
@@ -36,7 +68,7 @@
      * Set breakpoint in place identified by method and location.
      * No more then one breakpoint will be set at any specific place. Handling
      * for multiple jvmti environments is done by jvmti framework.
-        *
+     *
      * @return Bytecode has been replaced by instrumentation.
      */
     jbyte (*interpreter_ti_set_breakpoint)(jmethodID method, jlocation 
location);
@@ -50,7 +82,7 @@
 
     /**
      * Set callback to notify JVMTI about frame pop event.
-        *
+     *
      * @return JVMTI_ERROR_NONE           - successfully added notification<br>
      *         JVMTI_ERROR_OPAQUE_FRAME   - frame is native<br>
      *         JVMTI_ERROR_NO_MORE_FRAMES - depth too large<br>
@@ -67,38 +99,6 @@
 
 VMEXPORT Interpreter *interpreter_table();
 
-typedef struct FrameHandle FrameHandle;
-
-typedef struct {
-    bool (*interpreter_st_get_frame) (unsigned target_depth, struct 
StackTraceFrame* stf);
-    void (*interpreter_st_get_trace) (class VM_thread *thread, unsigned* 
res_depth, struct StackTraceFrame** stfs);
-    void (*interpreter_enumerate_thread) (class VM_thread *thread);
-
-    FrameHandle* (*interpreter_get_last_frame) (class VM_thread *thread);
-    FrameHandle* (*interpreter_get_prev_frame) (FrameHandle* frame);
-       // 'end' is not inclusive
-    bool (*is_frame_in_native_frame) (struct FrameHandle* frame, void* begin, 
void* end);
-
-    void (*interpreter_ti_enumerate_thread) (jvmtiEnv*, class VM_thread 
*thread);
-
-#ifdef _IPF_
-    uint64* (*interpreter_get_stacked_register_address) (uint64* bsp, unsigned 
reg);
-#endif
-
-    jvmtiError (*interpreter_ti_getFrameLocation) ( jvmtiEnv*, class 
VM_thread*,
-            int, struct _jmethodID * *, int64 *);
-    jvmtiError (*interpreter_ti_getLocal32) ( jvmtiEnv*, class VM_thread*, 
int, int, int *);
-    jvmtiError (*interpreter_ti_getLocal64) ( jvmtiEnv*, class VM_thread*, 
int, int, int64 *);
-    jvmtiError (*interpreter_ti_getObject) ( jvmtiEnv*, class VM_thread*, int, 
int, struct _jobject * *);
-    jvmtiError (*interpreter_ti_getStackTrace) (jvmtiEnv*, class VM_thread*, 
int, int, jvmtiFrameInfo*, int *);
-    jvmtiError (*interpreter_ti_get_frame_count) ( jvmtiEnv*, class 
VM_thread*, int *);
-    jvmtiError (*interpreter_ti_setLocal32) ( jvmtiEnv*, class VM_thread*, 
int, int, int);
-    jvmtiError (*interpreter_ti_setLocal64) ( jvmtiEnv*, class VM_thread*, 
int, int, int64);
-    jvmtiError (*interpreter_ti_setObject) ( jvmtiEnv*, class VM_thread*, int, 
int, struct _jobject *);
-    unsigned int (*interpreter_st_get_interrupted_method_native_bit) (class 
VM_thread *);
-
-
-
 #ifdef BUILDING_VM
 extern Interpreter interpreter;
 extern bool interpreter_enabled();
Index: vm/vmcore/include/jit_runtime_support_common.h
===================================================================
--- vm/vmcore/include/jit_runtime_support_common.h      (revision 496236)
+++ vm/vmcore/include/jit_runtime_support_common.h      (working copy)
@@ -56,7 +56,7 @@
  * Creates a LIL code stub for checkcast or instance of
  * can be used by both IA32 and IPF code
  */
-  LilCodeStub *gen_lil_typecheck_stub(bool is_checkcast).
+LilCodeStub *gen_lil_typecheck_stub(bool is_checkcast);
  
 /**
  * Creates a <code>SPECIALIZED LIL</code> code stub for checkcast or instance 
of

Reply via email to