@@ -1355,6 +1355,8 @@ DART_NOINLINE bool Interpreter::AllocateMint(Thread* thread,
13551355 const uword start = thread->top ();
13561356 if (LIKELY ((start + instance_size) < thread->end ())) {
13571357 thread->set_top (start + instance_size);
1358+ NOT_IN_PRODUCT (thread->isolate ()->class_table ()->UpdateAllocatedNew (
1359+ kMintCid , instance_size));
13581360 RawMint* result =
13591361 Mint::RawCast (InitializeHeader (start, kMintCid , instance_size));
13601362 result->ptr ()->value_ = value;
@@ -1385,6 +1387,8 @@ DART_NOINLINE bool Interpreter::AllocateDouble(Thread* thread,
13851387 const uword start = thread->top ();
13861388 if (LIKELY ((start + instance_size) < thread->end ())) {
13871389 thread->set_top (start + instance_size);
1390+ NOT_IN_PRODUCT (thread->isolate ()->class_table ()->UpdateAllocatedNew (
1391+ kDoubleCid , instance_size));
13881392 RawDouble* result =
13891393 Double::RawCast (InitializeHeader (start, kDoubleCid , instance_size));
13901394 result->ptr ()->value_ = value;
@@ -1415,6 +1419,8 @@ DART_NOINLINE bool Interpreter::AllocateFloat32x4(Thread* thread,
14151419 const uword start = thread->top ();
14161420 if (LIKELY ((start + instance_size) < thread->end ())) {
14171421 thread->set_top (start + instance_size);
1422+ NOT_IN_PRODUCT (thread->isolate ()->class_table ()->UpdateAllocatedNew (
1423+ kFloat32x4Cid , instance_size));
14181424 RawFloat32x4* result = Float32x4::RawCast (
14191425 InitializeHeader (start, kFloat32x4Cid , instance_size));
14201426 value.writeTo (result->ptr ()->value_ );
@@ -1445,6 +1451,8 @@ DART_NOINLINE bool Interpreter::AllocateFloat64x2(Thread* thread,
14451451 const uword start = thread->top ();
14461452 if (LIKELY ((start + instance_size) < thread->end ())) {
14471453 thread->set_top (start + instance_size);
1454+ NOT_IN_PRODUCT (thread->isolate ()->class_table ()->UpdateAllocatedNew (
1455+ kFloat64x2Cid , instance_size));
14481456 RawFloat64x2* result = Float64x2::RawCast (
14491457 InitializeHeader (start, kFloat64x2Cid , instance_size));
14501458 value.writeTo (result->ptr ()->value_ );
@@ -1479,6 +1487,8 @@ bool Interpreter::AllocateArray(Thread* thread,
14791487 const uword start = thread->top ();
14801488 if (LIKELY ((start + instance_size) < thread->end ())) {
14811489 thread->set_top (start + instance_size);
1490+ NOT_IN_PRODUCT (thread->isolate ()->class_table ()->UpdateAllocatedNew (
1491+ kArrayCid , instance_size));
14821492 RawArray* result =
14831493 Array::RawCast (InitializeHeader (start, kArrayCid , instance_size));
14841494 result->ptr ()->type_arguments_ = type_args;
@@ -1512,6 +1522,8 @@ bool Interpreter::AllocateContext(Thread* thread,
15121522 const uword start = thread->top ();
15131523 if (LIKELY ((start + instance_size) < thread->end ())) {
15141524 thread->set_top (start + instance_size);
1525+ NOT_IN_PRODUCT (thread->isolate ()->class_table ()->UpdateAllocatedNew (
1526+ kContextCid , instance_size));
15151527 RawContext* result =
15161528 Context::RawCast (InitializeHeader (start, kContextCid , instance_size));
15171529 result->ptr ()->num_variables_ = num_context_variables;
@@ -1542,6 +1554,8 @@ bool Interpreter::AllocateClosure(Thread* thread,
15421554 const uword start = thread->top ();
15431555 if (LIKELY ((start + instance_size) < thread->end ())) {
15441556 thread->set_top (start + instance_size);
1557+ NOT_IN_PRODUCT (thread->isolate ()->class_table ()->UpdateAllocatedNew (
1558+ kClosureCid , instance_size));
15451559 RawClosure* result =
15461560 Closure::RawCast (InitializeHeader (start, kClosureCid , instance_size));
15471561 RawObject* null_value = Object::null ();
@@ -2481,6 +2495,8 @@ RawObject* Interpreter::Call(RawFunction* function,
24812495 const uword start = thread->top ();
24822496 if (LIKELY ((start + instance_size) < thread->end ())) {
24832497 thread->set_top (start + instance_size);
2498+ NOT_IN_PRODUCT (thread->isolate ()->class_table ()->UpdateAllocatedNew (
2499+ class_id, instance_size));
24842500 RawObject* result = InitializeHeader (start, class_id, instance_size);
24852501 for (intptr_t offset = sizeof (RawInstance); offset < instance_size;
24862502 offset += kWordSize ) {
@@ -2512,6 +2528,8 @@ RawObject* Interpreter::Call(RawFunction* function,
25122528 const uword start = thread->top ();
25132529 if (LIKELY ((start + instance_size) < thread->end ())) {
25142530 thread->set_top (start + instance_size);
2531+ NOT_IN_PRODUCT (thread->isolate ()->class_table ()->UpdateAllocatedNew (
2532+ class_id, instance_size));
25152533 RawObject* result = InitializeHeader (start, class_id, instance_size);
25162534 for (intptr_t offset = sizeof (RawInstance); offset < instance_size;
25172535 offset += kWordSize ) {
0 commit comments