-
Notifications
You must be signed in to change notification settings - Fork 3
/
pendientes
40 lines (35 loc) · 2.37 KB
/
pendientes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
Aldana
=======
-
Lautaro
=======
-
Martin
=======
-
Bitacora bugs resueltos
=============
1. codegen: faltaban poner los % para algunas instrucciones
2. codegen: los argumentos estaban al reves para la inst. cmp
3. codegen: la division no admitia constantes, la reformatie, introduje un error, la volvi a arreglar
4. codegen: para referenciar strings se hace de una forma rara que busque en google
5. coloreo: le reste los precolored a initial adentro de la funcion build
6. assem: la forma de almacenar strings quedo de x86, lo pase a 64
7. frame: los registros seguian la convencion de microsoft en lugar de la de linux (System V AMD64 ABI)
8. runtime.c: la funcion runtime llamaba al main del tiger pero tenia mal el nombre
9. utils: small fix en la función endswith.
10. include: arreglo bug en funcionalidad include: agregaba : en las etiquetas y a gcc no le gustaba
11. frame: faltaban poner los argregs como callersaves
12. codegen: faltaban unos parentesis en MEM(e1)
13. codegen: CALL tenía codigo de x86 (no tenia en cuenta los argumentos en registro cuando limpiaba la pila)
14. liveness: ArrayToList armaba la lista al reves, no se como funciono liveness si armaba todo al reves.
15. regalloc: el rewrite no tenia en cuenta que algunas veces en las OPER{src,dst,..} src y dst podian no ser disjuntos (ej: addq $5, %rdx)
16. ajenos/good/test06.tig falla por un error de llamada y no por recursion infinita como debería (creo) (No fallaba)
17. cuando se corren los tests en algunos aparece: ../tests/test: line 166: warning: command substitution: ignored null byte in input.
18. Las strings se imprimen raro. Ej: abrir tests/ajenos/good/queens.out con geany hay un montón de carácteres "STX" y "EOT" que no deberían estar ahí. A su vez agregue un caso tests/asm/concat.tig donde se imprimen caracteres de más.
19. En la inicialización de records (RecordExp de seman) los argumentos se mandaban en orden alfabetico y no en el orden que indicaba la estructura.
20. En la implementación de call (codegen) las llamadas no respetaban la alineacion a 16 bytes del stack por lo que había problemas al interactuar con codigo C. En particular esto pasaba cuando se quería inicializar un record con mas de 6 campos (tests/asm/big_record.tig), porque se llama a allocRecord que esta en C.
21. En la implementacion de call (codegen) los argumentos se pusheaban en la pila al revés
Bugs a solucionar
=============
-