Mercurial > hg > graal-jvmci-8
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): |