Mercurial > hg > truffle
comparison src/share/vm/prims/methodHandleWalk.cpp @ 1565:ab102d5d923e
6939207: refactor constant pool index processing
Summary: Factored cleanup of instruction decode which prepares for enhanced ldc semantics.
Reviewed-by: twisti
author | jrose |
---|---|
date | Sun, 23 May 2010 01:38:26 -0700 |
parents | cd5dbf694d45 |
children | e9ff18c4ace7 |
comparison
equal
deleted
inserted
replaced
1564:61b2245abf36 | 1565:ab102d5d923e |
---|---|
730 case Bytecodes::_lreturn: | 730 case Bytecodes::_lreturn: |
731 case Bytecodes::_freturn: | 731 case Bytecodes::_freturn: |
732 case Bytecodes::_dreturn: | 732 case Bytecodes::_dreturn: |
733 case Bytecodes::_areturn: | 733 case Bytecodes::_areturn: |
734 case Bytecodes::_return: | 734 case Bytecodes::_return: |
735 assert(strcmp(Bytecodes::format(op), "b") == 0, "wrong bytecode format"); | 735 assert(Bytecodes::format_bits(op, false) == Bytecodes::_fmt_b, "wrong bytecode format"); |
736 _bytecode.push(op); | 736 _bytecode.push(op); |
737 break; | 737 break; |
738 | 738 |
739 // bi | 739 // bi |
740 case Bytecodes::_ldc: | 740 case Bytecodes::_ldc: |
746 case Bytecodes::_istore: | 746 case Bytecodes::_istore: |
747 case Bytecodes::_lstore: | 747 case Bytecodes::_lstore: |
748 case Bytecodes::_fstore: | 748 case Bytecodes::_fstore: |
749 case Bytecodes::_dstore: | 749 case Bytecodes::_dstore: |
750 case Bytecodes::_astore: | 750 case Bytecodes::_astore: |
751 assert(strcmp(Bytecodes::format(op), "bi") == 0, "wrong bytecode format"); | 751 assert(Bytecodes::format_bits(op, false) == Bytecodes::_fmt_bi, "wrong bytecode format"); |
752 assert((char) index == index, "index does not fit in 8-bit"); | 752 assert((char) index == index, "index does not fit in 8-bit"); |
753 _bytecode.push(op); | 753 _bytecode.push(op); |
754 _bytecode.push(index); | 754 _bytecode.push(index); |
755 break; | 755 break; |
756 | 756 |
757 // bii | 757 // bii |
758 case Bytecodes::_ldc2_w: | 758 case Bytecodes::_ldc2_w: |
759 case Bytecodes::_checkcast: | 759 case Bytecodes::_checkcast: |
760 assert(strcmp(Bytecodes::format(op), "bii") == 0, "wrong bytecode format"); | 760 assert(Bytecodes::format_bits(op, false) == Bytecodes::_fmt_bkk, "wrong bytecode format"); |
761 assert((short) index == index, "index does not fit in 16-bit"); | 761 assert((short) index == index, "index does not fit in 16-bit"); |
762 _bytecode.push(op); | 762 _bytecode.push(op); |
763 _bytecode.push(index >> 8); | 763 _bytecode.push(index >> 8); |
764 _bytecode.push(index); | 764 _bytecode.push(index); |
765 break; | 765 break; |
766 | 766 |
767 // bjj | 767 // bJJ |
768 case Bytecodes::_invokestatic: | 768 case Bytecodes::_invokestatic: |
769 case Bytecodes::_invokespecial: | 769 case Bytecodes::_invokespecial: |
770 case Bytecodes::_invokevirtual: | 770 case Bytecodes::_invokevirtual: |
771 assert(strcmp(Bytecodes::format(op), "bjj") == 0, "wrong bytecode format"); | 771 assert(Bytecodes::format_bits(op, false) == Bytecodes::_fmt_bJJ, "wrong bytecode format"); |
772 assert((short) index == index, "index does not fit in 16-bit"); | 772 assert((short) index == index, "index does not fit in 16-bit"); |
773 _bytecode.push(op); | 773 _bytecode.push(op); |
774 _bytecode.push(index >> 8); | 774 _bytecode.push(index >> 8); |
775 _bytecode.push(index); | 775 _bytecode.push(index); |
776 break; | 776 break; |