Skip to content

Conversation

@halibobo1205
Copy link
Contributor

Closes #5954

@halibobo1205 halibobo1205 marked this pull request as draft May 13, 2025 07:25
@halibobo1205 halibobo1205 changed the title feat(architecture): support arm64 feat(architecture): support arm64 based on JDK17 May 13, 2025
@FriendlyCM
Copy link

The release_v4.8.1 branch has been created. Please make sure to update the target branch of your PRs if they are intended for the next release.

@halibobo1205 halibobo1205 changed the base branch from develop to release_v4.8.1 June 13, 2025 11:28
@halibobo1205 halibobo1205 marked this pull request as ready for review June 27, 2025 09:51
@kuny0707 kuny0707 moved this to In Review in java-tron Jun 30, 2025
@halibobo1205 halibobo1205 force-pushed the arch/arm64 branch 2 times, most recently from aeddfa1 to e5055a7 Compare July 18, 2025 07:44
### ARM64 JDK17
```bash
$ nohup java -Xms9G -Xmx9G -XX:+UseZGC \
-Xlog:gc*:file=gc.log:time,uptime,level,tags:filecount=50,filesize=100M \

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest make the -Xmx14G

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same for above x86_64 JDK8

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

On 16GB nodes, the -Xmx9G JVM parameter in this example reserves sufficient memory for database off-heap allocation (2-4GB). Setting -Xmx too aggressively could lead to memory pressure and OOM issues.

@halibobo1205 halibobo1205 force-pushed the arch/arm64 branch 3 times, most recently from 058b98c to 512cc6f Compare August 5, 2025 12:44
@halibobo1205 halibobo1205 force-pushed the arch/arm64 branch 2 times, most recently from 006a253 to d2b84a9 Compare August 7, 2025 09:45
import java.util.Map;
import java.util.Objects;

/**
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it necessary to add an explanation for why the arm MathWrapper uses strictMath?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to maintain consistency with existing historical data when migrating from JDK8 x86 to ARM. StrictMath ensures that pow operations yield identical results regardless of the underlying hardware architecture.

@halibobo1205 halibobo1205 force-pushed the arch/arm64 branch 3 times, most recently from 7e155bb to 18deb27 Compare August 11, 2025 07:15
    - update condition to check for NullPointerException instances
    - maintain compatibility with both pre-Java 14 and Java 14+ versions
    - address JEP 358 changes to NullPointerException behavior
    - ensure correct handling of non-empty NPE messages in Java 14+

    Refs: JEP 358, JDK-8220715
  - use `java.specification.version` instead of parsing `java.version`
  - ensure consistent version reporting across different Java releases(jdk10+)
   add javax.jws-api:1.1 and javax.annotation-api:1.3.2, refs:JDK-8190378, JEP 320
   remove com.carrotsearch:java-sizeof:0.0.5
   bump lombok from 1.18.12 to 1.18.34, refs: [Lombok Changelog](https://projectlombok.org/changelog)
   bump aspectjrt from 1.18.13 to 1.9.8, refs: [AspectJ Java version compatibility](https://eclipse.dev/aspectj/doc/latest/release/JavaVersionCompatibility.html)
@kuny0707 kuny0707 merged commit 50d6f69 into tronprotocol:release_v4.8.1 Aug 14, 2025
7 checks passed
@github-project-automation github-project-automation bot moved this from In Review to Done in java-tron Aug 14, 2025
halibobo1205 added a commit to halibobo1205/java-tron that referenced this pull request Sep 1, 2025
halibobo1205 added a commit to halibobo1205/java-tron that referenced this pull request Sep 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

Expand ARM Architecture Compatibility