Package clojure.asm.commons

Examples of clojure.asm.commons.GeneratorAdapter.mark()


                                                //todo don't hardwire this
                                                EXCEPTION_TYPES,
                                                cv);
    gen.visitCode();

    Label loopLabel = gen.mark();
    gen.visitLineNumber(line, loopLabel);
    try
      {
      Var.pushThreadBindings(RT.map(LOOP_LABEL, loopLabel, METHOD, this));
View Full Code Here


    try
      {
      Var.pushThreadBindings(RT.map(LOOP_LABEL, loopLabel, METHOD, this));

      body.emit(C.RETURN, fn, gen);
      Label end = gen.mark();

      gen.visitLocalVariable("this", "Ljava/lang/Object;", null, loopLabel, end, 0);
      for(ISeq lbs = argLocals.seq(); lbs != null; lbs = lbs.next())
        {
        LocalBinding lb = (LocalBinding) lbs.first();
View Full Code Here

                                                //todo don't hardwire this
                                                EXCEPTION_TYPES,
                                                cv);
    gen.visitCode();

    Label loopLabel = gen.mark();
    gen.visitLineNumber(line, loopLabel);
    try
      {
      Var.pushThreadBindings(RT.map(LOOP_LABEL, loopLabel, METHOD, this));
View Full Code Here

    try
      {
      Var.pushThreadBindings(RT.map(LOOP_LABEL, loopLabel, METHOD, this));

      body.emit(C.RETURN, fn, gen);
      Label end = gen.mark();
      gen.visitLocalVariable("this", "Ljava/lang/Object;", null, loopLabel, end, 0);
      for(ISeq lbs = argLocals.seq(); lbs != null; lbs = lbs.next())
        {
        LocalBinding lb = (LocalBinding) lbs.first();
        gen.visitLocalVariable(lb.name, "Ljava/lang/Object;", null, loopLabel, end, lb.idx);
View Full Code Here

    clinitgen.push(objx.internalName.replace('/','.'));
    clinitgen.invokeStatic(CLASS_TYPE, Method.getMethod("Class forName(String)"));
    clinitgen.invokeVirtual(CLASS_TYPE,Method.getMethod("ClassLoader getClassLoader()"));
    clinitgen.invokeStatic(Type.getType(Compiler.class), Method.getMethod("void pushNSandLoader(ClassLoader)"));
    clinitgen.mark(startTry);
    clinitgen.invokeStatic(objx.objtype, Method.getMethod("void load()"));
    clinitgen.mark(endTry);
    clinitgen.invokeStatic(VAR_TYPE, Method.getMethod("void popThreadBindings()"));
    clinitgen.goTo(end);
View Full Code Here

    clinitgen.invokeStatic(CLASS_TYPE, Method.getMethod("Class forName(String)"));
    clinitgen.invokeVirtual(CLASS_TYPE,Method.getMethod("ClassLoader getClassLoader()"));
    clinitgen.invokeStatic(Type.getType(Compiler.class), Method.getMethod("void pushNSandLoader(ClassLoader)"));
    clinitgen.mark(startTry);
    clinitgen.invokeStatic(objx.objtype, Method.getMethod("void load()"));
    clinitgen.mark(endTry);
    clinitgen.invokeStatic(VAR_TYPE, Method.getMethod("void popThreadBindings()"));
    clinitgen.goTo(end);

    clinitgen.mark(finallyLabel);
    //exception should be on stack
View Full Code Here

    clinitgen.invokeStatic(objx.objtype, Method.getMethod("void load()"));
    clinitgen.mark(endTry);
    clinitgen.invokeStatic(VAR_TYPE, Method.getMethod("void popThreadBindings()"));
    clinitgen.goTo(end);

    clinitgen.mark(finallyLabel);
    //exception should be on stack
    clinitgen.invokeStatic(VAR_TYPE, Method.getMethod("void popThreadBindings()"));
    clinitgen.throwException();
    clinitgen.mark(end);
    clinitgen.visitTryCatchBlock(startTry, endTry, finallyLabel, null);
View Full Code Here

      IPersistentMap meta = RT.meta(parms.nth(i));
      addParameterAnnotation(gen, meta, i);
      }
    gen.visitCode();

    Label loopLabel = gen.mark();

    gen.visitLineNumber(line, loopLabel);
    try
      {
      Var.pushThreadBindings(RT.map(LOOP_LABEL, loopLabel, METHOD, this));
View Full Code Here

    try
      {
      Var.pushThreadBindings(RT.map(LOOP_LABEL, loopLabel, METHOD, this));

      emitBody(objx, gen, retClass, body);
      Label end = gen.mark();
      gen.visitLocalVariable("this", obj.objtype.getDescriptor(), null, loopLabel, end, 0);
      for(ISeq lbs = argLocals.seq(); lbs != null; lbs = lbs.next())
        {
        LocalBinding lb = (LocalBinding) lbs.first();
        gen.visitLocalVariable(lb.name, argTypes[lb.idx-1].getDescriptor(), null, loopLabel, end, lb.idx);
View Full Code Here

    clinitgen.mark(finallyLabel);
    //exception should be on stack
    clinitgen.invokeStatic(VAR_TYPE, Method.getMethod("void popThreadBindings()"));
    clinitgen.throwException();
    clinitgen.mark(end);
    clinitgen.visitTryCatchBlock(startTry, endTry, finallyLabel, null);

    //end of static init
    clinitgen.returnValue();
    clinitgen.endMethod();
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.