[VM] Add support for allocation tracing in AOT

TEST=Manual
Bug: https://github.com/dart-lang/sdk/issues/51234
Change-Id: I4ab75bb85898a41dfb091b38402711170fd3b972
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/271420
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
This commit is contained in:
Ryan Macnak
2024-01-17 13:50:49 +00:00
committed by Commit Queue
parent c111a1346e
commit 58bf203064
14 changed files with 135 additions and 21 deletions
@@ -1844,6 +1844,16 @@ static void GenerateAllocateObjectHelper(Assembler* assembler,
{
Label slow_case;
#if !defined(PRODUCT)
{
const Register kTraceAllocationTempReg = R8;
const Register kCidRegister = R9;
__ ExtractClassIdFromTags(kCidRegister, AllocateObjectABI::kTagsReg);
__ MaybeTraceAllocation(kCidRegister, &slow_case,
kTraceAllocationTempReg);
}
#endif
const Register kNewTopReg = R8;
// Bump allocation.