Examples of RegisterInfo


Examples of com.litecoding.smali2java.entity.smali.Register.RegisterInfo

    this.timeline = new ArrayList<ArrayList<RegisterInfo>>(linesCount);
    for(int i = 0; i < linesCount; i++) {
      ArrayList<RegisterInfo> slice = new ArrayList<RegisterInfo>(sliceLength);
      this.timeline.add(slice);
      for(int j = 0; j < sliceLength; j++)
        slice.add(new RegisterInfo());
    }
   
    if(doMapParams) {
      List<Param> params = method.getParams();
      boolean isMethodStatic = method.isFlagSet(SmaliEntity.STATIC);
      int localsCount = method.getLocals();
      ArrayList<RegisterInfo> slice = this.timeline.get(0);
     
      int delta = 0;
      if(!isMethodStatic) {
        slice.get(localsCount).isThis = true;
        slice.get(localsCount).type = method.getSmaliClass().getClassName();
        delta = 1;
      }
     
      for(int i = 0; i < params.size() ; i++) {
        Param param = params.get(i);
        if(param.info.is64bit) {
          RegisterInfo info = slice.get(localsCount + delta + i);
          info.is64bit = true;
          info.is64bitMaster = true;
          info.type = param.info.type;
         
          delta++;
          info = slice.get(localsCount + delta + i);
          info.is64bit = true;
          info.is64bitMaster = false;
          info.type = param.info.type;
        } else {
          RegisterInfo info = slice.get(localsCount + delta + i);
          info.type = param.info.type;
        }
      }
    } //end if(doMapParams)
  }
View Full Code Here

Examples of com.litecoding.smali2java.entity.smali.Register.RegisterInfo

      return;
   
    int size = from.size();
   
    for(int i = 0; i < size; i++) {
      RegisterInfo fromInfo = from.get(i);
      RegisterInfo toInfo = to.get(i);
      toInfo.copyTypeDataFrom(fromInfo);
    }
  }
View Full Code Here

Examples of com.litecoding.smali2java.entity.smali.Register.RegisterInfo

    }
  }
 
  public static void setRegisterRWFlags(List<RegisterInfo> slice,
      int startIdx, byte isRead, byte isWritten, boolean is64bit) {
    RegisterInfo currInfo = slice.get(startIdx);
   
    if(isRead != BOOL_KEEP)
      currInfo.isRead = (isRead == BOOL_TRUE ? true : false);
   
    if(isWritten != BOOL_KEEP)
View Full Code Here

Examples of com.litecoding.smali2java.entity.smali.Register.RegisterInfo

      if(prevSlice == null)
        continue;
     
      //copy type of register in previous slice if it wasn't modified
      for(int j = 0; j < currSlice.size(); j++) {
        RegisterInfo registerInfo = currSlice.get(j);
        if(!registerInfo.isWritten && !registerInfo.isFinallyDefined) {
          registerInfo.copyTypeDataFrom(prevSlice.get(j));
        }
      }
    }
  }
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.