You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@dcharkes setting isLeaf to true improves the performance by almost 50%. However, calling the result of lookupFunction appears to return a different value when isLeaf is set to true. Is that expected?
on: Dart SDK version: 3.1.0-163.1.beta (beta) (Wed Jun 7 05:06:41 2023 -0700) on "macos_arm64"
The text was updated successfully, but these errors were encountered:
modulovalue
changed the title
[ffi] isLeaf changes the value returned by lookupFunction.
[ffi] isLeaf changes the value returned by calling lookupFunction.
Jun 13, 2023
The fact that it works without isLeaf is likely due to somehow the x1 register also being populated with the first argument (maybe the Dart compiler shuffles some values around right before the FFI call).
If you're going to write assembly by hand, it needs to follow the C ABI.
Nit: you're using int32_t while using x registers, w registers are 32 bits wide. So your move is copying the upper 4 bytes as well.
For context see: #52692
@dcharkes setting isLeaf to true improves the performance by almost 50%. However, calling the result of lookupFunction appears to return a different value when isLeaf is set to true. Is that expected?
outputs:
on:
Dart SDK version: 3.1.0-163.1.beta (beta) (Wed Jun 7 05:06:41 2023 -0700) on "macos_arm64"
The text was updated successfully, but these errors were encountered: