-
Notifications
You must be signed in to change notification settings - Fork 97
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
Introduce Valgrind to the CI pipeline #369
Conversation
f6a5926
to
85b9001
Compare
To merge this pull request, all the memory-related leaks need to be addressed first. Currently, based on my initial testing, when disabling SDL and JIT, no memory leaks are found. When enabling JIT, there will be plenty of leaks. |
7069c80
to
485d987
Compare
Memory leaks of JIT compiler reported by Valgrind:
|
26c1802
to
af835ac
Compare
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.
Benchmarks
Benchmark suite | Current: 53dabb2 | Previous: b80dcb4 | Ratio |
---|---|---|---|
Dhrystone |
3.44 Average DMIPS over 10 runs |
12.37 Average DMIPS over 10 runs |
3.60 |
Coremark |
0.003 Average iterations/sec over 10 runs |
0.005 Average iterations/sec over 10 runs |
1.67 |
This comment was automatically generated by workflow using github-action-benchmark.
b80dcb4
to
53dabb2
Compare
The initial investigation is that the memory leak is detected only when JIT is enabled. Currently, there are 2 identified leaks so far
|
@qwe661234, can you comment this? |
Reference: Line 61 in ef151e2
|
This function is only using in non-JIT mode, the basic block information is stored in block cache in JIT mode. Therefore, I need to add a free for |
53dabb2
to
3658d3f
Compare
The static analyzer alone can't catch all the runtime issues. In this commit, the dynamic analysis tool Valgrind is added to the CI pipeline. ENABLE_SDL is set to 0, in order to reduce noise caused by the external libraries. Reference: - https://valgrind.org/docs/manual/quick-start.html - https://linux.die.net/man/1/gcc
3658d3f
to
8c17dbe
Compare
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.
Rebase the latest master
branch.
The build system is being reworked (#473), and I am about to close this pull request. Let's introduce Valgrind to CI pipeline later. |
The static analyzer alone can't catch all the runtime issues. In this commit, the dynamic analysis tool Valgrind is added to the CI pipeline.
ENABLE_SDL is set to 0, in order to reduce noise caused by the external
libraries.
Reference: