public abstract class MultianewarrayHelper extends Object
TODO: There is only 1 line of platform dependent code here; refactor?
| Constructor and Description |
|---|
MultianewarrayHelper() |
| Modifier and Type | Method and Description |
|---|---|
(package private) static Object |
newArrayArray(int methodId,
int numDimensions,
int typeId,
int argOffset)
Allocate something like {@code new Foo[cnt0][cnt1]...
|
public MultianewarrayHelper()
static Object newArrayArray(int methodId, int numDimensions, int typeId, int argOffset) throws NoClassDefFoundError, NegativeArraySizeException, OutOfMemoryError
new Foo[cnt0][cnt1]...[cntN-1],
or new int[cnt0][cnt1]...[cntN-1].methodId - method id of callernumDimensions - number of array dimensionstypeId - type id of type reference for arrayargOffset - position of word *above* `cnt0' argument within
caller's frame This is used to access the number of elements to
be allocated for each dimension.
See also: bytecode 0xc5 ("multianewarray") in BaselineCompilerImplNoClassDefFoundErrorNegativeArraySizeExceptionOutOfMemoryError