《HarmonyOS:领航者说》技术公开课来啦,大咖分享、实战解码,不容错过 了解详情
写点什么

OpenJDK 上可以进行动态调用了

  • 2008-09-04
  • 本文字数:744 字

    阅读完需:约 2 分钟

John Rose 宣布了“国际动态调用日(International InvokeDynamic Day)”,以此来庆祝其通过’invokedynamic’指令首次成功调用了动态方法:

今天凌晨,JVM 首次针对 invokedynamic 指令处理了一个完全的引导周期、链接常量池入口、创建具体的调用地址对象、寻找并调用每个类的引导方法、将具体的调用地址链接到方法句柄,然后通过方法句柄重新高速调用链接的调用地址 999 次。尽管方法签名一样,但调用者所指的方法名与被调用的是不同的。链接是通过随机的、引导方法中手写的 Java 代码来实现的。

“invokedynamic”指令是为多语言虚拟机(叫做’ Da Vinci Machine ’)所计划的众多特性之一。Da Vinci 中所有计划的增强特性都在 MLVM 站点的子项目部分进行了描述。动态调用也是 JSR-292 的一部分, InfoQ 早前已经对其进行了讨论,同时它也是对一些针对核心 Java VM 的实验性的 Da Vinci 工作的一种改编。John Rose 所发表的声明表明’invokedynamic’首次运行在 OpenJDK hotspot 虚拟机上。

动态调用是针对 JVM 的动态语言开发者最期望的特性之一。 Gilad Bracha 在InfoQ 上讨论过动态调用背后的理论以及为何它是一种必要增强的原因。

JRuby 的领导者 Charles Oliver Nutter 就 John Rose 的声明发表了以下看法:

太棒了…待今明两天 JRuby 1.1.4 发布后我就要进行一次动态调用。正好用它作为秋季会议的演示。

Groovy 的项目经理 Guillaume Laforge 用简单的一句话表示祝贺:

香槟!:-)

但是对于动态调用来说还有很长的一段路要走。当然,动态语言(如 JRuby 和 Groovy)必须适时利用新的指令。Rose 指出对于核心实现来说依旧还有很多工作需要完成:

至于 JVM 代码,它只工作在 x86/32 上;下一步工作就是将汇编码移到正确的文件中并完成对 x86/64 和 SPARC 的支持。

查看英文原文: Dynamic Invocation Runs on OpenJDK

2008-09-04 07:26540
用户头像

发布了 88 篇内容, 共 269.2 次阅读, 收获喜欢 8 次。

关注

评论

发布
暂无评论
发现更多内容

什么是无代码?无代码开发平台又是什么?

积木链小链

无代码 无代码平台

通义灵码知识库问答增强:知识库构建与管理指南

阿里云云效

阿里云 云原生 通义灵码

CAD迷你看图 Mac破解版 v4.4.5免激活版

Rose

最大程度降低“去O”的迁移风险

NineData

数据库 复制 迁移 同步 NineData

能操控电脑的 Computer Use 究竟是什么?万能胶水、旧世界操作员,还是无所不在的智能?| 播客《编码人声》

声网

立足云南,面向“两亚”,翻开普惠算力新篇章

九章云极DataCanvas

如何成为一名优秀的程序员,进来看看

伤感汤姆布利柏

实时特征框架的生产实践|得物技术

得物技术

flink 性能优化 数据平台 特征框架

从人员外包到测试工具、测试平台,提供全方位的测试解决方案~

霍格沃兹测试开发学社

Alfred 5中文安装包 Mac 上的效率瑰宝!

Rose

程序员提效的 10 个方法,建议收藏

秃头小帅oi

知识管理系统是什么?

ServiceDesk_Plus

知识管理系统 知识管理软件

AI 原生时代,更要上云:百度智能云云原生创新实践

百度Geek说

软件测试学习笔记丨Flask框架-请求与响应

测试人

flask 软件测试

通义灵码知识库问答增强:知识库构建与管理指南

阿里巴巴云原生

阿里云 云原生 通义灵码

老好人无法成为好的管理者

老张

团队管理 技术管理 绩效管理

指标平台在企业数据管理中的定位及其如何与BI、数仓的协同工作?

Aloudata

数据分析 指标体系 指标平台 指标开发

指标预警归因分析,及时发现业务问题,快速定位问题根因

Aloudata

数据分析 指标平台 指标开发

LeetCode题解:2648. 生成斐波那契数列,迭代+递归,超详细解析

Lee Chen

鸿蒙开发案例:打地鼠

zhongcx

数据结构 - 散列表,三探之代码实现

不在线第一只蜗牛

数据结构

如何通过指标驱动研发体系建设

思码逸研发效能

DevOps 研发效能 效能度量 研发效能管理 思码逸

薅羊毛了!百万度算力免费申领活动狂欢继续!

九章云极DataCanvas

One Switch for Mac(系统功能快速开关工具) v1.33.1中文版

Rose

跨平台的键鼠共享工具 synergy mac 中文激活版

Rose

全新HUAWEI MatePad 11.5发布:搭载华为教育中心,做更好的学习神器

最新动态

OpenJDK上可以进行动态调用了_Java_R.J. Lorimer_InfoQ精选文章