Feature request: implement Windows X86 thiscall
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 30/100
Direzione di ricerca
Inizia individuando l’implementazione della convenzione di chiamata x86 Windows per attributes(thiscall); l’issue fornisce la dichiarazione C e la sequenza di istruzioni prevista come riferimento comportamentale. Il lavoro è completato quando il primo argomento viene inserito in ECX, gli argomenti rimanenti vengono inseriti nello stack e il callee ripulisce lo stack durante la chiamata a librerie C++.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Basically, the first argument to a function specified as a thiscall (calling convention, attributes(thiscall)) should be placed into ECX, all other arguments are pushed to the stack, the callee does stack cleanup. It is a windows stdcall with the first argument passed to ecx. This feature would allow calling into C++ libraries.
// Calling this function:
attributes(thiscall) void f(void* this, int a, int b, int c);
// e.g., using this line: f((void*) 0xBEEFBEEF, 1, 2, 3)
// Should produce this code:
push 3
push 2
push 1
mov ecx, 0xBEEFBEEF
call f // the callee cleans up the stack
- Lingua principale
- C
- Stelle
- 64
- Fork
- 27
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
libretro/libretro-common#233 ·
-
area:lint-tooling bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
InauguralSystems/EigenScript#1340 ·
I maintainer di solito rispondono entro 1 giorno
-
[Bug]: chunk_span_bounds and _validated_chunk_spans reject Pydantic models ChunkSpan and AudioFileAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
BasedHardware/omi#19047 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100