You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by mc...@apache.org on 2008/03/20 13:41:54 UTC
svn commit: r639267 - in /harmony/enhanced/drlvm/trunk/vm:
gc_gen/src/common/ gc_gen/src/jni/ include/ include/open/ interpreter/src/
jitrino/src/jet/ jitrino/src/vm/ vmcore/build/ vmcore/src/class_support/
vmcore/src/init/ vmcore/src/jvmti/ vmcore/src...
Author: mcfirst
Date: Thu Mar 20 05:41:52 2008
New Revision: 639267
URL: http://svn.apache.org/viewvc?rev=639267&view=rev
Log:
Changing VM-JIT interfaces to become run-time linkable: field access section addressed
Modified:
harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_for_class.cpp
harmony/enhanced/drlvm/trunk/vm/gc_gen/src/jni/java_support.cpp
harmony/enhanced/drlvm/trunk/vm/include/jit_intf.h
harmony/enhanced/drlvm/trunk/vm/include/open/vm.h
harmony/enhanced/drlvm/trunk/vm/include/open/vm_field_access.h
harmony/enhanced/drlvm/trunk/vm/include/open/vm_interface.h
harmony/enhanced/drlvm/trunk/vm/include/open/vm_type_access.h
harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp
harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter_ti.cpp
harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp
harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_instr.cpp
harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/VMInterface.cpp
harmony/enhanced/drlvm/trunk/vm/vmcore/build/vmcore.exp
harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp
harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm.cpp
harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp
harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_event.cpp
harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_trace.cpp
harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_reflect_VMReflection.cpp
harmony/enhanced/drlvm/trunk/vm/vmcore/src/reflection/reflection.cpp
harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ipf/base/compile_ipf.cpp
Modified: harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_for_class.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_for_class.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_for_class.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/gc_gen/src/common/gc_for_class.cpp Thu Mar 20 05:41:52 2008
@@ -20,6 +20,7 @@
*/
#include "gc_common.h"
+#include "open/vm_field_access.h"
#include "../finalizer_weakref/finalizer_weakref.h"
/* Setter functions for the gc class property field. */
Modified: harmony/enhanced/drlvm/trunk/vm/gc_gen/src/jni/java_support.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/gc_gen/src/jni/java_support.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/gc_gen/src/jni/java_support.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/gc_gen/src/jni/java_support.cpp Thu Mar 20 05:41:52 2008
@@ -21,6 +21,7 @@
#include <string.h>
#include <jni.h>
+#include "open/vm_field_access.h"
#include "jit_intf.h"
#include "java_support.h"
Modified: harmony/enhanced/drlvm/trunk/vm/include/jit_intf.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/include/jit_intf.h?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/include/jit_intf.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/include/jit_intf.h Thu Mar 20 05:41:52 2008
@@ -112,11 +112,6 @@
VMEXPORT Class_Handle
resolve_class(Compile_Handle h, Class_Handle c, unsigned index);
-//
-// Field
-//
-VMEXPORT Boolean field_is_public(Field_Handle f);
-VMEXPORT Boolean field_is_injected(Field_Handle f);
VMEXPORT Boolean method_is_public(Method_Handle m);
VMEXPORT unsigned method_get_max_locals(Method_Handle m);
VMEXPORT Boolean method_is_fake(Method_Handle m);
Modified: harmony/enhanced/drlvm/trunk/vm/include/open/vm.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/include/open/vm.h?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/include/open/vm.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/include/open/vm.h Thu Mar 20 05:41:52 2008
@@ -426,120 +426,11 @@
////
/**
- * @return <code>TRUE</code> is the field is static.
- */
- VMEXPORT Boolean field_is_static(Field_Handle fh);
-
-/**
- * @return The type info that represents the type of the field.
- */
- VMEXPORT Type_Info_Handle field_get_type_info_of_field_value(Field_Handle fh);
-
-/**
- * @return The class that represents the type of the field.
- */
- VMEXPORT Class_Handle field_get_class_of_field_value(Field_Handle fh);
-
-/**
- * @return The class that defined that field.
- */
- VMEXPORT Class_Handle field_get_class(Field_Handle fh);
-
-
-/**
- * @return <code>TRUE</code> if the field is of reference type
- *
- * This function doesn't cause resolution of the class of the field.
- */
- VMEXPORT Boolean field_is_reference(Field_Handle fh);
-
-/**
- * @return <code>TRUE</code> if the field is a magic type field
- *
- * This function doesn't cause resolution of the class of the field.
- */
- VMEXPORT Boolean field_is_magic(Field_Handle fh);
-
-/**
* @return <code>TRUE</code> if the field must be enumerated by GC
*
* This function doesn't cause resolution of the class of the field.
*/
VMEXPORT Boolean field_is_enumerable_reference(Field_Handle fh);
-
- /**
- * @return <code>TRUE</code> if the field is literal. In Java, it means that the
- * field had the ConstantValue attribute set (JVMS2, Section 4.7.2).
- */
- VMEXPORT Boolean field_is_literal(Field_Handle fh);
-
-/**
- * For Java always <code>FALSE</code>.
- */
- VMEXPORT Boolean field_is_unmanaged_static(Field_Handle fh);
-
-/**
- * @return The offset to an instance field.
- */
- VMEXPORT unsigned field_get_offset(Field_Handle fh);
-
-/**
- * @return An address of a static field.
- */
- VMEXPORT void *field_get_address(Field_Handle fh);
-
-/**
- * @return A name of the field.
- */
- VMEXPORT const char *field_get_name(Field_Handle fh);
-
-/**
- * @return The field descriptor. The descriptor is a string representation
- * of the field types as defined by the JVM spec.
- */
- VMEXPORT const char *field_get_descriptor(Field_Handle fh);
-
-/**
- * @return <code>TRUE</code> if the field is final.
- */
- VMEXPORT Boolean field_is_final(Field_Handle fh);
-
-/**
- * @return <code>TRUE</code> if the field is volatile.
- */
- VMEXPORT Boolean field_is_volatile(Field_Handle fh);
-
-/**
- * @return <code>TRUE</code> if the field is private.
- */
- VMEXPORT Boolean field_is_private(Field_Handle fh);
-
-/**
- * @return The address and bit mask, for the flag which determine whether field
- * access event should be sent. JIT may use the following expression to
- * determine if specified field access should be tracked:
- * ( **address & *mask != 0 )
- *
- * @param field - handle of the field
- * @param[out] address - pointer to the address of the byte which contains the flag
- * @param[out] mask - pointer to the bit mask of the flag
- */
-VMEXPORT void
-field_get_track_access_flag(Field_Handle field, char** address, char* mask);
-
-/**
- * @return the address and bit mask, for the flag which determine whether field
- * modification event should be sent. JIT may use the following expression to
- * determine if specified field modification should be tracked:
- * ( **address & *mask != 0 )
- *
- * @param field - handle of the field
- * @param[out] address - pointer to the address of the byte which contains the flag
- * @param[out] mask - pointer to the bit mask of the flag
- */
-VMEXPORT void
-field_get_track_modification_flag(Field_Handle field, char** address,
- char* mask);
////
// end field-related functions.
Modified: harmony/enhanced/drlvm/trunk/vm/include/open/vm_field_access.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/include/open/vm_field_access.h?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/include/open/vm_field_access.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/include/open/vm_field_access.h Thu Mar 20 05:41:52 2008
@@ -21,6 +21,14 @@
#ifndef _VM_FIELD_ACCESS_H
#define _VM_FIELD_ACCESS_H
+#include "common.h"
+#include "hycomp.h"
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/**
* @file
* Part of Class Support interface related to retrieving different
@@ -34,8 +42,7 @@
*
* @return The name of the field.
*/
-const char*
-field_get_name(Open_Field_Handle field);
+DECLARE_OPEN(const char*, field_get_name, (Field_Handle field));
/**
* Returns the field <i>descriptor</i>.
@@ -47,8 +54,7 @@
*
* @return The field descriptor.
*/
-const char*
-field_get_descriptor(Open_Field_Handle field);
+DECLARE_OPEN(const char*, field_get_descriptor, (Field_Handle field));
/**
* Returns the class that defined the given field.
@@ -57,8 +63,7 @@
*
* @return The class that defined the field.
*/
-Open_Class_Handle
-field_get_class(Open_Field_Handle field);
+DECLARE_OPEN(Class_Handle, field_get_class, (Field_Handle field));
/**
* Returns the address of the given static field.
@@ -67,8 +72,7 @@
*
* @return The address of the static field.
*/
-void*
-field_get_address(Open_Field_Handle field);
+DECLARE_OPEN(void*, field_get_address, (Field_Handle field));
/**
* Returns the offset to the given instance field.
@@ -77,8 +81,7 @@
*
* @return The offset to the instance field.
*/
-unsigned
-field_get_offset(Open_Field_Handle field);
+DECLARE_OPEN(unsigned, field_get_offset, (Field_Handle field));
/**
* Returns the type info that represents the type of the field.
@@ -86,11 +89,8 @@
* @param field - the field handle
*
* @return Type information.
- *
- * @note Replaces field_get_type_info_of_field_value.
*/
-Open_Type_Info_Handle
-field_get_type_info_of_field_type(Open_Field_Handle field);
+DECLARE_OPEN(Type_Info_Handle, field_get_type_info, (Field_Handle field));
/**
* Returns the class that represents the type of the field.
@@ -98,11 +98,8 @@
* @param field - the field handle
*
* @return the class that represents the type of the field.
- *
- * @note Replaces field_get_class_of_field_value.
*/
-Open_Class_Handle
-field_get_class_of_field_type(Open_Field_Handle field);
+DECLARE_OPEN(Class_Handle, field_get_class_of_field_type, (Field_Handle field));
/**
* Checks whether the field is final.
@@ -113,8 +110,7 @@
*
* #note Extended
*/
-Boolean
-field_is_final(Open_Field_Handle field);
+DECLARE_OPEN(BOOLEAN, field_is_final, (Field_Handle field));
/**
* Checks whether the field is static.
@@ -125,8 +121,7 @@
*
* @ingroup Extended
*/
-Boolean
-field_is_static(Open_Field_Handle field);
+DECLARE_OPEN(BOOLEAN, field_is_static, (Field_Handle field));
/**
* Checks whether the field is private.
@@ -137,8 +132,7 @@
*
* @ingroup Extended
*/
-Boolean
-field_is_private(Open_Field_Handle field);
+DECLARE_OPEN(BOOLEAN, field_is_private, (Field_Handle field));
/**
* Checks whether the field is public.
@@ -149,8 +143,7 @@
*
* @ingroup Extended
*/
-Boolean
-field_is_public(Open_Field_Handle field);
+DECLARE_OPEN(BOOLEAN, field_is_public, (Field_Handle field));
/**
* Checks whether the field is volatile.
@@ -161,8 +154,18 @@
*
* @ingroup Extended
*/
-Boolean
-field_is_volatile(Open_Field_Handle field);
+DECLARE_OPEN(BOOLEAN, field_is_volatile, (Field_Handle field));
+
+/**
+ * Checks whether the field is reference field.
+ *
+ * @param field - the field handle
+ *
+ * @return <code>TRUE</code> if the field is reference.
+ *
+ * #note Extended
+ */
+DECLARE_OPEN(BOOLEAN, field_is_reference, (Field_Handle field));
/**
* Checks whether the field is literal.
@@ -171,8 +174,7 @@
*
* @return <code>TRUE</code> if the field is literal.
*/
-Boolean
-field_is_literal(Open_Field_Handle field);
+DECLARE_OPEN(BOOLEAN, field_is_literal, (Field_Handle field));
/**
* Checks whether the field is injected.
@@ -181,7 +183,39 @@
*
* @return <code>TRUE</code> if the field is injected; otherwise, <code>FALSE</code>.
*/
-Boolean
-field_is_injected(Open_Field_Handle field);
+DECLARE_OPEN(BOOLEAN, field_is_injected, (Field_Handle field));
+
+/**
+ * @return <code>TRUE</code> if the field is a magic type field
+ *
+ * This function doesn't cause resolution of the class of the field.
+ */
+DECLARE_OPEN(BOOLEAN, field_is_magic, (Field_Handle fh));
+
+/**
+ * @return The address and bit mask, for the flag which determine whether field
+ * access event should be sent. JIT may use the following expression to
+ * determine if specified field access should be tracked:
+ * ( **address & *mask != 0 )
+ *
+ * @param field - handle of the field
+ * @param[out] address - pointer to the address of the byte which contains the flag
+ * @param[out] mask - pointer to the bit mask of the flag
+ */
+DECLARE_OPEN(void, field_get_track_access_flag, (Field_Handle field, char** address, char* mask));
+
+/**
+ * @return the address and bit mask, for the flag which determine whether field
+ * modification event should be sent. JIT may use the following expression to
+ * determine if specified field modification should be tracked:
+ * ( **address & *mask != 0 )
+ *
+ * @param field - handle of the field
+ * @param[out] address - pointer to the address of the byte which contains the flag
+ * @param[out] mask - pointer to the bit mask of the flag
+ */
+DECLARE_OPEN(void, field_get_track_modification_flag, (Field_Handle field, char** address, char* mask));
+
+}
#endif // _VM_FIELD_ACCESS_H
Modified: harmony/enhanced/drlvm/trunk/vm/include/open/vm_interface.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/include/open/vm_interface.h?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/include/open/vm_interface.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/include/open/vm_interface.h Thu Mar 20 05:41:52 2008
@@ -72,21 +72,6 @@
const char *name,
const char *descr));
-
-//Field
-
-PROTOTYPE_WITH_NAME(void* , field_get_address, (Field_Handle fh));
-PROTOTYPE_WITH_NAME(Class_Handle, field_get_class, (Field_Handle fh));
-PROTOTYPE_WITH_NAME(const char* , field_get_descriptor, (Field_Handle fh));
-PROTOTYPE_WITH_NAME(const char* , field_get_name, (Field_Handle fh));
-PROTOTYPE_WITH_NAME(unsigned , field_get_offset, (Field_Handle fh));
-PROTOTYPE_WITH_NAME(Type_Info_Handle, field_get_type_info, (Field_Handle fh)); //field_get_type_info_of_field_value
-PROTOTYPE_WITH_NAME(Boolean , field_is_final, (Field_Handle fh));
-PROTOTYPE_WITH_NAME(Boolean , field_is_magic, (Field_Handle fh)); //Boolean field_is_magic(Field_Handle fh);
-PROTOTYPE_WITH_NAME(Boolean , field_is_private, (Field_Handle fh));
-PROTOTYPE_WITH_NAME(Boolean , field_is_static, (Field_Handle fh));
-PROTOTYPE_WITH_NAME(Boolean , field_is_volatile, (Field_Handle fh));
-
//Method
PROTOTYPE_WITH_NAME(Method_Handle, method_get_overridden_method, (Class_Handle ch, Method_Handle mh));//method_find_overridden_method
Modified: harmony/enhanced/drlvm/trunk/vm/include/open/vm_type_access.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/include/open/vm_type_access.h?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/include/open/vm_type_access.h (original)
+++ harmony/enhanced/drlvm/trunk/vm/include/open/vm_type_access.h Thu Mar 20 05:41:52 2008
@@ -17,6 +17,7 @@
#ifndef _VM_TYPE_ACCESS_H
#define _VM_TYPE_ACCESS_H
+#include "common.h"
#include "types.h"
/**
* @file
Modified: harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter.cpp Thu Mar 20 05:41:52 2008
@@ -18,6 +18,7 @@
#include "interpreter_exports.h"
#include "interpreter_imports.h"
#include "open/vm_class_info.h"
+#include "open/vm_field_access.h"
#include <math.h>
#include "exceptions.h"
Modified: harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter_ti.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter_ti.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter_ti.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/interpreter/src/interpreter_ti.cpp Thu Mar 20 05:41:52 2008
@@ -23,6 +23,7 @@
#include "interpreter_imports.h"
#include "interp_defs.h"
#include "interp_native.h"
+#include "open/vm_field_access.h"
#include "port_malloc.h"
#include "thread_generic.h"
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_fld_arr.cpp Thu Mar 20 05:41:52 2008
@@ -27,6 +27,7 @@
#include "cg.h"
#include <open/vm.h>
#include <open/vm_class_info.h>
+#include <open/vm_field_access.h>
#include <jit_intf.h>
#include "trace.h"
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_instr.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_instr.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_instr.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/jet/cg_instr.cpp Thu Mar 20 05:41:52 2008
@@ -25,6 +25,7 @@
#include "cg.h"
#include "trace.h"
+#include "open/vm_field_access.h"
#include "jit_runtime_support.h"
#include "jit_intf.h"
Modified: harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/VMInterface.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/VMInterface.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/VMInterface.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/jitrino/src/vm/VMInterface.cpp Thu Mar 20 05:41:52 2008
@@ -27,6 +27,7 @@
#include "open/vm_class_info.h"
#include "open/vm_interface.h"
#include "open/vm_type_access.h"
+#include "open/vm_field_access.h"
#include "jit_import_rt.h"
#include "jit_runtime_support.h"
@@ -97,7 +98,7 @@
static field_get_descriptor_t field_get_descriptor = 0;
static field_get_name_t field_get_name = 0;
static field_get_offset_t field_get_offset = 0;
-static field_get_type_info_t field_get_type_info = 0; //field_get_type_info_of_field_value
+static field_get_type_info_t field_get_type_info = 0;
static field_is_final_t field_is_final = 0;
static field_is_magic_t field_is_magic = 0; //Boolean field_is_magic(Field_Handle fh);
static field_is_private_t field_is_private = 0;
Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/build/vmcore.exp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/build/vmcore.exp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/build/vmcore.exp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/build/vmcore.exp Thu Mar 20 05:41:52 2008
@@ -95,7 +95,7 @@
destroy_property_value;
field_get_address;
field_get_class;
- field_get_class_of_field_value;
+ field_get_class_of_field_type;
field_get_descriptor;
field_get_flags;
field_get_name;
@@ -103,7 +103,7 @@
field_get_track_access_flag;
field_get_track_modification_flag;
field_get_type;
- field_get_type_info_of_field_value;
+ field_get_type_info;
field_is_enumerable_reference;
field_is_final;
field_is_injected;
Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/class_support/C_Interface.cpp Thu Mar 20 05:41:52 2008
@@ -39,6 +39,7 @@
#include "Package.h"
#include "open/vm_type_access.h"
+#include "open/vm_field_access.h"
#include "open/vm_class_info.h"
#include "jit_intf.h"
@@ -67,7 +68,7 @@
static uint32 countLeadingChars(const char* str, char c) {
uint32 n=0;
while (str[n]==c) {
- n++;
+ n++;
}
return n;
}
@@ -104,41 +105,41 @@
-Boolean field_is_static(Field_Handle f)
+BOOLEAN field_is_static(Field_Handle f)
{
assert(f);
- return ((Field *)f)->is_static();
+ return f->is_static();
}
-Boolean field_is_final(Field_Handle f)
+BOOLEAN field_is_final(Field_Handle f)
{
assert(f);
- return ((Field *)f)->is_final();
+ return f->is_final();
}
-Boolean field_is_volatile(Field_Handle f)
+BOOLEAN field_is_volatile(Field_Handle f)
{
assert(f);
- return ((Field *)f)->is_volatile();
+ return f->is_volatile();
}
-Boolean field_is_private(Field_Handle f)
+BOOLEAN field_is_private(Field_Handle f)
{
assert(f);
- return ((Field *)f)->is_private();
+ return f->is_private();
}
-Boolean field_is_public(Field_Handle f)
+BOOLEAN field_is_public(Field_Handle f)
{
assert(f);
- return ((Field*)f)->is_public();
+ return f->is_public();
}
@@ -146,8 +147,8 @@
unsigned field_get_offset(Field_Handle f)
{
assert(f);
- assert(!((Field *)f)->is_static());
- return ((Field *)f)->get_offset();
+ assert(!f->is_static());
+ return f->get_offset();
} //field_get_offset
@@ -164,7 +165,7 @@
const char* field_get_name(Field_Handle f)
{
assert(f);
- return ((Field *)f)->get_name()->bytes;
+ return f->get_name()->bytes;
}
@@ -172,15 +173,15 @@
const char* field_get_descriptor(Field_Handle f)
{
assert(f);
- return ((Field *)f)->get_descriptor()->bytes;
+ return f->get_descriptor()->bytes;
}
-Java_Type field_get_type(Field_Handle f)
+Java_Type field_get_type(Field_Handle f)
{
assert(f);
- return ((Field *)f)->get_java_type();
+ return f->get_java_type();
} // field_get_type
@@ -188,7 +189,7 @@
unsigned field_get_flags(Field_Handle f)
{
assert(f);
- return ((Field *)f)->get_access_flags();
+ return f->get_access_flags();
}
@@ -196,19 +197,19 @@
Class_Handle field_get_class(Field_Handle f)
{
assert(f);
- return ((Field *)f)->get_class();
+ return f->get_class();
} //field_get_class
void field_get_track_access_flag(Field_Handle f, char** address,
char* mask)
{
- return ((Field *)f)->get_track_access_flag(address, mask);
+ return f->get_track_access_flag(address, mask);
}
void field_get_track_modification_flag(Field_Handle f, char** address,
char* mask)
{
- return ((Field *)f)->get_track_modification_flag(address, mask);
+ return f->get_track_modification_flag(address, mask);
}
Boolean method_is_static(Method_Handle m)
@@ -225,8 +226,6 @@
}
-
-
Boolean method_is_synchronized(Method_Handle m)
{
assert(m);
@@ -234,13 +233,13 @@
} //method_is_synchronized
-
Boolean method_is_private(Method_Handle m)
{
assert(m);
return ((Method *)m)->is_private();
} //method_is_private
+
Boolean method_is_public(Method_Handle m)
{
assert(m);
@@ -255,8 +254,6 @@
} // method_is_strict
-
-
Boolean method_is_native(Method_Handle m)
{
assert(m);
@@ -271,7 +268,6 @@
} //method_allocate_info_block
-
Byte *method_allocate_jit_data_block(Method_Handle m, JIT_Handle j, size_t size, size_t alignment)
{
assert(m);
@@ -279,8 +275,6 @@
} //method_allocate_jit_data_block
-
-
Byte *method_get_info_block_jit(Method_Handle m, JIT_Handle j)
{
assert(m);
@@ -897,6 +891,17 @@
}
+Field* class_resolve_nonstatic_field(Class* clss, unsigned cp_index)
+{
+ Compilation_Handle ch;
+ ch.env = VM_Global_State::loader_env;
+ ch.jit = NULL;
+ Field_Handle fh = resolve_field(&ch, (Class_Handle)clss, cp_index);
+ if(!fh || field_is_static(fh))
+ return NULL;
+ return fh;
+} // class_resolve_nonstatic_field
+
ClassLoaderHandle
class_get_class_loader(Class_Handle ch)
@@ -1335,7 +1340,7 @@
-Boolean field_is_literal(Field_Handle fh)
+BOOLEAN field_is_literal(Field_Handle fh)
{
assert(fh);
Field *f = (Field *)fh;
@@ -1479,16 +1484,6 @@
} //class_get_array_of_unboxed
-
-
-Boolean field_is_unmanaged_static(Field_Handle fh)
-{
- assert(fh);
- return FALSE;
-} //field_is_unmanaged_static
-
-
-
Boolean class_is_primitive(Class_Handle ch)
{
assert(ch);
@@ -1749,7 +1744,7 @@
// -gc magic needs this to do the recursive load.
-Class_Handle field_get_class_of_field_value(Field_Handle fh)
+Class_Handle field_get_class_of_field_type(Field_Handle fh)
{
assert(hythread_is_suspend_enabled());
assert(fh);
@@ -1760,17 +1755,17 @@
if(!ch->prepare(VM_Global_State::loader_env))
return NULL;
return ch;
-} //field_get_class_of_field_value
+} // field_get_class_of_field_type
-Boolean field_is_reference(Field_Handle fh)
+BOOLEAN field_is_reference(Field_Handle fh)
{
assert((Field *)fh);
Java_Type typ = fh->get_java_type();
return (typ == JAVA_TYPE_CLASS || typ == JAVA_TYPE_ARRAY);
} //field_is_reference
-Boolean field_is_magic(Field_Handle fh)
+BOOLEAN field_is_magic(Field_Handle fh)
{
assert((Field *)fh);
@@ -1785,7 +1780,7 @@
} //field_is_enumerable_reference
-Boolean field_is_injected(Field_Handle f)
+BOOLEAN field_is_injected(Field_Handle f)
{
assert(f);
return ((Field*)f)->is_injected();
@@ -1897,14 +1892,14 @@
} //free_string_buffer
-Type_Info_Handle field_get_type_info_of_field_value(Field_Handle fh)
+Type_Info_Handle field_get_type_info(Field_Handle fh)
{
assert(fh);
Field *field = (Field *)fh;
TypeDesc* td = field->get_field_type_desc();
assert(td);
return td;
-} //field_get_type_info_of_field_value
+} // field_get_type_info
Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm.cpp Thu Mar 20 05:41:52 2008
@@ -25,25 +25,3 @@
// tag pointer is not allocated by default, enabled by TI
VMEXPORT bool ManagedObject::_tag_pointer = false;
-
-
-/////////////////////////////////////////////////////////////////
-// begin Class
-/////////////////////////////////////////////////////////////////
-
-
-Field* class_resolve_nonstatic_field(Class* clss, unsigned cp_index)
-{
- Compilation_Handle ch;
- ch.env = VM_Global_State::loader_env;
- ch.jit = NULL;
- Field_Handle fh = resolve_field(&ch, (Class_Handle)clss, cp_index);
- if(!fh || field_is_static(fh))
- return NULL;
- return fh;
-} // class_resolve_nonstatic_field
-
-
-/////////////////////////////////////////////////////////////////
-// end Class
-/////////////////////////////////////////////////////////////////
Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp Thu Mar 20 05:41:52 2008
@@ -154,8 +154,6 @@
return (void*)class_hint_is_exceptiontype;
} else if (strcmp(func_name,"class_is_abstract") == 0) {
return (void*)class_is_abstract;
- } else if (strcmp(func_name,"field_get_type_info") == 0) {
- return (void*)field_get_type_info_of_field_value;
} else if (strcmp(func_name,"method_get_overridden_method") == 0) {
return (void*)method_find_overridden_method;
} else if (strcmp(func_name,"vector_get_first_element_offset") == 0) {
Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_event.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_event.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_event.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_event.cpp Thu Mar 20 05:41:52 2008
@@ -1252,7 +1252,7 @@
tmn_suspend_enable();
// get field class
- //Type_Info_Handle field_type = field_get_type_info_of_field_value(field);
+ //Type_Info_Handle field_type = field_get_type_info(field);
//Class_Handle clss = type_info_get_class(field_type);
//ASSERT(clss, "Can't get class handle for field type.");
//jclass field_klass = struct_Class_to_java_lang_Class_Handle(clss);
@@ -1324,7 +1324,7 @@
// get field class
tmn_suspend_enable();
- //Type_Info_Handle field_type = field_get_type_info_of_field_value(field);
+ //Type_Info_Handle field_type = field_get_type_info(field);
//Class_Handle clss = type_info_get_class(field_type);
//ASSERT(clss, "Can't get class handle for field type.");
//jclass field_klass = struct_Class_to_java_lang_Class_Handle(clss);
Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_trace.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_trace.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_trace.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/jvmti/jvmti_trace.cpp Thu Mar 20 05:41:52 2008
@@ -22,6 +22,7 @@
#include "cxxlog.h"
#include "open/gc.h"
+#include "open/vm_field_access.h"
#include "slot.h"
// VM internal headers
Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_reflect_VMReflection.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_reflect_VMReflection.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_reflect_VMReflection.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/kernel_classes/native/java_lang_reflect_VMReflection.cpp Thu Mar 20 05:41:52 2008
@@ -31,6 +31,7 @@
#include "cxxlog.h"
#include "reflection.h"
+#include "open/vm_field_access.h"
#include "environment.h"
#include "exceptions.h"
#include "vm_strings.h"
@@ -91,7 +92,7 @@
(JNIEnv *jenv, jclass, jlong member)
{
Field_Handle fh = (Field_Handle) ((POINTER_SIZE_INT) member);
- Type_Info_Handle fti = field_get_type_info_of_field_value(fh);
+ Type_Info_Handle fti = field_get_type_info(fh);
return descriptor_to_jclass(fti);
}
Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/reflection/reflection.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/reflection/reflection.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/reflection/reflection.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/reflection/reflection.cpp Thu Mar 20 05:41:52 2008
@@ -32,6 +32,7 @@
#include "port_malloc.h"
#include "open/vm_type_access.h"
+#include "open/vm_field_access.h"
#include "exceptions.h"
#include "heap.h"
Modified: harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ipf/base/compile_ipf.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ipf/base/compile_ipf.cpp?rev=639267&r1=639266&r2=639267&view=diff
==============================================================================
--- harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ipf/base/compile_ipf.cpp (original)
+++ harmony/enhanced/drlvm/trunk/vm/vmcore/src/util/ipf/base/compile_ipf.cpp Thu Mar 20 05:41:52 2008
@@ -340,7 +340,7 @@
unsigned num_fields = class_num_instance_fields_recursive(c);
for(unsigned i=0; i<num_fields; i++) {
Field_Handle f = class_get_instance_field_recursive(c, i);
- Type_Info_Handle ftih = field_get_type_info_of_field_value(f);
+ Type_Info_Handle ftih = field_get_type_info(f);
unsigned offset = 0;
// field_get_offset_unboxed asserts 0 anyway
switch (type_info_get_type(ftih)) {