fix handling of 64-bit arguments to Method.invoke on 32-bit architectures

The previous code failed to account for alignment padding in the
Double and Long classes.
This commit is contained in:
Joel Dice
2011-09-12 20:26:32 -06:00
parent 8a30efc52f
commit be01e5b687
4 changed files with 37 additions and 5 deletions

View File

@ -2772,8 +2772,7 @@ pushArguments(Thread* t, object this_, const char* spec, object a)
case 'J':
case 'D':
pushLong(t, cast<int64_t>(objectArrayBody(t, a, index++),
BytesPerWord));
pushLong(t, cast<int64_t>(objectArrayBody(t, a, index++), 8));
break;
default: