Stefan Marr
Stefan Marr
If you don't mind the hacky bits, this is how TruffleSOM integrates your `#basicNew` into a dispatch chain: https://github.com/SOM-st/TruffleSOM/pull/56/commits/d2f04f3bf3de79fb13176d6566cf331577a4f8bc Specifically this for the standard dispatch, similar for super: https://github.com/SOM-st/TruffleSOM/pull/56/commits/d2f04f3bf3de79fb13176d6566cf331577a4f8bc#diff-e6ba7b4ffc50689737a20f2121025ae11325e28b29cdf1c21f395c58d2522cc1R53-R69
@clementbera not sure this is needed. Did you discuss this with @daumayr? In his new implementation, we replaced `ByteBuffer`.
Looking at `SClass.isKindOf(.)`, I would advise against it, because it hides a performance issue. I would prefer (following SClass.lookupClass): ``` VM.callerNeedsToBeOptimized( "This should not be on the fast path, specialization/caching...
Adding the ``` VM.callerNeedsToBeOptimized( "This should not be on the fast path, specialization/caching needed?"); ``` would still be an improvement. Because there is indeed a PE issue (since it is...
Add the `VM.callerNeedsToBeOptimized()` as part of #251. @daumayr what's with the `ByteBuffer` change. Is that needed?
Ok, can we do this as part of all the changes for the new actor tracing?
Ok, thanks. I think we can close this issue once the changes are in.
The first part of this was done with #233, but the second bit could still be investigated.
This is needed for full SVM support #166.
Since this is only a problem in case the lexical scope is captured, a first fix could simply disable the optimization when there is a nested block.