[perl #34949] [BUG] <cmp>_p_i_ic

0 views
Skip to first unread message

Leopold Toetsch

unread,
Apr 13, 2005, 5:18:50 AM4/13/05
to bugs-bi...@rt.perl.org
# New Ticket Created by Leopold Toetsch
# Please include the string: [perl #34949]
# in the subject line of all future correspondence about this issue.
# <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=34949 >


The following snippet ...

$ cat b.imc
.sub main @MAIN
.local pmc b
b = new BigInt
b = 1e10
if b > 4 goto ok
print "never\n"
end
ok:
print "ok\n"
.end

... shows that the implementation of some compare opcodes is wrong:

$ ./parrot b.imc
bigint_get_long: number too big
in file 'b.imc' near line 4

The C<gt> opcode calls VTABLE_get_integer on the PMC which isn't correct
in that case.

We need either a MMD_CMP_INT functions defined in vtable.tbl or less
efficiently promote the integer constant to an Integer PMC.

leo

Reply all
Reply to author
Forward
0 new messages