public abstract class InterfaceMethodConflictResolver extends Object
Assumption: Register EAX contains the "this" parameter of the method being called invoked.
Assumption: Register ECX is available as a scratch register (we need one!)
Constructor and Description |
---|
InterfaceMethodConflictResolver() |
Modifier and Type | Method and Description |
---|---|
private static int |
assignBytecodeIndices(int bcIndex,
int[] bcIndices,
int low,
int high) |
static CodeArray |
createStub(int[] sigIds,
RVMMethod[] targets) |
private static void |
insertStubCase(Assembler asm,
int[] sigIds,
RVMMethod[] targets,
int[] bcIndices,
int low,
int high) |
private static void |
insertStubPrologue(Assembler asm) |
public InterfaceMethodConflictResolver()
public static CodeArray createStub(int[] sigIds, RVMMethod[] targets)
private static int assignBytecodeIndices(int bcIndex, int[] bcIndices, int low, int high)
private static void insertStubPrologue(Assembler asm)
private static void insertStubCase(Assembler asm, int[] sigIds, RVMMethod[] targets, int[] bcIndices, int low, int high)