在 2025 收官前,看清 Data + AI 的真实走向,点击查看 BUILD 大会精华版 了解详情
写点什么

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:26603
用户头像

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

关注

评论

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

鸿蒙特效教程07-九宫格幸运抽奖

苏杰豪

鸿蒙 HarmonyOS ArkTS HarmonyOS NEXT

SvelteKit 最新中文文档教程(10)—— 部署 Cloudflare Pages 和 Cloudflare Workers

冴羽

vue.js 前端 React Svelte SvelteKit

鸿蒙特效教程03-水波纹动画效果实现教程

苏杰豪

鸿蒙 HarmonyOS HarmonyOS NEXT

鸿蒙特效教程08-幸运大转盘抽奖

苏杰豪

鸿蒙 HarmonyOS ArkTS HarmonyOS NEXT

鸿蒙特效教程09-深入学习animateTo动画

苏杰豪

鸿蒙 HarmonyOS ArkTS HarmonyOS NEXT

鸿蒙特效教程10-卡片展开/收起效果

苏杰豪

鸿蒙 HarmonyOS ArkTS HarmonyOS NEXT

HarmonyOS 之 @Require 装饰器自学指南

李游Leo

HarmonyOS NEXT

精准审查,规避风险:中烟创新智能合同审查系统为企业保驾护航

中烟创新

Dify+Agora 快速打造语音智能体;ISSEN:个性化 AI 语言老师,可语音交互丨日报

RTE开发者社区

鸿蒙特效教程04-直播点赞动画效果实现教程

苏杰豪

鸿蒙 HarmonyOS ArkTS HarmonyOS NEXT

鸿蒙特效教程06-可拖拽网格实现教程

苏杰豪

鸿蒙 HarmonyOS ArkTS HarmonyOS NEXT

如何在线制作甘特图?3个常用绘图工具盘点!

职场工具箱

甘特图 绘图软件 甘特图软件 在线甘特图软件

PIRF 428 :Time Travel – Impossible to Explain

Echo!!!

English

《Operating System Concepts》阅读笔记:p481-p482

codists

操作系统

鸿蒙特效教程01-哔哩哔哩点赞与一键三连

苏杰豪

鸿蒙 交互设计 HarmonyOS ArkTS HarmonyOS NEXT

鸿蒙特效教程02-微信语音录制动画效果实现教程

苏杰豪

鸿蒙 HarmonyOS ArkTS HarmonyOS NEXT

鸿蒙特效教程05-鸿蒙很开门

苏杰豪

鸿蒙 HarmonyOS ArkTS HarmonyOS NEXT

Web3的成功离不开什么?

PowerVerse

区块链 web3 dapps

请查收官方通知!这5场课程,助您成为数智财务高端人才!

用友智能财务

AI 财务 会计

AV-Comparatives推出开创性EDR检测验证测试

财见

什么是「Agentic 工作流程」?丨社区来稿

RTE开发者社区

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