CN106020920A - 一种jcvm解释器的预处理方法及系统 - Google Patents
一种jcvm解释器的预处理方法及系统 Download PDFInfo
- Publication number
- CN106020920A CN106020920A CN201610312278.1A CN201610312278A CN106020920A CN 106020920 A CN106020920 A CN 106020920A CN 201610312278 A CN201610312278 A CN 201610312278A CN 106020920 A CN106020920 A CN 106020920A
- Authority
- CN
- China
- Prior art keywords
- bag
- index
- class
- play amount
- operand
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/423—Preprocessors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/37—Compiler construction; Parser generation
Abstract
本发明公开了本发明一种JCVM解释器的预处理方法及系统,方法包括:根据方法调用指令判断调用方法类型,若是本包方法,则执行对应的本包方法处理步骤;若是外包方法,则执行对应的外包方法处理步骤。系统包括:类型判断单元、本包预处理单元和外包预处理单元。本发明通过对CAP文件中的方法调用指令进行预解析,从而将原本解析方法指令时的步骤提前到安装时来完成,使得解析过程更加简便。而且通过本发明的预处理之后,方法调用指令的长度不变,所以在存储CAP文件时不会占用多余的空间,并且处理后的方法调用指令能更直接地在方法区中找到方法字节码,使得解析过程缩短,大大加快解析速率。本发明可广泛应用于Java智能卡领域中。
Description
技术领域
本发明涉及java智能卡领域,尤其涉及一种JCVM解释器的预处理方法及系统。
背景技术
智能卡(Smart Card)是一种带有微型处理器和存储器芯片的微型集成电路卡片,具有运算能力和信息存储功能。传统智能卡的开发一般是使用标准C语言或汇编语言来实现,以保证代码不占用过多内存空间。然而,这些传统的智能卡不仅开发的难度高,可移植性差,且应用的更新相当于卡片操作系统的大幅度整改。Java智能卡是将Java语言运行平台移植到智能卡芯片中,使得Java技术“一次编译,处处运行”的特点可以应用于智能卡上。在Java智能卡的应用开发中,开发方不需要考虑应用装载的平台和平台的特性。同时,当卡片需要增值业务或者减少业务时,Java智能卡可以只从应用层来装载或卸载应用。与传统卡片相比,Java智能卡不仅具有平台无关性,更重要的是支持一卡多应用,且具有更高的安全性。
对于智能卡来说,快速的响应是决定一张智能卡好坏的标准。Java智能卡运行的主要核心在于Java智能卡虚拟机(Java card virtual machine, JCVM)对指令的解释执行,因此,优化JCVM的解析速度是提高智能卡响应速率的关键。
Java智能卡的内部结构大致可以分为四个主要部分:底层硬件,本地方法集,Java智能卡运行时环境以及应用(Applet)。其中,JCVM是包括在Java智能卡运行时环境中。JCVM位于底层硬件之上,屏蔽了不同智能硬件和操作系统的区别,实现了平台无关性。其主要负责将Applet二进制字节码解析并执行。
Java智能卡对JCVM的解析速度要求较高,但是虚拟机中部分指令需要基于token的链接进行解析,过程较为繁琐。解析时需要的信息要通过索引的方式在各个组件中查找,且在方法执行或方法调用时可能需要调用其他CAP文件内的方法或阈值,因此这些组件间的联系或者不同CAP文件的联系,都需要依靠静态或动态链接。这部分指令的解析速度慢,严重影响虚拟机的执行效率。然而,目前已存在的一些优化解析方案,都是以牺牲一部分存储空间为代价,这对于存储空间非常有限的智能卡来说,并不是非常适合。
发明内容
为了解决上述技术问题,本发明的目的是提供一种不需占用多余空间,且能加快解析速率的一种JCVM解释器的预处理方法及系统。
本发明所采取的技术方案是:
一种JCVM解释器的预处理方法,包括以下步骤:
A、根据方法调用指令判断调用方法类型,若是本包方法,则执行步骤B;若是外包方法,则执行步骤C;
B、根据方法调用指令中的操作数查找出对应的方法偏移量,进而对方法调用指令中的操作数进行替换处理,得到处理后的方法调用指令;
C、根据方法调用指令查找出对应的包索引和方法偏移量,进而对方法调用指令中的操作码和操作数进行替换处理,得到处理后的方法调用指令。
作为所述的一种JCVM解释器的预处理方法的进一步改进,所述步骤B包括:
B1、根据方法调用指令中的操作数,通过常量池数组查找得出对应的信息数组,进而得出类索引和方法索引;
B2、根据类索引,在类组件中查找得出对应的类;
B3、根据方法索引,在对应的类的方法表中查找得出方法偏移量;
B4、将方法调用指令中的操作数替换为方法偏移量,得到处理后的方法调用指令。
作为所述的一种JCVM解释器的预处理方法的进一步改进,所述步骤C包括:
C1、根据方法调用指令中的操作数,通过常量池数组查找得出对应的信息数组,进而得出包索引、类索引和方法索引;
C2、将方法调用指令中的操作码替换为新操作码,其中,新操作码=包索引+185;
C3、根据包索引,查找得出对应的外包的CAP文件;
C4、根据类索引,在CAP文件的export组件中查找得出包的偏移量;
C5、根据包的偏移量作为索引,在类组件中查找得出对应的类,并根据方法索引,在对应的类的方法表中查找得出方法偏移量;
C6、将方法调用指令中的操作数替换为方法偏移量,得到处理后的方法调用指令。
本发明所采用的另一技术方案是:
一种JCVM解释器的预处理系统,包括:
类型判断单元,用于根据方法调用指令判断调用方法类型,若是本包方法,则执行本包预处理单元;若是外包方法,则执行外包预处理单元;
本包预处理单元,用于根据方法调用指令中的操作数查找出对应的方法偏移量,进而对方法调用指令中的操作数进行替换处理,得到处理后的方法调用指令;
外包预处理单元,用于根据方法调用指令查找出对应的包索引和方法偏移量,进而对方法调用指令中的操作码和操作数进行替换处理,得到处理后的方法调用指令。
作为所述的一种JCVM解释器的预处理系统的进一步改进,所述本包预处理单元包括:
本包数组查找单元,用于根据方法调用指令中的操作数,通过常量池数组查找得出对应的信息数组,进而得出类索引和方法索引;
本包类组件查找单元,用于根据类索引,在类组件中查找得出对应的类;
本包方法偏移量查找单元,用于根据方法索引,在对应的类的方法表中查找得出方法偏移量;
本包指令生成单元,用于将方法调用指令中的操作数替换为方法偏移量,得到处理后的方法调用指令。
作为所述的一种JCVM解释器的预处理系统的进一步改进,所述外包预处理单元包括:
外包数组查找单元,用于根据方法调用指令中的操作数,通过常量池数组查找得出对应的信息数组,进而得出包索引、类索引和方法索引;
外包指令初步处理单元,用于将方法调用指令中的操作码替换为新操作码,其中,新操作码=包索引+185;
外包文件查找单元,用于根据包索引,查找得出对应的外包的CAP文件;
包偏移量查找单元,用于根据类索引,在CAP文件的export组件中查找得出包的偏移量;
外包方法偏移量查找单元,用于根据包的偏移量作为索引,在类组件中查找得出对应的类,并根据方法索引,在对应的类的方法表中查找得出方法偏移量;
外包指令生成单元,用于将方法调用指令中的操作数替换为方法偏移量,得到处理后的方法调用指令。
本发明的有益效果是:
本发明一种JCVM解释器的预处理方法及系统通过对CAP文件中的方法调用指令进行预解析,从而将原本解析方法指令时的步骤提前到安装时来完成,使得解析过程更加简便。而且通过本发明的预处理之后,方法调用指令的长度不变,操作数依旧是两个字节,所以在存储CAP文件时不会占用多余的空间,并且处理后的方法调用指令能更直接地在方法区中找到方法字节码,使得解析过程缩短,大大加快解析速率。
附图说明
下面结合附图对本发明的具体实施方式作进一步说明:
图1是本发明一种JCVM解释器的预处理方法的步骤流程图;
图2是本发明一种JCVM解释器的预处理方法步骤B的步骤流程图;
图3是本发明一种JCVM解释器的预处理方法步骤C的步骤流程图;
图4是本发明一种JCVM解释器的预处理系统的模块方框图;
图5是本发明实施例1本包方法调用时的预处理过程图;
图6是本发明实施例2外包方法调用时的预处理过程图;
图7是本发明实施例1预处理之后本包方法调用指令解析过程图;
图8是本发明实施例2预处理之后外包方法调用指令解析过程图。
具体实施方式
参考图1,本发明一种JCVM解释器的预处理方法,包括以下步骤:
A、根据方法调用指令判断调用方法类型,若是本包方法,则执行步骤B;若是外包方法,则执行步骤C;
B、根据方法调用指令中的操作数查找出对应的方法偏移量,进而对方法调用指令中的操作数进行替换处理,得到处理后的方法调用指令;
C、根据方法调用指令查找出对应的包索引和方法偏移量,进而对方法调用指令中的操作码和操作数进行替换处理,得到处理后的方法调用指令。
参考图2,进一步作为优选的实施方式,所述步骤B包括:
B1、根据方法调用指令中的操作数,通过常量池数组查找得出对应的信息数组,进而得出类索引和方法索引;
B2、根据类索引,在类组件中查找得出对应的类;
B3、根据方法索引,在对应的类的方法表中查找得出方法偏移量;
B4、将方法调用指令中的操作数替换为方法偏移量,得到处理后的方法调用指令。
参考图3,进一步作为优选的实施方式,所述步骤C包括:
C1、根据方法调用指令中的操作数,通过常量池数组查找得出对应的信息数组,进而得出包索引、类索引和方法索引;
C2、将方法调用指令中的操作码替换为新操作码,其中,新操作码=包索引+185;
C3、根据包索引,查找得出对应的外包的CAP文件;
C4、根据类索引,在CAP文件的export组件中查找得出包的偏移量;
C5、根据包的偏移量作为索引,在类组件中查找得出对应的类,并根据方法索引,在对应的类的方法表中查找得出方法偏移量;
C6、将方法调用指令中的操作数替换为方法偏移量,得到处理后的方法调用指令。
参考图5,本发明实施例1中,其采用的是本包方法,原指令带有两个字节操作数00 00,表示的是常量池索引。在预处理时,首先通过常量池数组得到信息数组,发现是本包方法,则信息数组表示类索引01和方法索引01,接着在类组件中按照类索引找到需要的类01,根据方法索引01在方法表中找到方法偏移量0008,然后直接替换掉两个字节的原操作数0000,替换为方法偏移量0008,得到处理后的方法调用指令。
参考图6,本发明实施例2中,其采用的是外包方法,原指令带有两个字节的操作数00 01,表示的是常量池索引。在预处理时,首先通过常量池数组得到信息数组,发现该方法是外包方法,则信息数组包括包索引0,类索引01和方法索引01。预处理后的指令必须指明调用的包,然后才是方法偏移量,因此需要三个字节才能表示一个方法调用,一个字节表示外包,两个字节用来表示方法偏移量。外包方法调用不能像本包方法一样直接替换掉操作数的两个字节,本发明采用的方法是“设计新指令”。通过Java卡虚拟机规范中指令的定义可知,指令最多去到184(十进制),因此,本发明是将方法调用指令定为“185+包索引”。在常量池数组中发现调用的是外包方法且包索引是0时,将原指令操作码8B改为185,即B9,得到新操作码;接着根据包索引找到外包的CAP文件后,需要根据类索引在其export组件中取得导出包的偏移量,才能得到在类组件中的索引0001。最后是在方法表中得到方法偏移量0011,替换指令的两个字节的原操作数0001,替换为方法偏移量0011,得到处理后的方法调用指令。
需要注意的是,由于针对的方法调用指令有3种类型,因此,需要根据该CAP文件的import组件中列出的外包数量来决定需要指令个数。如果外包数量是2,那么指令185和186表示invokevirtual指令,指令187和188表示invokespecial指令,指令189和190表示invokestatic指令,如此类推。本发明实施例中以invokevirtual指令为例进行说明。
参考图7,在预处理之后,在调用本包方法时,可以直接拼接两个操作数,然后在方法区12对应偏移处找到欲调用的方法。参考图8,若是调用外包方法,则先是通过操作码,即新指令码13,在import组件的引入包数组14中找到需要的引入包AID,获得该包的CAP文件后,就可以直接通过操作码来调用方法区15中的方法。
参考图4,本发明一种JCVM解释器的预处理系统,包括:
类型判断单元,用于根据方法调用指令判断调用方法类型,若是本包方法,则执行本包预处理单元;若是外包方法,则执行外包预处理单元;
本包预处理单元,用于根据方法调用指令中的操作数查找出对应的方法偏移量,进而对方法调用指令中的操作数进行替换处理,得到处理后的方法调用指令;
外包预处理单元,用于根据方法调用指令查找出对应的包索引和方法偏移量,进而对方法调用指令中的操作码和操作数进行替换处理,得到处理后的方法调用指令。
进一步作为优选的实施方式,所述本包预处理单元包括:
本包数组查找单元,用于根据方法调用指令中的操作数,通过常量池数组查找得出对应的信息数组,进而得出类索引和方法索引;
本包类组件查找单元,用于根据类索引,在类组件中查找得出对应的类;
本包方法偏移量查找单元,用于根据方法索引,在对应的类的方法表中查找得出方法偏移量;
本包指令生成单元,用于将方法调用指令中的操作数替换为方法偏移量,得到处理后的方法调用指令。
进一步作为优选的实施方式,所述外包预处理单元包括:
外包数组查找单元,用于根据方法调用指令中的操作数,通过常量池数组查找得出对应的信息数组,进而得出包索引、类索引和方法索引;
外包指令初步处理单元,用于将方法调用指令中的操作码替换为新操作码,其中,新操作码=包索引+185;
外包文件查找单元,用于根据包索引,查找得出对应的外包的CAP文件;
包偏移量查找单元,用于根据类索引,在CAP文件的export组件中查找得出包的偏移量;
外包方法偏移量查找单元,用于根据包的偏移量作为索引,在类组件中查找得出对应的类,并根据方法索引,在对应的类的方法表中查找得出方法偏移量;
外包指令生成单元,用于将方法调用指令中的操作数替换为方法偏移量,得到处理后的方法调用指令。
从上述内容可知,本发明一种JCVM解释器的预处理方法及系统通过对CAP文件中的方法调用指令进行预解析,从而将原本解析方法指令时的步骤提前到安装时来完成,使得解析过程更加简便。而且通过本发明的预处理之后,方法调用指令的长度不变,操作数依旧是两个字节,所以在存储CAP文件时不会占用多余的空间,并且处理后的方法调用指令能更直接地在方法区中找到方法字节码,使得解析过程缩短,大大加快解析速率。
以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (6)
1.一种JCVM解释器的预处理方法,其特征在于,包括以下步骤:
A、根据方法调用指令判断调用方法类型,若是本包方法,则执行步骤B;若是外包方法,则执行步骤C;
B、根据方法调用指令中的操作数查找出对应的方法偏移量,进而对方法调用指令中的操作数进行替换处理,得到处理后的方法调用指令;
C、根据方法调用指令查找出对应的包索引和方法偏移量,进而对方法调用指令中的操作码和操作数进行替换处理,得到处理后的方法调用指令。
2.根据权利要求1所述的一种JCVM解释器的预处理方法,其特征在于:所述步骤B包括:
B1、根据方法调用指令中的操作数,通过常量池数组查找得出对应的信息数组,进而得出类索引和方法索引;
B2、根据类索引,在类组件中查找得出对应的类;
B3、根据方法索引,在对应的类的方法表中查找得出方法偏移量;
B4、将方法调用指令中的操作数替换为方法偏移量,得到处理后的方法调用指令。
3.根据权利要求1所述的一种JCVM解释器的预处理方法,其特征在于:所述步骤C包括:
C1、根据方法调用指令中的操作数,通过常量池数组查找得出对应的信息数组,进而得出包索引、类索引和方法索引;
C2、将方法调用指令中的操作码替换为新操作码,其中,新操作码=包索引+185;
C3、根据包索引,查找得出对应的外包的CAP文件;
C4、根据类索引,在CAP文件的export组件中查找得出包的偏移量;
C5、根据包的偏移量作为索引,在类组件中查找得出对应的类,并根据方法索引,在对应的类的方法表中查找得出方法偏移量;
C6、将方法调用指令中的操作数替换为方法偏移量,得到处理后的方法调用指令。
4.一种JCVM解释器的预处理系统,其特征在于,包括:
类型判断单元,用于根据方法调用指令判断调用方法类型,若是本包方法,则执行本包预处理单元;若是外包方法,则执行外包预处理单元;
本包预处理单元,用于根据方法调用指令中的操作数查找出对应的方法偏移量,进而对方法调用指令中的操作数进行替换处理,得到处理后的方法调用指令;
外包预处理单元,用于根据方法调用指令查找出对应的包索引和方法偏移量,进而对方法调用指令中的操作码和操作数进行替换处理,得到处理后的方法调用指令。
5.根据权利要求4所述的一种JCVM解释器的预处理系统,其特征在于:所述本包预处理单元包括:
本包数组查找单元,用于根据方法调用指令中的操作数,通过常量池数组查找得出对应的信息数组,进而得出类索引和方法索引;
本包类组件查找单元,用于根据类索引,在类组件中查找得出对应的类;
本包方法偏移量查找单元,用于根据方法索引,在对应的类的方法表中查找得出方法偏移量;
本包指令生成单元,用于将方法调用指令中的操作数替换为方法偏移量,得到处理后的方法调用指令。
6.根据权利要求4所述的一种JCVM解释器的预处理系统,其特征在于:所述外包预处理单元包括:
外包数组查找单元,用于根据方法调用指令中的操作数,通过常量池数组查找得出对应的信息数组,进而得出包索引、类索引和方法索引;
外包指令初步处理单元,用于将方法调用指令中的操作码替换为新操作码,其中,新操作码=包索引+185;
外包文件查找单元,用于根据包索引,查找得出对应的外包的CAP文件;
包偏移量查找单元,用于根据类索引,在CAP文件的export组件中查找得出包的偏移量;
外包方法偏移量查找单元,用于根据包的偏移量作为索引,在类组件中查找得出对应的类,并根据方法索引,在对应的类的方法表中查找得出方法偏移量;
外包指令生成单元,用于将方法调用指令中的操作数替换为方法偏移量,得到处理后的方法调用指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610312278.1A CN106020920A (zh) | 2016-05-11 | 2016-05-11 | 一种jcvm解释器的预处理方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610312278.1A CN106020920A (zh) | 2016-05-11 | 2016-05-11 | 一种jcvm解释器的预处理方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106020920A true CN106020920A (zh) | 2016-10-12 |
Family
ID=57099317
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610312278.1A Pending CN106020920A (zh) | 2016-05-11 | 2016-05-11 | 一种jcvm解释器的预处理方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106020920A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111562921A (zh) * | 2020-07-16 | 2020-08-21 | 飞天诚信科技股份有限公司 | 一种用于Java卡字节码的优化方法和设备 |
US10783082B2 (en) | 2019-08-30 | 2020-09-22 | Alibaba Group Holding Limited | Deploying a smart contract |
CN112230941A (zh) * | 2020-09-22 | 2021-01-15 | 成都融微软件服务有限公司 | 一种Java Card包及应用程序安装方法和工具 |
WO2021036174A1 (zh) * | 2019-08-30 | 2021-03-04 | 创新先进技术有限公司 | 部署和执行智能合约的方法及装置 |
CN115309405A (zh) * | 2022-08-24 | 2022-11-08 | 北京熵核科技有限公司 | 一种代码链接优化方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1687900A (zh) * | 2005-06-16 | 2005-10-26 | 北京航空航天大学 | 智能卡运行环境的控制方法 |
CN101840332A (zh) * | 2010-03-09 | 2010-09-22 | 北京握奇数据系统有限公司 | 一种java智能卡的数据处理方法、装置及系统 |
CN102023885A (zh) * | 2010-12-17 | 2011-04-20 | 北京握奇数据系统有限公司 | 一种存储Java卡运行时环境字节码的方法及系统 |
CN102103489A (zh) * | 2011-01-28 | 2011-06-22 | 武汉天喻信息产业股份有限公司 | 一种提高静态域访问指令执行效率的方法 |
WO2015078614A1 (en) * | 2013-11-29 | 2015-06-04 | Gemalto Sa | Method for loading a native code on a secure element |
-
2016
- 2016-05-11 CN CN201610312278.1A patent/CN106020920A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1687900A (zh) * | 2005-06-16 | 2005-10-26 | 北京航空航天大学 | 智能卡运行环境的控制方法 |
CN101840332A (zh) * | 2010-03-09 | 2010-09-22 | 北京握奇数据系统有限公司 | 一种java智能卡的数据处理方法、装置及系统 |
CN102023885A (zh) * | 2010-12-17 | 2011-04-20 | 北京握奇数据系统有限公司 | 一种存储Java卡运行时环境字节码的方法及系统 |
CN102103489A (zh) * | 2011-01-28 | 2011-06-22 | 武汉天喻信息产业股份有限公司 | 一种提高静态域访问指令执行效率的方法 |
WO2015078614A1 (en) * | 2013-11-29 | 2015-06-04 | Gemalto Sa | Method for loading a native code on a secure element |
Non-Patent Citations (2)
Title |
---|
常青 等: "JCVM解析优化设计与实现", 《北京航空航天大学学报》 * |
徐宏宁: "JCRE平台结构的研究与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10783082B2 (en) | 2019-08-30 | 2020-09-22 | Alibaba Group Holding Limited | Deploying a smart contract |
WO2021036174A1 (zh) * | 2019-08-30 | 2021-03-04 | 创新先进技术有限公司 | 部署和执行智能合约的方法及装置 |
US11010303B2 (en) | 2019-08-30 | 2021-05-18 | Advanced New Technologies Co., Ltd. | Deploying a smart contract |
US11307990B2 (en) | 2019-08-30 | 2022-04-19 | Advanced New Technologies Co., Ltd. | Deploying a smart contract |
CN111562921A (zh) * | 2020-07-16 | 2020-08-21 | 飞天诚信科技股份有限公司 | 一种用于Java卡字节码的优化方法和设备 |
CN111562921B (zh) * | 2020-07-16 | 2020-10-13 | 飞天诚信科技股份有限公司 | 一种用于Java卡字节码的优化方法和设备 |
CN112230941A (zh) * | 2020-09-22 | 2021-01-15 | 成都融微软件服务有限公司 | 一种Java Card包及应用程序安装方法和工具 |
CN112230941B (zh) * | 2020-09-22 | 2024-03-29 | 成都融微软件服务有限公司 | 一种Java Card包及应用程序安装方法和工具 |
CN115309405A (zh) * | 2022-08-24 | 2022-11-08 | 北京熵核科技有限公司 | 一种代码链接优化方法 |
CN115309405B (zh) * | 2022-08-24 | 2023-08-04 | 北京熵核科技有限公司 | 一种代码链接优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111770113B (zh) | 一种执行智能合约的方法、区块链节点和节点设备 | |
CN106020920A (zh) | 一种jcvm解释器的预处理方法及系统 | |
US8863079B2 (en) | Efficient and expansive conversions between reference and primitive | |
CN103019787B (zh) | 函数调用关系确定方法、热补丁升级方法及装置 | |
KR100421234B1 (ko) | 플랫폼-독립형 가상기계의 기호표 탐색 최적화 | |
CN101299192B (zh) | 一种非对齐访存的处理方法 | |
CN106648755B (zh) | 一种在安卓art环境中动态加载dex的方法及装置 | |
JP2001034483A (ja) | メタデータをコード化するためのオペコードの番号付け | |
US8042103B2 (en) | Pre-translated files used in a virtual machine | |
CN106033370B (zh) | 64位Java虚拟机的实现方法及装置 | |
US20120259822A1 (en) | Method for compressing identifiers | |
WO2022033229A1 (zh) | 一种软件代码编译方法及系统 | |
CN111768183B (zh) | 一种执行智能合约的方法、区块链节点和存储介质 | |
CN108021370B (zh) | 字节码的优化方法、装置、存储介质、处理器及终端 | |
CN114428639A (zh) | 一种字节码指令集的指令精简方法和系统 | |
US6877156B2 (en) | Recognition of command related items in object code | |
CN103677778A (zh) | 一种CAP文件Classref常量的解析方法 | |
Aslam et al. | Optimized java binary and virtual machine for tiny motes | |
CN105160001A (zh) | 一种Linux系统物理内存镜像文件分析方法 | |
CN111596970B (zh) | 动态库延迟加载方法、装置、设备和存储介质 | |
CN109062577A (zh) | 一种前端脚本拆分与解构优化方法及系统 | |
CN105786465A (zh) | 一种脚本语言执行方法及装置 | |
US7207036B2 (en) | Preprocessing of interfaces to allow fast call through | |
US20040205744A1 (en) | Management of co-processor information by integrating non-program information with program information | |
CN101295239A (zh) | Java卡虚拟机的指令执行方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161012 |
|
RJ01 | Rejection of invention patent application after publication |