libgcj merging and VMStackWalker

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Bryce McKinlay wrote:
> GetCallingClass(Class) is intended for situations where you 
> really want the caller of an external API into the class,
> but due to overloaded methods or inlining may have an
> indeterminate number of frames between the external method
> and the site at which GetCallingClass() is called. 
> java.lang.reflect and ResourceBundle are two examples where 
> it is useful - we never want ResourceBundle.class or
> Field.class, for example, to be returned there.

None of the above really applies to VMStackWalker.getCallingClass(). It
has well defined semantics and requires no hacks or workarounds, only a
VM that can reliably walk the stack (i.e. know which frames are non-Java
and prevent inlining from losing frames).

If gcj cannot reliably walk the stack at the moment, I suggest modifying
the code generator to add the class argument to the
VMStackWalker.getCallingClass(), instead of muddling up the VM interface
with that.

Regards,
Jeroen


[Index of Archives]     [Linux Kernel]     [Linux Cryptography]     [Fedora]     [Fedora Directory]     [Red Hat Development]

  Powered by Linux