1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-08 03:27:04 +09:00

Fixes after rebasing

This commit is contained in:
vsadov 2023-05-29 18:27:11 -07:00
parent 66485f9d6b
commit 4bc84d3255
7 changed files with 51 additions and 14 deletions

View file

@ -189,7 +189,7 @@ unsigned SatoriGC::WhichGeneration(Object* obj)
if (so->IsExternal())
{
// never collected -> 3
return 3;
return 2147483647;
}
return (unsigned)so->ContainingRegion()->Generation();
@ -841,3 +841,18 @@ void SatoriGC::BulkMoveWithWriteBarrier(void* dst, const void* src, size_t byteC
SetCardsAfterBulkCopy((size_t)dst, (size_t)src, byteCount);
}
}
int SatoriGC::RefreshMemoryLimit()
{
return 0;
}
enable_no_gc_region_callback_status SatoriGC::EnableNoGCRegionCallback(NoGCRegionCallbackFinalizerWorkItem* callback, uint64_t callback_threshold)
{
return enable_no_gc_region_callback_status();
}
FinalizerWorkItem* SatoriGC::GetExtraWorkForFinalization()
{
return nullptr;
}

View file

@ -157,6 +157,11 @@ public:
// Inherited via IGCHeapInternal
virtual void BulkMoveWithWriteBarrier(void* dst, const void* src, size_t byteCount) override;
// Inherited via IGCHeapInternal
virtual int RefreshMemoryLimit() override;
virtual enable_no_gc_region_callback_status EnableNoGCRegionCallback(NoGCRegionCallbackFinalizerWorkItem* callback, uint64_t callback_threshold) override;
virtual FinalizerWorkItem* GetExtraWorkForFinalization() override;
};
#endif

View file

@ -514,6 +514,7 @@ LEAF_END RhpAssignRef, _TEXT
//
LEAF_ENTRY RhpByRefAssignRef, _TEXT
lea r10, [rsi + 8]
ALTERNATE_ENTRY RhpByRefAssignRefAVLocation1
mov rsi, [rsi]
// See if assignment is into heap
@ -525,6 +526,7 @@ LEAF_ENTRY RhpByRefAssignRef, _TEXT
.balign 16
NotInHeap_RhpByRefAssignRef:
ALTERNATE_ENTRY RhpByRefAssignRefAVLocation2
mov [rdi], rsi
add rdi, 8
mov rsi, r10

View file

@ -516,22 +516,24 @@ LEAF_END RhpAssignRef, _TEXT
;; rcx, r8, r9, r11: trashed
;;
LEAF_ENTRY RhpByRefAssignRef, _TEXT
mov rcx, rdi
mov rdx, [rsi]
add rdi, 8h
add rsi, 8h
mov rcx, rdi
ALTERNATE_ENTRY RhpByRefAssignRefAVLocation1
mov rdx, [rsi]
add rdi, 8h
add rsi, 8h
; See if assignment is into heap
mov rax, rcx
shr rax, 30 ; round to page size ( >> PAGE_BITS )
add rax, [g_card_bundle_table] ; fetch the page byte map
cmp byte ptr [rax], 0
jne RhpAssignRef
; See if assignment is into heap
mov rax, rcx
shr rax, 30 ; round to page size ( >> PAGE_BITS )
add rax, [g_card_bundle_table] ; fetch the page byte map
cmp byte ptr [rax], 0
jne RhpAssignRef
align 16
NotInHeap:
mov [rcx], rdx
ret
ALTERNATE_ENTRY RhpByRefAssignRefAVLocation2
mov [rcx], rdx
ret
LEAF_END RhpByRefAssignRef, _TEXT
LEAF_ENTRY RhpCheckedLockCmpXchg, _TEXT

View file

@ -417,6 +417,8 @@ LOCAL_LABEL(NoBarrierXchg):
//
LEAF_ENTRY RhpByRefAssignRefArm64, _TEXT
ALTERNATE_ENTRY RhpByRefAssignRefAVLocation1
ALTERNATE_ENTRY RhpByRefAssignRefAVLocation2
ldr x15, [x13], 8
b C_FUNC(RhpCheckedAssignRefArm64)

View file

@ -217,6 +217,7 @@ INVALIDGCVALUE EQU 0xCCCCCCCD
LEAF_ENTRY RhpByRefAssignRefArm64, _TEXT
ALTERNATE_ENTRY RhpByRefAssignRefAVLocation1
ALTERNATE_ENTRY RhpByRefAssignRefAVLocation2
ldr x15, [x13], 8
b RhpCheckedAssignRefArm64
@ -413,6 +414,7 @@ NoBarrierXchg
;;
LEAF_ENTRY RhpByRefAssignRefArm64, _TEXT
RhpByRefAssignRefAVLocation1
ldr x15, [x13], 8
b RhpCheckedAssignRefArm64

View file

@ -90,10 +90,16 @@
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/GC/API/GC/GetGCMemoryInfo/*">
<Issue>Satori GC apis</Issue>
</ExcludeList>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/GC/API/GC/Collect_Aggressive/*">
<Issue>Satori GC apis</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/GC/API/GC/Collect_Aggressive_MultipleParameters/*">
<Issue>Satori GC apis</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/GC/API/NoGCRegion/**">
<Issue>Satori GC apis</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/JIT/Methodical/doublearray/**">
<Issue>Satori GC apis, LOH expectations</Issue>
@ -109,6 +115,9 @@
<ExcludeList Include="$(XunitTestBinBase)/profiler/gc/gcbasic/*">
<Issue>Satori profiler tracing</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/profiler/gc/nongcheap/*">
<Issue>Satori profiler tracing</Issue>
</ExcludeList>
<ExcludeList Include="$(XunitTestBinBase)/profiler/gc/gc/*">
<Issue>Satori profiler tracing</Issue>
</ExcludeList>