equal
deleted
inserted
replaced
1676 |
1676 |
1677 void GenerateOopMap::ppdupswap(int poplen, const char *out) { |
1677 void GenerateOopMap::ppdupswap(int poplen, const char *out) { |
1678 CellTypeState actual[5]; |
1678 CellTypeState actual[5]; |
1679 assert(poplen < 5, "this must be less than length of actual vector"); |
1679 assert(poplen < 5, "this must be less than length of actual vector"); |
1680 |
1680 |
1681 // pop all arguments |
1681 // Pop all arguments. |
1682 for(int i = 0; i < poplen; i++) actual[i] = pop(); |
1682 for (int i = 0; i < poplen; i++) { |
|
1683 actual[i] = pop(); |
|
1684 } |
|
1685 // Field _state is uninitialized when calling push. |
|
1686 for (int i = poplen; i < 5; i++) { |
|
1687 actual[i] = CellTypeState::uninit; |
|
1688 } |
1683 |
1689 |
1684 // put them back |
1690 // put them back |
1685 char push_ch = *out++; |
1691 char push_ch = *out++; |
1686 while (push_ch != '\0') { |
1692 while (push_ch != '\0') { |
1687 int idx = push_ch - '1'; |
1693 int idx = push_ch - '1'; |