The "--no-inline" option caused Kawa to generate invalid bytecode

Per Bothner per@bothner.com
Thu Oct 5 06:29:00 GMT 2017


On 09/04/2017 03:25 AM, Kay Zheng wrote:
> Hi Per,
> 
> I think I hit a bug regarding "(define-early-constant ...)" and the
> "--no-inline" option. This is the problematic program:

... [caused a VerifyError].

The problem was that one point Kawa thought the current bytecode
location was "unreachable" - as it would be after a goto instruction.
That is why it didn't generate the necessary instructions.
Fixing that problem was relatively easy, but then I ran into another
problem in generating the stack-map tables (which are used by the verifier)
Fixing that problem looked messy and difficult.

I tried the test-case using the bytecode2 branch (announced in the
previous message) - and that worked.

So I decided to "punt" on this problem for now, and wait for it to be
fixed when bytecode2 is merged into master.  Sorry about that.
Until the code is merged, I welcome testing of the bytecode2 branch.
-- 
	--Per Bothner
per@bothner.com   http://per.bothner.com/



More information about the Kawa mailing list