CN106020920A - 一种jcvm解释器的预处理方法及系统 - Google Patents

一种jcvm解释器的预处理方法及系统 Download PDF

Info

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
Application number
CN201610312278.1A
Other languages
English (en)
Inventor
胡建国
丁颜玉
洪佳欣
麦园青
覃慧芳
谢彤璇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Smart City Development Research Institute
GUANGZHOU SOUTH CHINA IOT TECHNOLOGY INNOVATION CENTER
Guangzhou Xin Cheng Core Mdt Infotech Ltd
Original Assignee
Guangzhou Smart City Development Research Institute
GUANGZHOU SOUTH CHINA IOT TECHNOLOGY INNOVATION CENTER
Guangzhou Xin Cheng Core Mdt Infotech Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Smart City Development Research Institute, GUANGZHOU SOUTH CHINA IOT TECHNOLOGY INNOVATION CENTER, Guangzhou Xin Cheng Core Mdt Infotech Ltd filed Critical Guangzhou Smart City Development Research Institute
Priority to CN201610312278.1A priority Critical patent/CN106020920A/zh
Publication of CN106020920A publication Critical patent/CN106020920A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/423Preprocessors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/37Compiler construction; Parser generation

Abstract

本发明公开了本发明一种JCVM解释器的预处理方法及系统,方法包括:根据方法调用指令判断调用方法类型,若是本包方法,则执行对应的本包方法处理步骤;若是外包方法,则执行对应的外包方法处理步骤。系统包括:类型判断单元、本包预处理单元和外包预处理单元。本发明通过对CAP文件中的方法调用指令进行预解析,从而将原本解析方法指令时的步骤提前到安装时来完成,使得解析过程更加简便。而且通过本发明的预处理之后,方法调用指令的长度不变,所以在存储CAP文件时不会占用多余的空间,并且处理后的方法调用指令能更直接地在方法区中找到方法字节码,使得解析过程缩短,大大加快解析速率。本发明可广泛应用于Java智能卡领域中。

Description

一种 JCVM 解释器的预处理方法及系统
技术领域
本发明涉及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组件中查找得出包的偏移量;
外包方法偏移量查找单元,用于根据包的偏移量作为索引,在类组件中查找得出对应的类,并根据方法索引,在对应的类的方法表中查找得出方法偏移量;
外包指令生成单元,用于将方法调用指令中的操作数替换为方法偏移量,得到处理后的方法调用指令。
CN201610312278.1A 2016-05-11 2016-05-11 一种jcvm解释器的预处理方法及系统 Pending CN106020920A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
常青 等: "JCVM解析优化设计与实现", 《北京航空航天大学学报》 *
徐宏宁: "JCRE平台结构的研究与设计", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (10)

* Cited by examiner, † Cited by third party
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