codegen: extra handling if calldisplacement doesn't fit in 8bit
authorBernhard Urban <lewurm@gmail.com>
Sun, 20 May 2012 19:56:49 +0000 (21:56 +0200)
committerBernhard Urban <lewurm@gmail.com>
Sun, 20 May 2012 19:56:49 +0000 (21:56 +0200)
commit54be3c9d4d75913b62865f844109537689c881c0
tree6c2a1ca5d5ea9503a1d5d25d40540e8914431418
parentd3e366a591dc0f91edcba49f1e8594d048e0e9f1
codegen: extra handling if calldisplacement doesn't fit in 8bit

harpy generates different code for
- call (Disp  (0x33 :: Word32) (eax)
- call (Disp (0x444 :: Word32) (eax))
although if both immediates are declared as Word32, harpy checks
at emmitting if it's able to reduce code size.

hopefully we find a easier way to fix this issue, because this way
just introduces more complexity.
Mate/MethodPool.hs
Mate/Types.hs
Mate/X86CodeGen.hs
Mate/X86TrapHandling.hs
tests/InstanceLong1.java [new file with mode: 0644]