-
公开(公告)号:CN109710396B
公开(公告)日:2023-08-22
申请号:CN201711013628.5
申请日:2017-10-26
Applicant: 华为技术有限公司
Abstract: 本申请提供了一种信息采集的方法,该方法包括:在目标程序的运行生命周期中目标方法的调用次数增加时,根据所述目标方法的方法标识获取所述目标方法的调用次数;根据所述目标方法的调用次数、第一阈值和第二阈值,记录所述目标方法的方法信息并设置所述目标方法的方法状态,其中,所述方法状态用于指示与所述方法状态对应的所述目标程序调用的方法的状态,所述方法状态为第一状态或第二状态,所述第一状态对应所述第一阈值,所述第二状态对应所述第二阈值,所述第一阈值与所述第二阈值为非0正整数,所述第二阈值大于0且小于所述第一阈值。
-
公开(公告)号:CN111045658B
公开(公告)日:2021-10-01
申请号:CN201811194933.3
申请日:2018-10-15
Applicant: 华为技术有限公司
Abstract: 本申请提供访问类的静态成员的方法和装置。该方法和装置中,获取类的元数据,元数据中包括第一变量,在类初始化之前,第一变量中记录不可访问的第一地址,在类初始化之后,第一变量中记录类的静态域的第二地址;根据第一变量中记录的第一地址或第二地址,确定该类的静态域中的待访问成员的目标地址;最后访问该目标地址,以访问该待访问成员。其中,若该类已经初始化过,则可以成功访问其静态成员,而不需要进行初始化状态检测或判断等流程;若该类还未初始化,因为第一变量中的第一地址不可访问,所以可以保证不会访问错的静态成员值。本申请的技术方案可以使得运行时系统使用较少的时间开销和空间开销来访问类的静态成员和提高访问的正确性。
-
公开(公告)号:CN111736913A
公开(公告)日:2020-10-02
申请号:CN201910229643.6
申请日:2019-03-25
Applicant: 华为技术有限公司
IPC: G06F9/445
Abstract: 本申请公开了类加载方法和装置,涉及计算机技术领域,有助于更快地进行类加载,从而缩短类加载所需的时长。该方法应用于计算机设备,该计算机设备包括目标二进制文件,目标二进制文件包括多个类的类名与该多个类的全量信息之间的对应关系,类名与类的全量信息一一对应;该方法包括:确定运行计算机设备中的应用程序时所需的待加载类的类名;根据该多个类的类名与该多个类的全量信息之间的对应关系,在该多个类的类名中查找所述待加载类的类名,并获取待加载类的类名对应的全量信息;其中,该多个类包括第一类,第一类的全量信息是指运行第一类所需的全部信息;根据待加载类的类名对应的全量信息,运行该应用程序。
-
公开(公告)号:CN111045658A
公开(公告)日:2020-04-21
申请号:CN201811194933.3
申请日:2018-10-15
Applicant: 华为技术有限公司
Abstract: 本申请提供访问类的静态成员的方法和装置。该方法和装置中,获取类的元数据,元数据中包括第一变量,在类初始化之前,第一变量中记录不可访问的第一地址,在类初始化之后,第一变量中记录类的静态域的第二地址;根据第一变量中记录的第一地址或第二地址,确定该类的静态域中的待访问成员的目标地址;最后访问该目标地址,以访问该待访问成员。其中,若该类已经初始化过,则可以成功访问其静态成员,而不需要进行初始化状态检测或判断等流程;若该类还未初始化,因为第一变量中的第一地址不可访问,所以可以保证不会访问错的静态成员值。本申请的技术方案可以使得运行时系统使用较少的时间开销和空间开销来访问类的静态成员和提高访问的正确性。
-
公开(公告)号:CN110275792B
公开(公告)日:2020-10-23
申请号:CN201910386224.3
申请日:2019-05-09
Applicant: 华为技术有限公司
Abstract: 本申请实施例提供了一种高级语言的异常处理方案,该方案包括高级语言的异常处理方法、装置及系统。其中,该异常处理系统包括编译器端和运行时端。该编译器端用于获取程序中的第一函数,生成尾声代码;当该第一函数包括扫除操作时,生成扫除代码;当有扫除代码时,在该扫除代码后串接该尾声代码,将所串接的代码的入口地址记录到该第一函数对应的异常表中;当无扫除代码时,将该尾声代码的入口地址记录到该第一函数对应的异常表中;当该第一函数使用异常处理器时,将该异常处理器的入口地址和该异常处理器能捕获的异常类型记录到该异常表中。该运行时端用于根据该编译器端生成的异常表进行异常处理。该方案能够适用于任何一种依赖于运行时环境而不直接由操作系统执行的高级语言,且在系统进行异常处理时,能够提高该系统的运行效率,节约该系统的开销。
-
公开(公告)号:CN110275792A
公开(公告)日:2019-09-24
申请号:CN201910386224.3
申请日:2019-05-09
Applicant: 华为技术有限公司
Abstract: 本申请实施例提供了一种高级语言的异常处理方案,该方案包括高级语言的异常处理方法、装置及系统。其中,该异常处理系统包括编译器端和运行时端。该编译器端用于获取程序中的第一函数,生成尾声代码;当该第一函数包括扫除操作时,生成扫除代码;当有扫除代码时,在该扫除代码后串接该尾声代码,将所串接的代码的入口地址记录到该第一函数对应的异常表中;当无扫除代码时,将该尾声代码的入口地址记录到该第一函数对应的异常表中;当该第一函数使用异常处理器时,将该异常处理器的入口地址和该异常处理器能捕获的异常类型记录到该异常表中。该运行时端用于根据该编译器端生成的异常表进行异常处理。该方案能够适用于任何一种依赖于运行时环境而不直接由操作系统执行的高级语言,且在系统进行异常处理时,能够提高该系统的运行效率,节约该系统的开销。
-
公开(公告)号:CN109710396A
公开(公告)日:2019-05-03
申请号:CN201711013628.5
申请日:2017-10-26
Applicant: 华为技术有限公司
Abstract: 本申请提供了一种信息采集的方法,该方法包括:在目标程序的运行生命周期中目标方法的调用次数增加时,根据所述目标方法的方法标识获取所述目标方法的调用次数;根据所述目标方法的调用次数、第一阈值和第二阈值,记录所述目标方法的方法信息并设置所述目标方法的方法状态,其中,所述方法状态用于指示与所述方法状态对应的所述目标程序调用的方法的状态,所述方法状态为第一状态或第二状态,所述第一状态对应所述第一阈值,所述第二状态对应所述第二阈值,所述第一阈值与所述第二阈值为非0正整数,所述第二阈值大于0且小于所述第一阈值。
-
公开(公告)号:CN114153521B
公开(公告)日:2024-10-29
申请号:CN202111322566.2
申请日:2019-03-25
Applicant: 华为技术有限公司
Abstract: 本申请公开了类加载方法和装置,涉及计算机技术领域,有助于更快地进行类加载,从而缩短类加载所需的时长。该方法应用于计算机设备,该计算机设备包括目标二进制文件,目标二进制文件包括多个类的类名与该多个类的类信息之间的对应关系,类名与类的类信息一一对应;该方法包括:根据该多个类的类名与该多个类的类信息之间的对应关系,在该多个类的类名中查找所述待加载类的类名,并获取待加载类的类名对应的类信息;其中,该多个类包括第一类,第一类的类信息是指运行第一类所需的类信息,所述待加载类为运行所述计算机设备中的某应用程序时所需的类;根据待加载类的类名对应的类信息,运行该应用程序。
-
公开(公告)号:CN114153521A
公开(公告)日:2022-03-08
申请号:CN202111322566.2
申请日:2019-03-25
Applicant: 华为技术有限公司
Abstract: 本申请公开了类加载方法和装置,涉及计算机技术领域,有助于更快地进行类加载,从而缩短类加载所需的时长。该方法应用于计算机设备,该计算机设备包括目标二进制文件,目标二进制文件包括多个类的类名与该多个类的类信息之间的对应关系,类名与类的类信息一一对应;该方法包括:根据该多个类的类名与该多个类的类信息之间的对应关系,在该多个类的类名中查找所述待加载类的类名,并获取待加载类的类名对应的类信息;其中,该多个类包括第一类,第一类的类信息是指运行第一类所需的类信息,所述待加载类为运行所述计算机设备中的某应用程序时所需的类;根据待加载类的类名对应的类信息,运行该应用程序。
-
公开(公告)号:CN111736913B
公开(公告)日:2021-11-19
申请号:CN201910229643.6
申请日:2019-03-25
Applicant: 华为技术有限公司
IPC: G06F9/445
Abstract: 本申请公开了类加载方法和装置,涉及计算机技术领域,有助于更快地进行类加载,从而缩短类加载所需的时长。该方法应用于计算机设备,该计算机设备包括目标二进制文件,目标二进制文件包括多个类的类名与该多个类的全量信息之间的对应关系,类名与类的全量信息一一对应;该方法包括:确定运行计算机设备中的应用程序时所需的待加载类的类名;根据该多个类的类名与该多个类的全量信息之间的对应关系,在该多个类的类名中查找所述待加载类的类名,并获取待加载类的类名对应的全量信息;其中,该多个类包括第一类,第一类的全量信息是指运行第一类所需的全部信息;根据待加载类的类名对应的全量信息,运行该应用程序。
-
-
-
-
-
-
-
-
-