Current Status

Jerry Kramskoy Jerry.Kramskoy@isltd.insignia.com
Thu Feb 18 04:18:00 GMT 1999


As you say, inlining at the JIT/executable level for the given example is
fine semantically ... but out of interest, how do you handle inlining if the
inlined method has any Java exception handlers?  The reason I ask is
that normally the inlinee method uses the inliners frame for stack-based
storage ... are the handlers also compiled in the context of a missing
frame.?


>
> Then it would be illegal for B to inline A.f() since the bytecode would
> be accessing a private member outside of its enclosing class.

But, since we generate native code from bytecode, we can inline
methods in native code even though they are not inlined in the
bytecode.

Native code (JIT or executables) is not running in a sandbox and
doesn't have to obey the rules of bytecode. It only have to obey the
semantics of java. The rule saying that you cannot access private
fields from another class _in java code_ is not violated.

> --
> Jeff Sturm
> jsturm@sigma6.com

/erik
--
\|/ ____ \|/  Erik M. Hansen <martino@daimi.aau.dk>
"@'/ oo \`@"  http://www.daimi.aau.dk/~martino/
/_| \__/ |_\  Fuglesangsalle 69, DK-8210 Århus V, Denmark.
    \__U_/     Phone office (+45) 8942 3217, Phone home 86106814




More information about the Java mailing list