Examples of switchTableHere()


Examples of objot.bytecode.Instruction.switchTableHere()

    s.insS1(BIPUSH, 31);
    s.ins0(IREM);
    long sw = s.insSwitchTable(0, 30);
    for (int i = 0; i < 31; i++)
    {
      s.switchTableHere(sw, i);
      for (int j = 1; j < cs.length; j++)
        if (cs[j].cla.hashCode() % 31 == i)
        {
          s.ins0(DUP); // class
          s.insU2(LDCW, cCis[j] = cons.addClass(cs[j].cla));
View Full Code Here

Examples of objot.bytecode.Instruction.switchTableHere()

    s.insU2(CHECKCAST, classCi); // object
    s.ins0(type == 0 ? ALOAD3 : type == 1 ? LLOAD3 : DLOAD3);
    s.ins0(ILOAD2);
    long sw = s.insSwitchTable(0, ds.length - 1);
    int sw0 = s.addr; // default
    s.switchTableHere(sw, -1);
    int exCi = p.cons.addClass(ClassCastException.class);
    s.insU2(NEW, exCi);
    s.ins0(DUP);
    s.insU2(INVOKESPECIAL, p.cons.addCtor0(exCi));
    s.ins0(ATHROW);
View Full Code Here

Examples of objot.bytecode.Instruction.switchTableHere()

      : type == 1 ? d.cla != int.class && d.cla != long.class //
      : d.cla != double.class && d.cla != float.class)
        s.switchTable(sw, i, sw0);
      else
      {
        s.switchTableHere(sw, i);
        if (type == 0)
          if (d.cla == boolean.class)
            s.insUnboxNarrow(d.cla);
          else
            s.insU2(CHECKCAST, p.cons.addClass(d.cla));
View Full Code Here

Examples of objot.bytecode.Instruction.switchTableHere()

    p.setDescCi(cons.getCprocDesc(set0Ci));
    int i0 = csn - 1;
    Instruction s = new Instruction(cons, 250);
    s.ins0(ILOAD1); // index
    long sw = s.insSwitchTable( -i0, -1);
    s.switchTableHere(sw, -1);
    int sw0 = s.addr;
    s.ins0(ICONST0);
    s.ins0(IRETURN);
    for (int i = 1; i < csn; i++) // always actual bind
    {
View Full Code Here

Examples of objot.bytecode.Instruction.switchTableHere()

    for (int i = 1; i < csn; i++) // always actual bind
    {
      Bind.Clazz c = cs[i];
      if (c.mode == Set.class)
      {
        s.switchTableHere(sw, i0 - i);
        s.ins0(ALOAD0);
        s.ins0(ALOAD2);
        s.insNarrow(c.box);
        s.insU2(PUTFIELD, fCis[i]);
        s.ins0(ICONST1);
View Full Code Here

Examples of objot.bytecode.Instruction.switchTableHere()

        s.ins0(ICONST1);
        s.ins0(IRETURN);
      }
      else if (c.mode == Parent.class)
      {
        s.switchTableHere(sw, i0 - i);
        s.ins0(ALOAD0);
        int loop = s.addr; // n
        s.insU2(GETFIELD, parentCi); // n
        s.ins0(DUP);
        s.insU2(LDCW, cCis[i]);
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.