[发明专利]使用复常量的方法和系统在审
申请号: | 202010828067.X | 申请日: | 2015-06-08 |
公开(公告)号: | CN111966424A | 公开(公告)日: | 2020-11-20 |
发明(设计)人: | J·R·罗斯;B·戈茨 | 申请(专利权)人: | 甲骨文国际公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/455;G06F8/30;G06F8/41 |
代理公司: | 中国贸促会专利商标事务所有限公司 11038 | 代理人: | 张鑫 |
地址: | 美国加*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 使用 常量 方法 系统 | ||
1.一种方法,包括:
在一组程序指令内识别加载常量的指令;
基于加载所述常量的所述指令在识别由程序使用的一个或多个常量的数据结构中识别与所述常量相关联的第一条目,其中所述第一条目至少指定常量数据以及用于从所述常量数据组装复值或部分复值的第一组指令,其中所述常量数据表示被所述第一组指令用来组装所述复值或所述部分复值的多个常量值,其中所述复值或所述部分复值表示所述多个常量值的聚合;
执行所述第一组指令以从所述常量数据组装所述复值或所述部分复值;
其中执行所述第一组指令导致:
在堆中存储所述复值或所述部分复值,以及
在常量值高速缓存中存储所述复值或所述部分复值的引用。
2.如权利要求1所述的方法,其中:
所述常量表示数组、组、序列、字典、复数、点或对象中的一个或多个;
所述方法还包括源编译器通过解析指定所述字典的内容的文本声明来生成加载所述常量的所述指令。
3.如权利要求1所述的方法,其中:
所述第一组指令在堆中存储所述复值或所述部分复值包括:当所述复值或所述部分复值的大小超过阈值时,所述第一组指令在堆中存储所述复值或所述部分复值;
否则所述方法还包括:当所述复值或所述部分复值的大小没有超过阈值时,所述第一组指令反而在堆外存储所述复值或所述部分复值。
4.如权利要求3所述的方法,其中:
所述第一组指令在堆中存储所述复值或所述部分复值包括:所述第一组指令通过引用传递所述复值或所述部分复值;
否则所述第一组指令反而在堆外存储所述复值或所述部分复值包括:所述第一组指令通过值传递所述复值或所述部分复值。
5.如权利要求1所述的方法,其中用于组装所述复值或所述部分复值的所述第一组指令包括非确定性。
6.如权利要求5所述的方法,其中所述非确定性包括随机数的生成。
7.如权利要求1所述的方法,其中加载所述常量的所述指令包括能够用于加载复常量或本地常量的重载指令。
8.如权利要求1所述的方法,其中加载所述常量的所述指令包括仅能用于加载复常量的特定指令。
9.如权利要求1所述的方法,其中加载所述常量的所述指令包括仅能用于加载模板化的复常量的特定指令。
10.如权利要求1所述的方法,其中加载所述常量的所述指令包括仅能用于加载不是模板化的复常量的复常量的特定指令。
11.一个或多个计算机可读媒介,所述一个或多个计算机可读媒介存储指令,所述指令在由一个或多个计算设备执行时使得权利要求1-10中的任何一项权利要求所述的方法被执行。
12.一种系统,所述系统包括一个或多个计算设备,所述一个或多个计算设备包括至少部分地由计算硬件实现的组件,所述组件被配置为实现权利要求1-10中的任何一项权利要求所述的方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于甲骨文国际公司,未经甲骨文国际公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010828067.X/1.html,转载请声明来源钻瓜专利网。