Toolverse
Wszystkie skille

add-new-jit-ee-api

autor: dotnet

Rozszerz interfejs JIT-VM o nowe API dla kompilatora .NET

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Autor
dotnet
Kategoria
Backend

O skillu

Umiejętność wspierająca dodawanie nowych API do interfejsu JIT-EE (JIT-VM) w repozytorium .NET Runtime. Interfejs JIT-VM definiuje kanały komunikacji między kompilatorem JIT a maszyną wirtualną. Skill automatyzuje proces: od zdefiniowania sygnatury C-like, przez aktualizację pliku ThunkInput.txt, uruchomienie generatora kodu, aż po dodanie deklaracji w klasach ICorStaticInfo i CorInfoImpl. Przeznaczony dla deweloperów pracujących nad runtime'em .NET.

Jak używać

  1. Przygotuj sygnaturę nowego API w formacie C-like (np. CORINFO_METHOD_HANDLE getUnboxedEntry(CORINFO_METHOD_HANDLE ftn, bool* requiresInstMethodTableArg);). Jeśli jej nie masz, skill poprosi Cię o podanie.

  2. Otwórz plik <repo_root>/src/coreclr/tools/Common/JitInterface/ThunkGenerator/ThunkInput.txt i dodaj nową definicję API na odpowiednim miejscu, blisko podobnych sygnatur, bez usuwania istniejących wpisów.

  3. Uruchom skrypt generujący: <repo_root>/src/coreclr/tools/Common/JitInterface/ThunkGenerator/gen.sh (na Windows: gen.bat). Upewnij się, że uruchamiasz go z prawidłowego katalogu.

  4. Przejdź do pliku <repo_root>/src/coreclr/inc/corinfo.h, znajdź klasę ICorStaticInfo i dodaj nową deklarację metody wirtualnej na końcu klasy, zachowując format z istniejącymi metodami.

  5. Otwórz plik <repo_root>/src/coreclr/tools/Common/JitInterface/CorInfoImpl.cs i dodaj implementację nowego API na końcu klasy CorInfoImpl. Sprawdź plik CorInfoImpl_generated.cs, aby zobaczyć, jak parametry są reprezentowane w C#.

  6. Zweryfikuj, że wszystkie pliki zostały zaktualizowane, a kod się kompiluje bez błędów.

Podobne skille