@@ -279,47 +279,9 @@ void HijackFrame::UpdateRegDisplay_Impl(const PREGDISPLAY pRD, bool updateFloats
279279}
280280#endif // FEATURE_HIJACK
281281
282- BOOL isJumpRel32 (PCODE pCode)
282+ bool isBackToBackJump (PCODE pCode)
283283{
284- CONTRACTL {
285- NOTHROW;
286- GC_NOTRIGGER;
287- SUPPORTS_DAC;
288- } CONTRACTL_END;
289-
290- PTR_BYTE pbCode = PTR_BYTE (pCode);
291-
292- return 0xE9 == pbCode[0 ];
293- }
294-
295- //
296- // Given the same pBuffer that was used by emitJump this
297- // method decodes the instructions and returns the jump target
298- //
299- PCODE decodeJump32 (PCODE pBuffer)
300- {
301- CONTRACTL
302- {
303- NOTHROW;
304- GC_NOTRIGGER;
305- SUPPORTS_DAC;
306- }
307- CONTRACTL_END;
308-
309- // jmp rel32
310- _ASSERTE (isJumpRel32 (pBuffer));
311-
312- return rel32Decode (pBuffer+1 );
313- }
314-
315- BOOL isJumpRel64 (PCODE pCode)
316- {
317- CONTRACTL {
318- NOTHROW;
319- GC_NOTRIGGER;
320- SUPPORTS_DAC;
321- } CONTRACTL_END;
322-
284+ LIMITED_METHOD_CONTRACT;
323285 PTR_BYTE pbCode = PTR_BYTE (pCode);
324286
325287 return 0x48 == pbCode[0 ] &&
@@ -328,19 +290,13 @@ BOOL isJumpRel64(PCODE pCode)
328290 0xE0 == pbCode[11 ];
329291}
330292
331- PCODE decodeJump64 (PCODE pBuffer)
293+ PCODE decodeBackToBackJump (PCODE pBuffer)
332294{
333- CONTRACTL
334- {
335- NOTHROW;
336- GC_NOTRIGGER;
337- SUPPORTS_DAC;
338- }
339- CONTRACTL_END;
295+ LIMITED_METHOD_CONTRACT;
340296
341297 // mov rax, xxx
342298 // jmp rax
343- _ASSERTE (isJumpRel64 (pBuffer));
299+ _ASSERTE (isBackToBackJump (pBuffer));
344300
345301 return *PTR_UINT64 (pBuffer+2 );
346302}
@@ -353,11 +309,11 @@ BOOL GetAnyThunkTarget (CONTEXT *pctx, TADDR *pTarget, TADDR *pTargetMethodDesc)
353309 *pTargetMethodDesc = (TADDR)NULL ;
354310
355311 //
356- // Check for something generated by emitJump .
312+ // Check for something generated by emitBackToBackJump .
357313 //
358- if (isJumpRel64 (pThunk))
314+ if (isBackToBackJump (pThunk))
359315 {
360- *pTarget = decodeJump64 (pThunk);
316+ *pTarget = decodeBackToBackJump (pThunk);
361317 return TRUE ;
362318 }
363319
@@ -368,12 +324,6 @@ BOOL GetAnyThunkTarget (CONTEXT *pctx, TADDR *pTarget, TADDR *pTargetMethodDesc)
368324
369325#ifndef DACCESS_COMPILE
370326
371- // Note: This is only used on server GC on Windows.
372- //
373- // This function returns the number of logical processors on a given physical chip. If it cannot
374- // determine the number of logical cpus, or the machine is not populated uniformly with the same
375- // type of processors, this function returns 1.
376-
377327void EncodeLoadAndJumpThunk (LPBYTE pBuffer, LPVOID pv, LPVOID pTarget)
378328{
379329 CONTRACTL
@@ -444,7 +394,7 @@ void emitCOMStubCall (ComCallMethodDesc *pCOMMethodRX, ComCallMethodDesc *pCOMMe
444394 RETURN;
445395}
446396
447- void emitJump (LPBYTE pBufferRX, LPBYTE pBufferRW, LPVOID target)
397+ void emitBackToBackJump (LPBYTE pBufferRX, LPBYTE pBufferRW, LPVOID target)
448398{
449399 CONTRACTL
450400 {
0 commit comments