HHVM 4.103 发布,高速开源虚拟机

来源: OSCHINA
编辑: Alias_Travis
2021-04-04

HHVM 4.103 已经正式发布了,这个版本的发布就标志着对 4.97 的支持已经结束了。HHVM 4.98-4.101 以及 4.56 LTS、4.80 LTS 和 4.102 LTS 版本仍然受到支持。

亮点

  • 隐式/无返回的函数现在被认为是返回 mixed 或 dynamic 函数的一个子类型;例如,现在可以传递 ()==> { echo "hello"; } 作为一个 (function(): mixed)
  • 改进了对枚举类的自动完成支持;
  • 减少大型类(包括具有许多继承成员的小型类)的类型检查器内存使用量;
  • 现在默认启用枚举类;
  • 增加了 HH/EnumClassAttribute 接口,允许为枚举类定义用户属性;
  • 现在许多内置模块被标记为纯模块。

重大变化

  • Hack 阵列和旧式阵列被统一了;由于此更改的潜在范围,因此将 4.102 进行了计划外的 LTS 发布,以留出更多时间来确定迁移路径。
    • varrayvec现在是 vec 的别名
    • darray 现在是 dict 的别名
    • 现在,Shapes 现在在运行时由 dict 支持;这通常仍被视为实现细节,但在处理未类型化的数据(例如解码的 JSON)时会有所帮助。
    • 现在,Tuples 在运行时由 vec 支持,这也是一个实现细节。
  • 删除了对 PHP 样式的静态匿名函数的运行时支持;自 2020 年 5 月起,默认情况下已禁用这些功能,并且类型检查器未正确处理这些功能。
  • 对于类常量的一些循环定义,现在会引发Typechecker错误。这是一项正在进行的工作,我们希望在将来的版本中可以检测到更多的循环定义。
  • apc_prime.so 支持已被删除;该功能将允许提供 C++ 库以在 HHVM 启动时预填充 APC;
  • 如果 XHP 类声明两个具有相同名称的属性,现在会引发 typechecker 错误;
  • PowerPC64 支持已被删除;它已经无法使用一段时间了,而且我们没有支持它的必要 CI 基础结构。

未来的变化

  • HHVM 仍然使用 hh_single_compile,然而解析器和发射器也是内嵌的,我们期望去除对 hh_single_compile 的依赖,并有可能在未来删除可执行文件。嵌入式编译器可以通过 hhvm.hack_compiler_use_compiler_pool=false INI 设置来测试;
  • 我们预计在不久的将来会移除对 macOS 10.14 (Mojave) 的支持。

更多详情可查看:https://hhvm.com/blog/2021/03/31/hhvm-4.103.html

展开阅读全文
3 收藏
分享
加载中
精彩评论
不支持php的php虚拟机。
2021-04-05 11:19
2
举报
最新评论 (3)
不支持php的php虚拟机。
2021-04-05 11:19
2
回复
举报
这个还支持php吗?
2021-04-04 18:33
0
回复
举报
早就不支持了
2021-04-04 19:38
0
回复
举报
更多评论
3 评论
3 收藏
分享
返回顶部
顶部