comparison src/share/vm/interpreter/bytecodeInterpreter.cpp @ 14404:6cc7093e1341

Merge
author kvn
date Thu, 11 Jul 2013 12:56:29 -0700
parents 0014add32e54 a023ec3452c7
children bdd155477289
comparison
equal deleted inserted replaced
14403:75ef1a499665 14404:6cc7093e1341
1635 1635
1636 /* 32-bit loads. These handle conversion from < 32-bit types */ 1636 /* 32-bit loads. These handle conversion from < 32-bit types */
1637 #define ARRAY_LOADTO32(T, T2, format, stackRes, extra) \ 1637 #define ARRAY_LOADTO32(T, T2, format, stackRes, extra) \
1638 { \ 1638 { \
1639 ARRAY_INTRO(-2); \ 1639 ARRAY_INTRO(-2); \
1640 extra; \ 1640 (void)extra; \
1641 SET_ ## stackRes(*(T2 *)(((address) arrObj->base(T)) + index * sizeof(T2)), \ 1641 SET_ ## stackRes(*(T2 *)(((address) arrObj->base(T)) + index * sizeof(T2)), \
1642 -2); \ 1642 -2); \
1643 UPDATE_PC_AND_TOS_AND_CONTINUE(1, -1); \ 1643 UPDATE_PC_AND_TOS_AND_CONTINUE(1, -1); \
1644 } 1644 }
1645 1645
1646 /* 64-bit loads */ 1646 /* 64-bit loads */
1647 #define ARRAY_LOADTO64(T,T2, stackRes, extra) \ 1647 #define ARRAY_LOADTO64(T,T2, stackRes, extra) \
1648 { \ 1648 { \
1649 ARRAY_INTRO(-2); \ 1649 ARRAY_INTRO(-2); \
1650 SET_ ## stackRes(*(T2 *)(((address) arrObj->base(T)) + index * sizeof(T2)), -1); \ 1650 SET_ ## stackRes(*(T2 *)(((address) arrObj->base(T)) + index * sizeof(T2)), -1); \
1651 extra; \ 1651 (void)extra; \
1652 UPDATE_PC_AND_CONTINUE(1); \ 1652 UPDATE_PC_AND_CONTINUE(1); \
1653 } 1653 }
1654 1654
1655 CASE(_iaload): 1655 CASE(_iaload):
1656 ARRAY_LOADTO32(T_INT, jint, "%d", STACK_INT, 0); 1656 ARRAY_LOADTO32(T_INT, jint, "%d", STACK_INT, 0);
1657 CASE(_faload): 1657 CASE(_faload):
1674 1674
1675 /* 32-bit stores. These handle conversion to < 32-bit types */ 1675 /* 32-bit stores. These handle conversion to < 32-bit types */
1676 #define ARRAY_STOREFROM32(T, T2, format, stackSrc, extra) \ 1676 #define ARRAY_STOREFROM32(T, T2, format, stackSrc, extra) \
1677 { \ 1677 { \
1678 ARRAY_INTRO(-3); \ 1678 ARRAY_INTRO(-3); \
1679 extra; \ 1679 (void)extra; \
1680 *(T2 *)(((address) arrObj->base(T)) + index * sizeof(T2)) = stackSrc( -1); \ 1680 *(T2 *)(((address) arrObj->base(T)) + index * sizeof(T2)) = stackSrc( -1); \
1681 UPDATE_PC_AND_TOS_AND_CONTINUE(1, -3); \ 1681 UPDATE_PC_AND_TOS_AND_CONTINUE(1, -3); \
1682 } 1682 }
1683 1683
1684 /* 64-bit stores */ 1684 /* 64-bit stores */
1685 #define ARRAY_STOREFROM64(T, T2, stackSrc, extra) \ 1685 #define ARRAY_STOREFROM64(T, T2, stackSrc, extra) \
1686 { \ 1686 { \
1687 ARRAY_INTRO(-4); \ 1687 ARRAY_INTRO(-4); \
1688 extra; \ 1688 (void)extra; \
1689 *(T2 *)(((address) arrObj->base(T)) + index * sizeof(T2)) = stackSrc( -1); \ 1689 *(T2 *)(((address) arrObj->base(T)) + index * sizeof(T2)) = stackSrc( -1); \
1690 UPDATE_PC_AND_TOS_AND_CONTINUE(1, -4); \ 1690 UPDATE_PC_AND_TOS_AND_CONTINUE(1, -4); \
1691 } 1691 }
1692 1692
1693 CASE(_iastore): 1693 CASE(_iastore):