private static int returnSize(TypeDesc ret) { if (ret == null || ret == TypeDesc.VOID) { return 0; } if (ret.isDoubleWord()) { return 2; } return 1; }
public boolean isDoubleWord() { return mType.isDoubleWord(); }
public boolean isDoubleWord() { return mType.isDoubleWord(); }
public boolean isDoubleWord() { return mType.isDoubleWord(); }
/** * All parameters must be defined before adding instructions. */ public LocalVariable createLocalParameter(String name, TypeDesc type) { LocalVariable var = new LocalVariableImpl (mLocalVariables.size(), name, type, mNextFixedVariableNumber); mLocalVariables.add(var); mNextFixedVariableNumber += type.isDoubleWord() ? 2 : 1; return var; }
private void getfield(int stackAdjust, byte opcode, ConstantInfo info, TypeDesc type) { if (type.isDoubleWord()) { stackAdjust++; } addInstruction(stackAdjust, type, opcode, info); }
private void putfield(int stackAdjust, byte opcode, ConstantInfo info, TypeDesc type) { if (type.isDoubleWord()) { stackAdjust -= 2; } else { stackAdjust--; } addInstruction(stackAdjust, TypeDesc.VOID, opcode, info); }
public boolean isDoubleWord() { return getType().isDoubleWord(); }
public void storeLocal(LocalVariable local) { if (local == null) { throw new IllegalArgumentException("No local variable specified"); } int stackAdjust = local.getType().isDoubleWord() ? -2 : -1; mInstructions.new StoreLocalInstruction(stackAdjust, local); }
public void loadLocal(LocalVariable local) { if (local == null) { throw new IllegalArgumentException("No local variable specified"); } int stackAdjust = local.getType().isDoubleWord() ? 2 : 1; mInstructions.new LoadLocalInstruction(stackAdjust, local); }
private static int returnSize(TypeDesc ret) { if (ret == null || ret == TypeDesc.VOID) { return 0; } if (ret.isDoubleWord()) { return 2; } return 1; }
private void print(StackMapTableAttr.VerificationTypeInfo[] infos) { print('{'); int num = 0; for (int i=0; i<infos.length; i++) { if (i > 0) { print(", "); } print(num); print('='); StackMapTableAttr.VerificationTypeInfo info = infos[i]; print(info.toString()); if (info.getType() == null || !info.getType().isDoubleWord()) { num += 1; } else { num += 2; } } print('}'); }
/** * All parameters must be defined before adding instructions. */ public LocalVariable createLocalParameter(String name, TypeDesc type) { LocalVariable var = new LocalVariableImpl (mLocalVariables.size(), name, type, mNextFixedVariableNumber); mLocalVariables.add(var); mNextFixedVariableNumber += type.isDoubleWord() ? 2 : 1; return var; }
private void putfield(int stackAdjust, byte opcode, ConstantInfo info, TypeDesc type) { if (type.isDoubleWord()) { stackAdjust -= 2; } else { stackAdjust--; } addInstruction(stackAdjust, TypeDesc.VOID, opcode, info); }
private void getfield(int stackAdjust, byte opcode, ConstantInfo info, TypeDesc type) { if (type.isDoubleWord()) { stackAdjust++; } addInstruction(stackAdjust, type, opcode, info); }
public void loadLocal(LocalVariable local) { if (local == null) { throw new IllegalArgumentException("No local variable specified"); } int stackAdjust = local.getType().isDoubleWord() ? 2 : 1; mInstructions.new LoadLocalInstruction(stackAdjust, local); }
public void storeLocal(LocalVariable local) { if (local == null) { throw new IllegalArgumentException("No local variable specified"); } int stackAdjust = local.getType().isDoubleWord() ? -2 : -1; mInstructions.new StoreLocalInstruction(stackAdjust, local); }
private void genDiscardResponse(CodeBuilder b, TypeDesc type) { if (type != null) { if (type.isDoubleWord()) { b.pop2(); } else { b.pop(); } } }
if (op == Opcode.NOP) { prebox(toPrimitiveType, toType); } else if (!fromPrimitiveType.isDoubleWord() && toPrimitiveType.isDoubleWord()) {
if (paramVar.getType().isDoubleWord()) {