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:
parent
66485f9d6b
commit
4bc84d3255
7 changed files with 51 additions and 14 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue