Hi Minas,<div><br></div><div>Consider that VMKit started as a research project (ie prototype), and these macros eased the implementation of another research project. They are not needed for a spec-compliant JVM, but the implementation of other projects was made easier by having them here.</div>
<div><br></div><div>Nicolas<br><br><div class="gmail_quote">On Fri, Jul 16, 2010 at 6:58 AM, Minas Abrahamyan <span dir="ltr"><<a href="mailto:minas.subs@gmail.com">minas.subs@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Trying to debug this happens to very specific code peculiarities:<br>
<br>
Overuse of #define-s!<br>
<br>
All started with<br>
#define LOAD_CLASS(<br>
in Jnjvm.cpp<br>
Then,<br>
  1184    LOAD_CLASS(upcalls->SystemClass);<br>
surprisingly calls to:<br>
  void UserClass::initialiseClass(Jnjvm* vm) in Jnjvm.cpp:53<br>
<br>
because of multiple defines, most unexpeting one for which was:<br>
  #define UserClass Class<br>
at JnjvmConfig.h:28<br>
<br>
and its brother #defines:<br>
<br>
  #define UserClassArray ClassArray<br>
  #define UserClassPrimitive ClassPrimitive<br>
  #define UserClass Class<br>
  #define UserCommonClass CommonClass<br>
  #define UserConstantPool JavaConstantPool<br>
<br>
Why are so many defines? why not use inline functions?<br>
<br>
I wasn't able to find the last magical #define of UserClass until I<br>
have all VMkit loaded into Eclipse and used its refactoring browser...<br>
<br>
<br>
On Thu, Jul 15, 2010 at 1:17 PM, Minas Abrahamyan <<a href="mailto:minas.subs@gmail.com">minas.subs@gmail.com</a>> wrote:<br>
> Hi Nicolas,<br>
<div class="im">><br>
> 64-bits continue with same error, 'this' is null, because loader is null,<br>
> etc.<br>
><br>
> Regards,<br>
> Minas<br>
</div><div><div></div><div class="h5">_______________________________________________<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>
</div></div></blockquote></div><br></div>