专注虚拟机与编译器研究

2020年7月31日

第5.2篇-字段解析之伪共享

摘要: 好文章: https://www.cnblogs.com/tong-yuan/p/FalseSharing.html 缓存系统中是以缓存行(cache line)为单位存储的。缓存行是2的整数幂个连续字节,一般为32-256个字节。最常见的缓存行大小是64个字节。当多线程修改互相独立的变量时,如果这 阅读全文

posted @ 2020-07-31 15:28 鸠摩(马智) 阅读(554) 评论(0) 推荐(0) 编辑

第5.1篇-字段解析

摘要: 在ClassfileParser::parseClassFile()函数中,解析完常量池、父类和接口后,接着会调用parser_fields()函数解析字段信息。调用语句如下: u2 java_fields_count = 0; // Fields (offsets are filled in la 阅读全文

posted @ 2020-07-31 14:55 鸠摩(马智) 阅读(680) 评论(0) 推荐(0) 编辑

第4.5篇-常量池解析(2)

摘要: 在parse_constant_pool()方法中调用parse_constant_pool_entries()方法对常量池中的各个项进行解析,方法的实现如下: void ClassFileParser::parse_constant_pool_entries(int length, TRAPS) 阅读全文

posted @ 2020-07-31 10:30 鸠摩(马智) 阅读(958) 评论(0) 推荐(0) 编辑

第4.4篇-常量池解析(1)

摘要: 在调用ClassFileParser::parseClassFile()方法对类文件进行解释时,会调用ClassFileParser::parse_constant_pool()方法对常量池进行解释,调用的语句如下: constantPoolHandle cp = parse_constant_po 阅读全文

posted @ 2020-07-31 08:21 鸠摩(马智) 阅读(1256) 评论(0) 推荐(0) 编辑

第4.3篇-解析Class文件

摘要: 类文件解析的入口是ClassFileParser类中定义的parseClassFile()方法。上一小节得到了文件字节流stream后,接着会在ClassLoader::load_classfile()函数中调用parseClassFile()函数,调用的源代码实现如下: 源代码位置:src/sha 阅读全文

posted @ 2020-07-31 07:31 鸠摩(马智) 阅读(1328) 评论(0) 推荐(0) 编辑

导航