equal
deleted
inserted
replaced
580 { |
580 { |
581 Label notLong, notDouble; |
581 Label notLong, notDouble; |
582 __ cmpl(flags, ltos); |
582 __ cmpl(flags, ltos); |
583 __ jcc(Assembler::notEqual, notLong); |
583 __ jcc(Assembler::notEqual, notLong); |
584 // ltos |
584 // ltos |
|
585 // Loading high word first because movptr clobbers rax |
|
586 NOT_LP64(__ movptr(rdx, field.plus_disp(4))); |
585 __ movptr(rax, field); |
587 __ movptr(rax, field); |
586 NOT_LP64(__ movptr(rdx, field.plus_disp(4))); |
|
587 __ push(ltos); |
588 __ push(ltos); |
588 __ jmp(Done); |
589 __ jmp(Done); |
589 |
590 |
590 __ bind(notLong); |
591 __ bind(notLong); |
591 __ cmpl(flags, dtos); |
592 __ cmpl(flags, dtos); |