Integrated: Fix off-by-one error when verifying object registrations
William Kemper
wkemper at openjdk.org
Fri Sep 2 23:11:08 UTC 2022
On Fri, 2 Sep 2022 16:47:52 GMT, William Kemper <wkemper at openjdk.org> wrote:
> This change originally started with an effort to fix a build error caused by using the global `malloc` and `free` calls. Replacing these calls with hotspot idioms caused remembered set verification errors. The verification errors were, ultimately, due to the verification code reading past the end of an array. The `NEW_C_HEAP_ARRAY` macro tacks a bit of information onto the allocated array for the purpose of tracking native memory use (NMT). This was enough to change the behavior when the verifier read past the end of the array. This PR subsumes https://github.com/openjdk/shenandoah/pull/155 and fixes the root cause of the verification errors. This change also removes the unused `overreach_map` as this was also using global `malloc` and `free` calls.
This pull request has now been integrated.
Changeset: 791b74dd
Author: William Kemper <wkemper at openjdk.org>
URL: https://git.openjdk.org/shenandoah/commit/791b74dd7645198dfc9c7f98bfab1602b94bbb8b
Stats: 116 lines in 6 files changed: 20 ins; 91 del; 5 mod
Fix off-by-one error when verifying object registrations
Reviewed-by: kdnilsen
-------------
PR: https://git.openjdk.org/shenandoah/pull/160
More information about the shenandoah-dev
mailing list