odnoklassniki / one-nio

Unconventional I/O library for Java
Apache License 2.0
655 stars 97 forks source link

fix: add more probing methods for `map0` implementation #81

Closed JarvisCraft closed 4 months ago

JarvisCraft commented 6 months ago

Description

This adds alternative probing mechanisms for map0 methods since its placement has been changed (yet again) in Java 20.

JarvisCraft commented 6 months ago

Marking as Draft for now since I haven't tested this yet (the bug was reproduced on my colleague's machine).

Will be thankful if anyone will be able to test it.

There is also a need for the same unmap0 fix and I would like to add lookup memorization to compensate for the expensive linear lookup.

JarvisCraft commented 6 months ago

[!IMPORTANT] Still waiting for testers on MacOS

Undrafing now since both map0 and unmap0 are now probed correctly.

Memoization may be implemented in a separate PR.

eumus commented 6 months ago

I've tested it on macOS, it works properly

JarvisCraft commented 4 months ago

@incubos, an accurate reminder of this PR :3