Branch: refs/heads/master
Home:   http://github.com/penberg/jato

Commit: ff14b74784ad0103efa0a33d812d6c06c7b3c615
    
http://github.com/penberg/jato/commit/ff14b74784ad0103efa0a33d812d6c06c7b3c615
Author: Pekka Enberg <penb...@cs.helsinki.fi>
Date:   2009-08-17 (Mon, 17 Aug 2009)

Changed paths:
  M Makefile
  M include/jit/expression.h
  M jit/expression.c
  A regression/jvm/InvokeResultTest.j
  M regression/run-suite.sh
  M test/jit/invoke-bc-test.c

Log Message:
-----------
jit: fix expression type for EXPR_INVOKE*

When method returns char, byte, boolean or short then int value should
be pushed on mimic stack. Primitive types listed above do not occur
in java stack. They are always converted to int implicitly.

This caused failed assertion for the following method:

jato: jit/typeconv-bc.c:56: convert_truncation: Assertion failed 
`from_expression->vm_type == J_INT'.

[main] TRACE: org/jpc/emulator/pci/AbstractPCIDevice.configReadWord(I)S
[main] Length: 30
[main] Code:
[main] [ 0000 ] 2a 1b 04 60 b6 00 0b 93  3d 1c 10 08 78 93 3d 1c
[main] [ 0016 ] 11 00 ff 2a 1b b6 00 0b  7e 80 93 3d 1c ac
[main]
[main]
[main] Code:
[main]    [ 0   ]  0x2a  aload_0
[main]    [ 1   ]  0x1b  iload_1
[main]    [ 2   ]  0x04  iconst_1
[main]    [ 3   ]  0x60  iadd
[main]    [ 4   ]  0xb6  invokevirtual  0x00 0x0b // 
org/jpc/emulator/pci/AbstractPCIDevice.configReadByte(I)B
[main]    [ 7   ]  0x93  i2s

Signed-off-by: Tomek Grabiec <tgrab...@gmail.com>
Signed-off-by: Pekka Enberg <penb...@cs.helsinki.fi>



------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to