/** * Load a class constant onto the stack. * For primitive types, this translates into a * getstatic for the TYPE field of the primitive's wrapper type. * For non-primitives, things get much more complex. Suffice it to * say that the operation involves adding synthetic static fields * and even methods to the class. Note that this instruction requires * up to 3 stack positions to execute. */ public ClassConstantInstruction classconstant() { return new ClassConstantInstruction(getMethod().getDeclarer(), this, nop()); }
/** * Load a class constant onto the stack. * For primitive types, this translates into a * getstatic for the TYPE field of the primitive's wrapper type. * For non-primitives, things get much more complex. Suffice it to * say that the operation involves adding synthetic static fields * and even methods to the class. Note that this instruction requires * up to 3 stack positions to execute. */ public ClassConstantInstruction classconstant() { return new ClassConstantInstruction(getMethod().getDeclarer(), this, nop()); }
public void remove() { if (_last == null) throw new IllegalStateException(); if (_bn == _last) _bn = _last.prev; _index--; _last.prev.next = _last.next; _last.next.prev = _last.prev; _size--; Instruction orig = _last; Instruction replace = null; if (orig.next != _tail) replace = (Instruction) orig.next; else replace = nop(); replaceTarget(orig, replace); orig.invalidate(); _last = null; invalidateByteIndexes(); }
public void remove() { if (_last == null) throw new IllegalStateException(); if (_bn == _last) _bn = _last.prev; _index--; _last.prev.next = _last.next; _last.next.prev = _last.prev; _size--; Instruction orig = _last; Instruction replace = null; if (orig.next != _tail) replace = (Instruction) orig.next; else replace = nop(); replaceTarget(orig, replace); orig.invalidate(); _last = null; invalidateByteIndexes(); }
"proxyDetachedDeserialized", void.class, new Class[]{ int.class }); ifins.setTarget(code.nop());
"proxyDetachedDeserialized", void.class, new Class[]{ int.class }); ifins.setTarget(code.nop());
"proxyDetachedDeserialized", void.class, new Class[]{ int.class }); ifins.setTarget(code.nop());
"proxyDetachedDeserialized", void.class, new Class[]{ int.class }); ifins.setTarget(code.nop());
throwException(code, IllegalArgumentException.class); ifins.setTarget(code.nop()); return relLocal;
throwException(code, IllegalArgumentException.class); ifins.setTarget(code.nop()); return relLocal;
throwException(code, IllegalArgumentException.class); ifins.setTarget(code.nop()); return relLocal;
throwException(code, IllegalArgumentException.class); ifins.setTarget(code.nop()); return relLocal;
throwException(code, IllegalArgumentException.class); ifins.setTarget(code.nop()); return relLocal;
code.searchForward(template.vreturn()); code.previous(); code.set(template.nop()); code.next();
code.searchForward(template.vreturn()); code.previous(); code.set(template.nop()); code.next();
code.searchForward(template.vreturn()); code.previous(); code.set(template.nop()); code.next();
code.searchForward(template.vreturn()); code.previous(); code.set(template.nop()); code.next();
code.searchForward(template.vreturn()); code.previous(); code.set(template.nop()); code.next();
/** * Adds fields and methods as necessary to load a class constant of * an object type. */ private void setObject(String name) { BCField field = addClassField(name); BCMethod method = addClassLoadMethod(); // copied from the way jikes loads classes _code.getstatic().setField(field); JumpInstruction ifnull = _code.ifnull(); _code.getstatic().setField(field); JumpInstruction go2 = _code.go2(); ifnull.setTarget(_code.constant().setValue(name)); _code.invokestatic().setMethod(method); _code.dup(); _code.putstatic().setField(field); go2.setTarget(_code.nop()); }
/** * Adds fields and methods as necessary to load a class constant of * an object type. */ private void setObject(String name) { BCField field = addClassField(name); BCMethod method = addClassLoadMethod(); // copied from the way jikes loads classes _code.getstatic().setField(field); JumpInstruction ifnull = _code.ifnull(); _code.getstatic().setField(field); JumpInstruction go2 = _code.go2(); ifnull.setTarget(_code.constant().setValue(name)); _code.invokestatic().setMethod(method); _code.dup(); _code.putstatic().setField(field); go2.setTarget(_code.nop()); }