Current Status

Jerry Kramskoy
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

> 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

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

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

More information about the Java mailing list