![]() ![]() ![]() There is also a new test group that I found useful when debugging on Windows, that group is going to go away before integration. This is why native_call argument persists, even though it is not used in x86 case anymore. Other architectures can follow this example later. This patch makes a pilot change for x86, without touching other architectures. It also drops the need for special-casing the native_call, because we might as well bang the entire shadow zone in native case as well. I think we can make it universally better for all template interpreters by introducing the safe limit / growth watermarks for thread stacks, so that we bang only when needed. This takes tens of instructions, blows out TLB caches with accessing tens of pages (on some implementations, I reckon, almost the entire L1 TLB cache!), etc. The underlying problem is that template interpreters rebang the entire shadow zone on every method entry. Most recently, it showed up in my work to get infra work reasonably fast when cold, which includes lots of interpreter paths. This shows up every time I benchmark the interpreter-only code. This is an old issue, I submitted the first RFE about this back in 2015. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |