▲ | FooBarWidget a day ago | |||||||
Why is a traditional method based JIT better than an LBBV JIT? I thought YJIT is LBBV because it's a better fit for Ruby, whereas traditional method based JIT is more suitable for static languages like Java. | ||||||||
▲ | tenderlove a day ago | parent | next [-] | |||||||
One reason is that we think we can make better use of registers. Since LBBV doesn't "see" all blocks in a particular method all at once, it's much more challenging to optimize register use across basic blocks. We've added type profiling, so ZJIT can "learn" types from the runtime. | ||||||||
| ||||||||
▲ | pjmlp 14 hours ago | parent | prev | next [-] | |||||||
Usual caveat that while Java is mostly static, is has dynamic runtime semantics inherited from Smalltalk and Objective-C, with dynamic class loading, bytecode generation, proxy classes, reflection, hence why the research work on Smalltalk and Strongtalk ended up being so useful for Hotspot. | ||||||||
▲ | a day ago | parent | prev [-] | |||||||
[deleted] |