JIT 自动内联的方法的大小是多少?

2024-01-07

我听说 JIT 自动内联小型方法,例如 getter(它们大约有 5 个字节)。边界是什么?有 JVM 标志吗?


HotSpot JIT 内联策略相当复杂。它涉及许多启发式方法,例如调用方方法大小、被调用方方法大小、IR 节点计数、内联深度、调用计数、调用站点计数、抛出计数、方法签名等。

对于访问器方法(getter/setter)和普通方法(字节码计数小于 6),会跳过一些限制。

相关源码主要在字节码信息.cpp http://hg.openjdk.java.net/jdk8u/jdk8u/hotspot/file/448a5dcf414f/src/share/vm/opto/bytecodeInfo.cpp#l311.
See InlineTree::try_to_inline, should_inline, should_not_inline功能。

控制内联的主要 JVM 标志是

-XX:MaxInlineLevel (maximum number of nested calls that are inlined)
-XX:MaxInlineSize (maximum bytecode size of a method to be inlined)
-XX:FreqInlineSize (maximum bytecode size of a frequent method to be inlined)
-XX:MaxTrivialSize (maximum bytecode size of a trivial method to be inlined)
-XX:MinInliningThreshold (min. invocation count a method needs to have to be inlined)
-XX:LiveNodeCountInliningCutoff (max number of live nodes in a method)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JIT 自动内联的方法的大小是多少? 的相关文章

随机推荐

  • 如何在页面加载之前提交ajax请求

    我想通过ajax请求检查用户的登录状态 根据用户是否登录 我想显示用户名 密码输入或用户名 目前 请求在 body onload 上发送 并显示 prgoress 指示器 直到响应到达 有没有更好的办法 我们假设需求规定不应有直接的服务器端
  • 如何修复汇编语言中的凯撒密码实现以读取多位密钥?

    我的代码实现了凯撒密码 它询问用户输入文件的名称 其中包含我想要加密 解密的字符串 输出文件的名称和密钥 密码 我的问题是它只读取密钥的第一个数字 如果我给它一个两位数的数字作为密钥 那么它只读取第一个 例如 14 15 它只读取 1 我该
  • React Hooks - 将引用传递给子级以使用 ScrollIntoView

    我有两个组件 一位父母和一个孩子 在父组件内我有一个按钮 如果用户单击该按钮 我想对子组件内的另一个按钮执行 ScrollIntoView 我想我想定义对子按钮 a 的引用 以便我在父按钮 onClick 中可以执行以下操作 ref scr
  • 如何使用 json 将图像发送到 iPhone 中的服务器?

    我正在使用 json 与服务器通信 我想发布并从服务器获取图像 如何将json格式的图像转换为发送它 以及当我们获取json格式的图像并将其转换回图像时 请参阅HTML 规范的相关部分 http www w3 org TR html401
  • kubernetes 私有注册表不起作用

    我按照以下链接配置 kubernetes 私有注册表 https github com kubernetes kubernetes tree master cluster addons registry https github com k
  • 错误:与“cc”链接失败:退出代码:1

    我有一个single rs 文件 当我编译它时rustc test1 rs 我收到错误 error linking with cc failed exit code 1 note cc m64 L usr local Cellar rust
  • 如何从页面加载时默认出现的选定文本中删除文本选择?

    当我们刷新或重新加载页面时 单击下面的图像部分 您可以在圆圈中间看到选定的文本 讨论目标和关注点 现金流量分析 税务分析 等等 例子 http ivyfa advisorproducts com financial planning pro
  • 在 where 子句中使用函数的 Oracle 性能

    在存储过程 有一个名为 paramDate 的日期参数 中 我有一个像这样的查询 select id name from customer where period aded to char paramDate mm yyyy Oracle
  • fetchedResultsContainer 核心数据中出现严重应用程序错误

    尝试添加记录时出现以下错误 严重的应用程序错误 例外 在核心数据更改期间被捕获 加工 这通常是一个错误 在观察者之内 NSManagedObjectContextObjectsDidChangeNotification 索引 0 对于 us
  • Android 应用程序中的音频声音太低

    我录制了一些音频文件以在我的应用程序中使用 大约有 50 个 所以我不想再次录制所有音频文件 我最近使用 SoundPool 在真实设备而不是模拟器上播放音频文件 你几乎听不到它们 在模拟器上 我的电脑音量设置为最大 设备音量设置为最大 我
  • 如何在Flexbox中每行显示3个项目?

    我有一个列表 我想显示我的li水平元素 每行 3 个 我一直在努力得到我想要的东西 但没有运气 有解决办法吗 div class serv ul foreach App Http Controllers HomeController get
  • 是否有 Linq 方法可以将单个项目添加到 IEnumerable 中?

    我正在尝试做这样的事情 image Layers 它返回一个IEnumerable对于除Parent层 但在某些情况下 我只想这样做 image Layers With image ParentLayer 因为与通常使用的数百次相比 它只在
  • Git pull:错误:条目 foo 未更新。无法合并

    我正在尝试从远程分支更新我的存储库 并且当我执行 git pull 时不断收到此错误 我没有进行任何本地更改 即使做了 我也不需要保留它们 我试过了 git reset hard 我遇到了同样的问题 似乎唯一有效的方法是删除有问题的文件并再
  • PDO 获取多个插入 ID

    使用 PDO 运行以下查询 实际上 我使用准备好的语句 但有同样的问题 INSERT INTO MyTable MyField VALUES Row1 Row2 如何获取与以下内容相关的记录的 IDRow1 and Row2 db gt l
  • 有 C++ 的在线名称解析器吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我收到了一个相当长且令人困惑的链接错误 如果我可以将其粘贴到某个网站上的某个文本框中并为我提供未损坏的
  • Python:通过向上舍入将列表中的 # 个值分配给 bin

    我想要一个可以接受一系列和一组垃圾箱的函数 并且基本上四舍五入到最近的垃圾箱 例如 my series 1 1 5 2 2 3 2 6 3 def my function my series bins my function my seri
  • Android:DatePicker 无法在 Activity 内工作

    在我的应用程序中 我有一个选项卡栏 我使用 ActivityGroup 将内容加载到每个选项卡中 如下所示 public class FirstGroup extends ActivityGroup Keep this in a stati
  • C++ cin 和 CTRL + Z 问题

    我正在阅读 C Primer 5th 我在练习中遇到了一些问题 从 cin 读取单词序列并将值存储为向量 后 你已经阅读了所有单词 处理向量并将每个单词更改为 大写 打印转换后的元素 一行八个字 我的代码是这样的 include
  • 循环遍历所有表并重命名列

    客户给了我一个遗留数据库old data其中包含一堆表 我将逐步在新系统中激活它们 不幸的是 有几个表包含一个名为hash它与我用来处理这个项目的 Ruby on Rails 不太兼容 有没有办法告诉MySQL控制台中的MySQL 版本8
  • JIT 自动内联的方法的大小是多少?

    我听说 JIT 自动内联小型方法 例如 getter 它们大约有 5 个字节 边界是什么 有 JVM 标志吗 HotSpot JIT 内联策略相当复杂 它涉及许多启发式方法 例如调用方方法大小 被调用方方法大小 IR 节点计数 内联深度 调