Package erjang.beam.repr

Examples of erjang.beam.repr.ExtFun


            break;
          }

          case make_fun2: {
            Insn.F insn = (Insn.F) insn_;
            ExtFun efun = insn.anon_fun.asExtFun();
            int numfree = insn.anon_fun.free_vars;
            int index = insn.anon_fun.index;
            int old_index = insn.anon_fun.old_index;
            EBinary uniq = insn.anon_fun.mod_md5;
            int old_uniq = insn.anon_fun.old_uniq;
View Full Code Here


        Arg[] args = new Arg[arg_count];
        for (int i = 0; i < arg_count; i++) {
          args[i] = new Arg(Kind.X, i, this.map[insn_idx].getx(i));
        }

        ExtFun fun;
        if (insn instanceof Insn.IE) {
          fun = ((Insn.IE)insn).ext_fun;
        } else if (insn instanceof Insn.IL) {
          fun = ((Insn.IL)insn).functionAtLabel.asExtFun();
        } else
View Full Code Here

      boolean is_exceptional_call(Insn insn) {
        BeamOpcode opcode = insn.opcode();
        if (opcode == BeamOpcode.call_ext) {
          Insn.IE spec_insn = (Insn.IE)insn;
          ExtFun ext_fun = spec_insn.ext_fun;

          if (ext_fun.mod == ERLANG_ATOM &&
              (ext_fun.fun == ERROR_ATOM
              || ext_fun.fun == THROW_ATOM
              || ext_fun.fun == EXIT_ATOM
View Full Code Here

    for (int i=0; i<nImports; i++) {
      int m_atm_no = in.read4BE();
      int f_atm_no = in.read4BE();
      int arity    = in.read4BE();
      EAtom mod = atom(m_atm_no), fun = atom(f_atm_no);
      externalFuns[i] = new ExtFun(mod, fun, arity);
      if (log.isLoggable(Level.FINE) && atoms != null) {
        log.fine("- #"+(i+1)+": "+mod+":"+fun+"/"+arity);
      }
    }
    }
View Full Code Here

    // wow, this is where we generate <clinit>

    for (Map.Entry<String, ExtFun> ent : imported.entrySet()) {
      String field_name = ent.getKey();
      ExtFun f = ent.getValue();

      FieldVisitor fv = cv.visitField(ACC_STATIC, ent.getKey(), "L"
          + EFUN_NAME + f.arity + ";", null, null);
      EFunCG.ensure(f.arity);
      AnnotationVisitor av = fv.visitAnnotation(
View Full Code Here

TOP

Related Classes of erjang.beam.repr.ExtFun

Copyright © 2018 www.massapicom. 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.