Upgrade to Pro — share decks privately, control downloads, hide ads and more …

CoreCLR

 CoreCLR

Siarhei Shchahrykovich

August 23, 2016
Tweet

More Decks by Siarhei Shchahrykovich

Other Decks in Programming

Transcript

  1. 3

  2. Про что я НЕ буду рассказывать • Зачем Вам это

    надо • Как это можно использовать 6
  3. 11

  4. 13

  5. 15

  6. 16

  7. 17

  8. 19

  9. 20

  10. 21

  11. Как читать исходники? 22 Julia Evans /*==================================LENGTH=================================== */ FCIMPL1(INT32, COMString::Length,

    StringObject* str) { FCALL_CONTRACT; FC_GC_POLL_NOT_NEEDED(); if (str == NULL) FCThrow(kNullReferenceException); FCUnique(0x11); return str->GetStringLength(); } FCIMPLEND
  12. Как читать исходники? 23 /*==================================LENGTH=================================== */ FCIMPL1(INT32, COMString::Length, StringObject* str)

    { FCALL_CONTRACT; FC_GC_POLL_NOT_NEEDED(); if (str == NULL) FCThrow(kNullReferenceException); FCUnique(0x11); return str->GetStringLength(); } FCIMPLEND Julia Evans
  13. 27

  14. 28

  15. 29

  16. 30

  17. Как работает дебагер в .Net? .Net app (target) WinDbg (debugger)

    sos.dll Debugger RCT Execution Engine mscordaccore.dll
  18. Как дебажить SOS? .Net app (target) WinDbg (debugger) sos.dll Debugger

    RCT Execution Engine mscordaccore.dll WinDbg2 (debugger)
  19. Что еще посмотреть? • https://github.com/dotnet/llilc LLVM based compiler for .NET

    Core LLVM набор утилит для разработки front-end и back-end • https://github.com/dotnet/corefxlab LowAllocationWebServer MultiValueDictionary • https://github.com/Microsoft/clr-samples Profiling API Samples for CoreCLR 36