AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

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

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

关注

评论

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

低代码开发的优势与劣势,看这一篇就够了

互联网工科生

软件开发 低代码

MySQL的Json类型个人用法详解

北桥苏

容器编排工具的比较:Kubernetes、Docker Swarm、Nomad

树上有只程序猿

Kubernetes Docker Swarm Nomad

大模型重塑区域人才培养,飞桨(重庆)人工智能教育创新中心正式启动

飞桨PaddlePaddle

人工智能 百度飞桨

音视频数字化进行时,MediaBox重新定义「高易用」

阿里云CloudImagine

云计算 视频云

如何利用FuncGPT告别繁琐的开源代码调试

飞算JavaAI开发助手

AI 软件开发 程序员‘’ 自然语言 Java'

多元任务,高额奖金!首届“开放原子开源大赛”等你参与!

飞桨PaddlePaddle

人工智能 paddle 百度飞桨

连接云-边-端,构建火山引擎边缘云网技术体系

火山引擎边缘云

网站 CDN 边缘计算 边缘云 火山引擎边缘计算

INFINI Labs 产品更新 | Console 告警中心 UI 全新改版,新增 Dashboard 全屏模式等功能

极限实验室

console INFINI Labs INFINI Console 极限科技

活动回顾丨云原生开源开发者沙龙深圳站(含 PPT)

阿里巴巴云原生

阿里云 开源 云原生 消息列队

学习CAE软件有什么方法技巧?

智造软件

有限元分析 CAE软件 altair

【原理篇】Supabase 权限模型 Part1

张文平

Serverless API sdk 权限控制 Supabase

ABAQUS是什么软件?哪里可以学习有限元分析技术?

思茂信息

仿真软件 abaqus 有限元分析 有限元技术 结构仿真

NFTScan 浏览器正式版上线 2 周年!

NFT Research

NFT nft工具

【深度学习 | 核心概念】那些深度学习路上必经的核心概念,确定不来看看?| ARTS 打卡第 四 周

计算机魔术师

人工智能

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