[vmkit-commits] [vmkit] r180424 - able to link with -O0

Peter Senna Tschudin peter.senna at gmail.com
Thu Apr 25 10:10:05 PDT 2013


Author: peter.senna
Date: Thu Apr 25 12:08:32 2013
New Revision: 180424

URL: http://llvm.org/viewvc/llvm-project?rev=180424&view=rev
Log:
able to link with -O0
(cherry picked from commit 0563a03f6fd0c349491ac0a828675bbf4e38d88b)

Modified:
    vmkit/trunk/Makefile.rules
    vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.h
    vmkit/trunk/lib/j3/ClassLib/Unsafe.inc
    vmkit/trunk/lib/j3/ClassLib/VMStaticInstance.h
    vmkit/trunk/lib/j3/VMCore/JavaObject.h
    vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.h

Modified: vmkit/trunk/Makefile.rules
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/Makefile.rules?rev=180424&r1=180423&r2=180424&view=diff
==============================================================================
--- vmkit/trunk/Makefile.rules (original)
+++ vmkit/trunk/Makefile.rules Thu Apr 25 12:08:32 2013
@@ -37,9 +37,7 @@ ifeq ($(OPTIMIZED),1)
   COMMON_CFLAGS+= -O3 -fno-strict-aliasing -fno-omit-frame-pointer 
   OPT_MMTK_FLAGS= -std-compile-opts
 else
-  $(error "fix me: what are the good flags?")
   LLC_FLAGS+= -O0
-  OPT_FLAGS+=-inline
   COMMON_CFLAGS+= -O0
   OPT_MMTK_FLAGS= 
 endif

Modified: vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.h?rev=180424&r1=180423&r2=180424&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.h (original)
+++ vmkit/trunk/lib/j3/ClassLib/GNUClasspath/ClasspathReflect.h Thu Apr 25 12:08:32 2013
@@ -29,7 +29,7 @@ private:
 
 public:
   
-  static UserCommonClass* getClass(JavaObjectClass* cl) {
+  static UserCommonClass* getClass(JavaObjectClass* cl) __attribute__ ((always_inline)) {
     llvm_gcroot(cl, 0);
     return cl->vmdata;
   }
@@ -91,7 +91,7 @@ public:
 		return &(cls->asClass()->virtualFields[self->slot]);
 	}
 
-	static UserClass* getClass(JavaObjectVMField* self) {
+	static UserClass* getClass(JavaObjectVMField* self) __attribute__ ((always_inline)) {
 		llvm_gcroot(self, 0);
 		UserCommonClass* cls = JavaObjectClass::getClass(self->declaringClass);
 		return cls->asClass();
@@ -117,7 +117,7 @@ public:
     return JavaObjectVMField::getInternalField(self->vmField);
   }
 
-  static UserClass* getClass(JavaObjectField* self) {
+  static UserClass* getClass(JavaObjectField* self) __attribute__ ((always_inline)) {
     llvm_gcroot(self, 0);
     return JavaObjectVMField::getClass(self->vmField);
   }
@@ -139,7 +139,7 @@ public:
 
 	static JavaMethod* getInternalMethod(JavaObjectVMMethod* self);
 
-	static UserClass* getClass(JavaObjectVMMethod* self) {
+	static UserClass* getClass(JavaObjectVMMethod* self) __attribute__ ((always_inline)) {
 		llvm_gcroot(self, 0);
 		UserCommonClass* cls = JavaObjectClass::getClass(self->declaringClass);
 		return cls->asClass();
@@ -162,7 +162,7 @@ public:
   
   static JavaMethod* getInternalMethod(JavaObjectMethod* self);
   
-  static UserClass* getClass(JavaObjectMethod* self) {
+  static UserClass* getClass(JavaObjectMethod* self) __attribute__ ((always_inline)) {
     llvm_gcroot(self, 0);
     return JavaObjectVMMethod::getClass(self->vmMethod);
   }
@@ -184,7 +184,7 @@ public:
 
   static JavaMethod* getInternalMethod(JavaObjectVMConstructor* self);
 
-  static UserClass* getClass(JavaObjectVMConstructor* self) {
+  static UserClass* getClass(JavaObjectVMConstructor* self) __attribute__ ((always_inline)) {
     llvm_gcroot(self, 0);
     UserCommonClass* cls = JavaObjectClass::getClass(self->declaringClass);
     return cls->asClass();

Modified: vmkit/trunk/lib/j3/ClassLib/Unsafe.inc
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/Unsafe.inc?rev=180424&r1=180423&r2=180424&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/Unsafe.inc (original)
+++ vmkit/trunk/lib/j3/ClassLib/Unsafe.inc Thu Apr 25 12:08:32 2013
@@ -14,7 +14,7 @@
 /// base/offset pair.  Non-trivial due to our handling of static instances,
 /// and this also handles null-checking as required.
 ///
-static inline uint8 *fieldPtr(JavaObject *base, int64_t offset,
+inline uint8 *fieldPtr(JavaObject *base, int64_t offset,
   bool throwOnNull = true) {
 
   // For most uses, a 'null' base should throw an exception.

Modified: vmkit/trunk/lib/j3/ClassLib/VMStaticInstance.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/ClassLib/VMStaticInstance.h?rev=180424&r1=180423&r2=180424&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/ClassLib/VMStaticInstance.h (original)
+++ vmkit/trunk/lib/j3/ClassLib/VMStaticInstance.h Thu Apr 25 12:08:32 2013
@@ -47,7 +47,7 @@ public:
 
   /// Is the object a VMStaticInstance object?
   ///
-  static bool isVMStaticInstance(const JavaObject* obj) {
+  static bool isVMStaticInstance(const JavaObject* obj) __attribute__ ((always_inline)) {
     llvm_gcroot(obj, 0);
     return obj->getVirtualTable() == &VT;
   }

Modified: vmkit/trunk/lib/j3/VMCore/JavaObject.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JavaObject.h?rev=180424&r1=180423&r2=180424&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JavaObject.h (original)
+++ vmkit/trunk/lib/j3/VMCore/JavaObject.h Thu Apr 25 12:08:32 2013
@@ -263,7 +263,7 @@ public:
 
   /// getClass - Returns the class of this object.
   ///
-  static UserCommonClass* getClass(const JavaObject* self) {
+  static UserCommonClass* getClass(const JavaObject* self) __attribute__ ((always_inline)) {
     llvm_gcroot(self, 0);
     return ((JavaVirtualTable*)self->getVirtualTable())->cl;
   }

Modified: vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.h?rev=180424&r1=180423&r2=180424&view=diff
==============================================================================
--- vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.h (original)
+++ vmkit/trunk/lib/j3/VMCore/JnjvmClassLoader.h Thu Apr 25 12:08:32 2013
@@ -510,7 +510,7 @@ public:
 
   /// Is the object a VMClassLoader object?
   ///
-  static bool isVMClassLoader(const JavaObject* obj) {
+  static bool isVMClassLoader(const JavaObject* obj) __attribute__ ((always_inline)) {
     llvm_gcroot(obj, 0);
     return obj->getVirtualTable() == &VT;
   }





More information about the vmkit-commits mailing list