# 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 via email to