-
Notifications
You must be signed in to change notification settings - Fork 216
Theta, Tuple convert to Panama FFM #668
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
25 commits
Select commit
Hold shift + click to select a range
cc11892
Add "final" to method parameters where they were missing.
leerho b9a6261
revert to jdk21 for the time being.
leerho 127b667
Set pom to java 24.
leerho b0addfe
The XxHash function was removed from datasketches-memory and moved here.
leerho 256ee59
Disabled workflows.
leerho d90e5a5
Upadate ds-java dependency on ds-memory to local
leerho 4572611
Fix imports
leerho d948ce7
Update .asf.yaml
leerho 6008cb3
Theta rework, phase 1, no testing yet!
leerho 543e866
Partial progress on Theta tests.
leerho a3aa141
partial progress 2
leerho 5db9ccc
Theta Rework: completed all classes and tests.
leerho e0a9710
Remove use of aligned heap segments. Consider in the future.
leerho 6b2d7ab
Make classes Final where possible
leerho 8fffa8c
All of Tuple2 converted to FFM
leerho a00f732
Finished all of theta and tuple
leerho 9a556f4
Some needed clean up.
leerho a3e4165
More cleanup.
leerho a66d3b0
More cleanup
leerho 7dccb96
preparing for delete of old theta, tuple, thetacommon, fdt and tests.
leerho 5f199a3
More prep before deletions.
leerho e566965
more cleanup
leerho 357a8a7
Prepare for merge
leerho fbab0a0
enable github workflows
leerho 90727a8
Disable the GHA workflows.
leerho File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,8 +1,8 @@ | ||
| name: JavaDoc | ||
|
|
||
| on: | ||
| push: | ||
| branches: main | ||
| # push: | ||
| # branches: main | ||
| workflow_dispatch: | ||
|
|
||
| jobs: | ||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
58 changes: 58 additions & 0 deletions
58
src/main/java/org/apache/datasketches/common/MemorySegmentStatus.java
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,58 @@ | ||
| /* | ||
| * Licensed to the Apache Software Foundation (ASF) under one | ||
| * or more contributor license agreements. See the NOTICE file | ||
| * distributed with this work for additional information | ||
| * regarding copyright ownership. The ASF licenses this file | ||
| * to you under the Apache License, Version 2.0 (the | ||
| * "License"); you may not use this file except in compliance | ||
| * with the License. You may obtain a copy of the License at | ||
| * | ||
| * http://www.apache.org/licenses/LICENSE-2.0 | ||
| * | ||
| * Unless required by applicable law or agreed to in writing, | ||
| * software distributed under the License is distributed on an | ||
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY | ||
| * KIND, either express or implied. See the License for the | ||
| * specific language governing permissions and limitations | ||
| * under the License. | ||
| */ | ||
|
|
||
| package org.apache.datasketches.common; | ||
|
|
||
| import java.lang.foreign.MemorySegment; | ||
|
|
||
| /** | ||
| * Methods for inquiring the status of a backing MemorySegment. | ||
| */ | ||
| public interface MemorySegmentStatus { | ||
|
|
||
| /** | ||
| * Returns true if this object's internal data is backed by a MemorySegment, | ||
| * which may be on-heap or off-heap. | ||
| * @return true if this object's internal data is backed by a MemorySegment. | ||
| */ | ||
| boolean hasMemorySegment(); | ||
|
|
||
| /** | ||
| * Returns true if this object's internal data is backed by an off-heap (direct or native)) MemorySegment. | ||
| * @return true if this object's internal data is backed by an off-heap (direct or native)) MemorySegment. | ||
| */ | ||
| boolean isDirect(); | ||
|
|
||
| /** | ||
| * Returns true if the backing MemorySegment of this object refers to the same MemorySegment of <i>that</i>. | ||
| * They can either have the same off-heap memory location and size, or refer to the same on-heap array object. | ||
| * | ||
| * <p>If both segment are off-heap, they both must have the same starting address and the same size.</p> | ||
| * | ||
| * <p>For on-heap segments, both segments must be based on or derived from the same array object and neither segment | ||
| * can be read-only.</p> | ||
| * | ||
| * <p>Returns false if either argument is null;</p> | ||
| * | ||
| * @param that The given MemorySegment. | ||
| * @return true if the backing MemorySegment of this object hierarchy refers to the same MemorySegment of <i>that</i>. | ||
| */ | ||
| boolean isSameResource(final MemorySegment that); | ||
|
|
||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are those commented config intended ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is that related to that statement maybe
We will not be able to run the GHA workflows until we have either a Java24 or Java25 release.Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes. The current state of FFM is a problem wrt LTS releases and Eclipse (and VScode). FFM in Java 21 is still in "Preview", and Eclipse ECJ compiler only supports preview with the latest Java release (24). FFM graduated to full Java integration with Java 22. The next LTS is Java 25, which comes out in September, 2025. Although Java 25ea is available, few tools support ea. So I did this development in Java 24. From examining Java 25ea I know that FFM doesn't change in any ways that would affect my use of FFM. I don't really want to release the library on Java 24 as it would only be good for a few months.
Since there is no Maven Central artifact of this code, the GHA runners cannot access it -- thus I have to disable the GHA workflows until I can actually release it, which will be after September. The commented GHA workflow "on:" configs are only until I can actually do a release, when I can enable the CI again. All of this work, and there will be more upcoming merges, is in preparation for Java 25.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, thank you for your willingness to review this code!!