@@ -442,10 +442,12 @@ void LightUnwindStackFrame(
442
442
Is the function currently at a "GC safe point" ?
443
443
Can call EnumGcRefs() successfully
444
444
*/
445
+ virtual
445
446
bool IsGcSafe ( EECodeInfo *pCodeInfo,
446
447
DWORD dwRelOffset);
447
448
448
449
#if defined(TARGET_ARM) || defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64)
450
+ virtual
449
451
bool HasTailCalls (EECodeInfo *pCodeInfo);
450
452
#endif // TARGET_ARM || TARGET_ARM64 || TARGET_LOONGARCH64 || defined(TARGET_RISCV64)
451
453
@@ -456,6 +458,7 @@ bool HasTailCalls(EECodeInfo *pCodeInfo);
456
458
object have to be individually enumerated).
457
459
Returns success of operation.
458
460
*/
461
+ virtual
459
462
bool EnumGcRefs (PREGDISPLAY pContext,
460
463
EECodeInfo *pCodeInfo,
461
464
unsigned flags,
@@ -473,6 +476,7 @@ bool EnumGcRefsConservative(PREGDISPLAY pRD,
473
476
LPVOID hCallBack);
474
477
#endif // FEATURE_CONSERVATIVE_GC
475
478
479
+ virtual
476
480
OBJECTREF GetInstance (
477
481
PREGDISPLAY pContext,
478
482
EECodeInfo * pCodeInfo);
@@ -485,8 +489,8 @@ PTR_VOID GetParamTypeArg(PREGDISPLAY pContext,
485
489
EECodeInfo * pCodeInfo);
486
490
487
491
// Returns the type of the context parameter (this, methodtable, methoddesc, or none)
488
- GenericParamContextType GetParamContextType (PREGDISPLAY pContext,
489
- EECodeInfo * pCodeInfo);
492
+ virtual GenericParamContextType GetParamContextType (PREGDISPLAY pContext,
493
+ EECodeInfo * pCodeInfo);
490
494
491
495
#if defined(FEATURE_EH_FUNCLETS) && defined(USE_GC_INFO_DECODER)
492
496
/*
@@ -507,6 +511,7 @@ PTR_VOID GetExactGenericsToken(SIZE_T baseStackSlot,
507
511
Returns the offset of the GuardStack cookie if it exists.
508
512
Returns NULL if there is no cookie.
509
513
*/
514
+ virtual
510
515
void * GetGSCookieAddr (PREGDISPLAY pContext,
511
516
EECodeInfo * pCodeInfo,
512
517
unsigned flags,
@@ -517,6 +522,7 @@ void * GetGSCookieAddr(PREGDISPLAY pContext,
517
522
/*
518
523
Returns true if the given IP is in the given method's prolog or an epilog.
519
524
*/
525
+ virtual
520
526
bool IsInPrologOrEpilog (
521
527
DWORD relOffset,
522
528
GCInfoToken gcInfoToken,
@@ -525,7 +531,7 @@ bool IsInPrologOrEpilog(
525
531
/*
526
532
Returns true if the given IP is in the synchronized region of the method (valid for synchronized functions only)
527
533
*/
528
- bool IsInSynchronizedRegion (
534
+ virtual bool IsInSynchronizedRegion (
529
535
DWORD relOffset,
530
536
GCInfoToken gcInfoToken,
531
537
unsigned flags);
@@ -534,6 +540,7 @@ bool IsInSynchronizedRegion(
534
540
/*
535
541
Returns the size of a given function.
536
542
*/
543
+ virtual
537
544
size_t GetFunctionSize (GCInfoToken gcInfoToken);
538
545
539
546
/*
0 commit comments