I think this patch is fine. Ideally we should refactor to have the layout in a separate class. But I can live with your change. Please change the /// CLASSPATH FIELDS!! comment to just a comment that says that the #else is for classpath fields. Thanks!<br>
<br><div class="gmail_quote">On Tue, Oct 25, 2011 at 11:20 PM, Will Dietz <span dir="ltr"><<a href="mailto:wdietz2@illinois.edu">wdietz2@illinois.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Inlined below.<br>
<br>
I understand macros aren't preferred, thoughts on how to best accomplish this?<br>
<br>
#include JavaStringFieldsOpenJDK.inc, etc?<br>
<br>
Field layout can be checked with "javap -private java/lang/String"<br>
against an OpenJDK installation.<br>
<br>
~Will<br>
<br>
>From d707ac49951537aa9ee03dfac62515c8b8367221 Mon Sep 17 00:00:00 2001<br>
From: Will Dietz <<a href="mailto:w@wdtz.org">w@wdtz.org</a>><br>
Date: Fri, 14 Oct 2011 04:57:57 -0500<br>
Subject: [PATCH] Fix JavaString field layout for OpenJDK<br>
<br>
---<br>
 lib/J3/VMCore/JavaString.h |    6 ++++++<br>
 1 files changed, 6 insertions(+), 0 deletions(-)<br>
<br>
diff --git a/lib/J3/VMCore/JavaString.h b/lib/J3/VMCore/JavaString.h<br>
index e9707ab..7fa31e1 100644<br>
--- a/lib/J3/VMCore/JavaString.h<br>
+++ b/lib/J3/VMCore/JavaString.h<br>
@@ -25,9 +25,15 @@ class JavaString : public JavaObject {<br>
   // CLASSPATH FIELDS!!<br>
   const ArrayUInt16* value;<br>
  public:<br>
+#ifndef USE_OPENJDK<br>
   sint32 count;<br>
   sint32 cachedHashCode;<br>
   sint32 offset;<br>
+#else<br>
+  sint32 offset;<br>
+  sint32 count;<br>
+  sint32 cachedHashCode;<br>
+#endif<br>
<br>
   static void setValue(JavaString* self, const ArrayUInt16* array) {<br>
     llvm_gcroot(self, 0);<br>
<font color="#888888">--<br>
1.7.5.1<br>
_______________________________________________<br>
vmkit-commits mailing list<br>
<a href="mailto:vmkit-commits@cs.uiuc.edu">vmkit-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/vmkit-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/vmkit-commits</a><br>
</font></blockquote></div><br>