根据1,在方法帧中,局部变量数组包含对被调用实例、参数以及方法代码中使用的任何其他变量的引用。另外,long和double值占用两个局部变量。
当使用Buddy通过堆栈操作生成方法的代码时,MethodVariableAccess.OffsetLoading索引long和double值是否成为一个单一索引,或者是否需要像直接使用ASM那样计算这些值来计算本地var索引?
发布于 2016-10-18 21:40:44
MethodVariableAccess.OffsetLoading访问一个没有命名的索引的偏移量来准确地区分它。如果数组中包含long或double类型,则此帐户为两个插槽。字节Buddy使用此抽象与ASM交互,在ASM中调用相应的访问者需要相同的偏移量。
https://stackoverflow.com/questions/40113920
复制相似问题