mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-21 03:24:38 +02:00
7003271: Hotspot should track cumulative Java heap bytes allocated on a per-thread basis
Track allocated bytes in Thread's, update on TLAB retirement and direct allocation in Eden and tenured, add JNI methods for ThreadMXBean. Reviewed-by: coleenp, kvn, dholmes, ysr
This commit is contained in:
parent
6f2c2c3272
commit
7b0134a7cb
26 changed files with 447 additions and 212 deletions
|
@ -166,7 +166,7 @@ void C1_MacroAssembler::try_allocate(
|
|||
Register obj, // result: pointer to object after successful allocation
|
||||
Register var_size_in_bytes, // object size in bytes if unknown at compile time; invalid otherwise
|
||||
int con_size_in_bytes, // object size in bytes if known at compile time
|
||||
Register t1, // temp register
|
||||
Register t1, // temp register, must be global register for incr_allocated_bytes
|
||||
Register t2, // temp register
|
||||
Label& slow_case // continuation point if fast allocation fails
|
||||
) {
|
||||
|
@ -174,6 +174,7 @@ void C1_MacroAssembler::try_allocate(
|
|||
tlab_allocate(obj, var_size_in_bytes, con_size_in_bytes, t1, slow_case);
|
||||
} else {
|
||||
eden_allocate(obj, var_size_in_bytes, con_size_in_bytes, t1, t2, slow_case);
|
||||
incr_allocated_bytes(var_size_in_bytes, con_size_in_bytes, t1);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -214,7 +215,7 @@ void C1_MacroAssembler::initialize_body(Register base, Register index) {
|
|||
void C1_MacroAssembler::allocate_object(
|
||||
Register obj, // result: pointer to object after successful allocation
|
||||
Register t1, // temp register
|
||||
Register t2, // temp register
|
||||
Register t2, // temp register, must be a global register for try_allocate
|
||||
Register t3, // temp register
|
||||
int hdr_size, // object header size in words
|
||||
int obj_size, // object size in words
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue