From 8f6132cb96fff8535e4adab1494eef8cca8a27c6 Mon Sep 17 00:00:00 2001 From: Jan Kotas Date: Fri, 13 Feb 2015 18:18:27 -0800 Subject: [PATCH] Fixed comments, replaced references to Evanesco with ARM --- src/vm/exceptionhandling.cpp | 6 +++--- src/vm/gcenv.cpp | 2 +- src/vm/stackwalk.cpp | 14 +++++++------- src/vm/threads.h | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/vm/exceptionhandling.cpp b/src/vm/exceptionhandling.cpp index 1666f5e..2c9d329 100644 --- a/src/vm/exceptionhandling.cpp +++ b/src/vm/exceptionhandling.cpp @@ -189,7 +189,7 @@ StackWalkAction UpdateObjectRefInResumeContextCallback(CrawlFrame* pCF, LPVOID p // // It is possible that a managed frame may execute a PInvoke after performing a stackalloc: // - // 1) The Evanesco JIT will always inline the PInvoke in the managed frame, whether or not the frame + // 1) The ARM JIT will always inline the PInvoke in the managed frame, whether or not the frame // contains EH. As a result, the ICF will live in the same frame which performs stackalloc. // // 2) JIT64 will only inline the PInvoke in the managed frame if the frame *does not* contain EH. If it does, @@ -197,11 +197,11 @@ StackWalkAction UpdateObjectRefInResumeContextCallback(CrawlFrame* pCF, LPVOID p // from the one (ILStub) that contains the ICF. // // Thus, for the scenario where the catch handler lives in the frame that performed stackalloc, in case of - // Evanesco JIT, the SP returned by the OS will be the SP *after* the stackalloc has happened. However, + // ARM JIT, the SP returned by the OS will be the SP *after* the stackalloc has happened. However, // the stackwalker will invoke this callback with the CrawlFrameSP that was initialized at the time ICF was setup, i.e., // it will be the SP after the prolog has executed (refer to InlinedCallFrame::UpdateRegDisplay). // - // Thus, checking only the SP will not work for this scenario when using the Evanesco JIT. + // Thus, checking only the SP will not work for this scenario when using the ARM JIT. // // To address this case, the callback data also contains the frame pointer (FP) passed by the OS. This will // be the value that is saved in the "CalleeSavedFP" field of the InlinedCallFrame during ICF diff --git a/src/vm/gcenv.cpp b/src/vm/gcenv.cpp index ceba57c..a342533 100644 --- a/src/vm/gcenv.cpp +++ b/src/vm/gcenv.cpp @@ -180,7 +180,7 @@ StackWalkAction GcStackCrawlCallBack(CrawlFrame* pCF, VOID* pData) bool fReportGCReferences = true; #if defined(WIN64EXCEPTIONS) - // On Win64 and ARM, we may have unwound this crawlFrame and thus, shouldn't report the invalid + // We may have unwound this crawlFrame and thus, shouldn't report the invalid // references it may contain. fReportGCReferences = pCF->ShouldCrawlframeReportGCReferences(); #endif // defined(WIN64EXCEPTIONS) diff --git a/src/vm/stackwalk.cpp b/src/vm/stackwalk.cpp index 4afbeb7..2fc8f04 100644 --- a/src/vm/stackwalk.cpp +++ b/src/vm/stackwalk.cpp @@ -1673,15 +1673,15 @@ ProcessFuncletsForGCReporting: // When enumerating GC references for "liveness" reporting, depending upon the architecture, // the reponsibility of who reports what varies: // - // 1) On x86, Evanesco (ARM) and X64 (via RyuJIT) the funclet reports all references belonging to itself and its parent method. + // 1) On x86, ARM and X64 (via RyuJIT) the funclet reports all references belonging to itself and its parent method. // // 2) X64 (via JIT64) has the reporting distributed between the funclets and the parent method. // If some reference(s) get double reported, JIT64 can handle that by playing conservative. // - // 3) On Evanesco, the reporting is done by funclets (if present). Otherwise, the primary method + // 3) On ARM, the reporting is done by funclets (if present). Otherwise, the primary method // does it. // - // On x64 and Evanesco, the GCStackCrawlCallback is invoked with a new flag indicating that + // On x64 and ARM, the GCStackCrawlCallback is invoked with a new flag indicating that // the stackwalk is being done for GC reporting purposes - this flag is GC_FUNCLET_REFERENCE_REPORTING. // The presence of this flag influences how stackwalker will enumerate frames, which frames will // result in the callback being invoked, etc. The idea is that we want to report only the @@ -1689,7 +1689,7 @@ ProcessFuncletsForGCReporting: // double report (even though JIT64 does it today), reporting of dead frames, and makes the // design of reference reporting more consistent (and easier to understand) across architectures. // - // NOTE: This flag is applicable only to X64 and Evanesco (ARM). + // NOTE: This flag is applicable only to X64 and ARM. // // The algorithm is as follows (at a conceptual level): // @@ -1708,7 +1708,7 @@ ProcessFuncletsForGCReporting: // 2) If another frame enumerated, goto (1). Otherwise, stackwalk is complete. // // Note: When a flag is passed to the callback indicating that the funclet for a parent frame has already - // reported the references, RyuJIT (Evanesco) will simply do nothing and return from the callback. + // reported the references, RyuJIT (ARM) will simply do nothing and return from the callback. // JIT64, on the other hand, will ignore the flag and perform reporting (again), like it does today. // // Note: For non-filter funcelts there is a small window during unwind where we have conceptually unwound past a @@ -2291,7 +2291,7 @@ StackWalkAction StackFrameIterator::NextRaw(void) goto Cleanup; } #else // _TARGET_X86_ - // On WIN64 and ARM, we are done handling the skipped explicit frame at this point. So move on to the + // We are done handling the skipped explicit frame at this point. So move on to the // managed stack frame. m_crawl.isFrameless = true; m_crawl.codeInfo = m_cachedCodeInfo; @@ -2309,7 +2309,7 @@ StackWalkAction StackFrameIterator::NextRaw(void) #ifdef _TARGET_X86_ // - // x86 has the JIT generate try/finallys to leave monitors + // For non-x86 platforms, the JIT generates try/finally to leave monitors; for x86, the VM handles the monitor // #if defined(STACKWALKER_MAY_POP_FRAMES) if (m_flags & POPFRAMES) diff --git a/src/vm/threads.h b/src/vm/threads.h index 355051d..de4e7e7 100644 --- a/src/vm/threads.h +++ b/src/vm/threads.h @@ -3544,7 +3544,7 @@ public: #define NOTIFY_ON_INITIAL_NATIVE_CONTEXT 0x4000 // Indicates that we are enumerating GC references and should follow appropriate - // callback rules for parent methods vs funclets. Only supported on X64 and Evanesco. + // callback rules for parent methods vs funclets. Only supported on X64 and ARM. // // Refer to StackFrameIterator::Filter for detailed comments on this flag. #define GC_FUNCLET_REFERENCE_REPORTING 0x8000 -- 2.7.4