写点什么

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

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

关注

评论

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

与客户沟通过程中的30个实用技巧

九凌网络

限时开发、码力全开、2w奖金!AGI Hackathon等你挑战!

飞桨PaddlePaddle

开发者 大模型 黑客马拉松 AGI

ONES 创始人兼 CEO 王颖奇:ONES.ai 上线,以及我的一些思考

万事ONES

项目管理 AI 研发管理 SaaS

实力见证!ONES 荣获南方周末「年度科创力产品」大奖

万事ONES

获奖 研发管理软件

git 撤销某一次 commit 提交

秃头小帅oi

git 前端 低代码

NineData:为大型房产集团数据库统一纳管,推动业务高效运行

NineData

数据库 运营 房地产 权限管理 NineData

数据分层:打造数据资产管家

得物技术

架构 运维

浅谈埋点及其质量保障 | 京东云技术团队

京东科技开发者

大数据 测试 埋点 企业号11月PK榜

老知识复盘-SQL从提交到执行到底经历了什么 | 京东云技术团队

京东科技开发者

MySQL 数据库 sql 企业号11月PK榜

如何做好架构设计,架构设计有章可循吗? | 京东云技术团队

京东科技开发者

架构 架构设计 企业号11月PK榜

爆火的截图生成代码项目核心功能竟然只是一条 Prompt

mylxsw

AI openai AGI AIGC GPT

字节跳动AB实验经验分享:企业如何构建数据驱动的实验文化?

字节跳动数据平台

大数据 A/B 测试 对比实验

DeFi开发:DeFi中的去中心化保险世界

区块链软件开发推广运营

dapp开发 区块链开发 链游开发 NFT开发 公链开发

杉岩数据:基于鲲鹏DevKit高效开发产线质检数据智能存储管理平台,破解数据管理难题

彭飞

策略模式在数据接收和发送场景的应用

阿里技术

策略模式 数据接收 发送场景

技术分享| gcc版本升级到5.2

anyRTC开发者

音视频

情感语音识别:现状、挑战与未来趋势

数据堂

教你如何使用PyTorch解决多分类问题

华为云开发者联盟

人工智能 华为云 华为云开发者联盟

悄悄上线:CSS @starting-style 新规则

伤感汤姆布利柏

CSS 前端

FFA 2023 「核心技术」专场: Flink 核心技术动向深度解读

Apache Flink

大数据 flink 实时计算

大模型创业“风投”正劲,AGI Foundathon 大模型创业松活动精彩看点

飞桨PaddlePaddle

大模型 AGI 创业松

ASM字节码操作类库(打开java语言世界通往字节码世界的大门) | 京东云技术团队

京东科技开发者

Java jdk asm 企业号11月PK榜

软件测试/人工智能丨人工智能测试开发训练营期待你的加入

测试人

人工智能 软件测试

软件测试/测试开发/人工智能丨Python算术运算符

测试人

Python 人工智能 软件测试

情感语音识别:技术发展与跨文化应用

数据堂

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