freenode/#sicl - IRC Chatlog
Search
11:55:20
Gnuxie[m]
hi beach, I'm wanting to make a start on the disassembler today, do you want me to go over my plan?
12:00:28
beach
I am expecting a visit in an hour and sometimes they come early (not likely though), so if I disappear suddenly, then that's it.
12:10:58
Gnuxie[m]
so basically, first I'm going to intern all the instructions in the database by their first opcode byte to support the disassembler
12:11:50
beach
And you know that some instructions have multiple opcode, because some register number may be added to the opcode, yes?
12:18:16
Gnuxie[m]
from the disassembler there will be another table that is used to dispatch on the first opcode byte and decide what to do with the prefixes that are collected, this table is just essentially going to be used because we only intern them by mnemonic otherwise and it's not useful
12:21:39
beach
OK. After that, you should be able to determine whether there is the reg/rm byte or whatever it's called, and that one has a fixed format.
12:22:44
beach
You should also consider whether you want to create a "table interpreter", or generate code from those tables, like in the form of TAGBODYs.
12:23:31
beach
The latter will be faster, but we don't really need performance from the disassembler.
12:25:13
beach
I totally agree. I just don't know which one is easier to maintain; a table interpreter or a table compiler.
12:30:49
beach
Oh, and consider whether you want to use a vector of 256 elements or a hash table for the opcode table.
12:33:35
Gnuxie[m]
I've gone with the vector for now, but I don't plan on making it an issue to change later on
12:37:58
Gnuxie[m]
the process seems really long, I had a paired programming interview thing on Friday that seemed to go really well but they've not contacted me since then
12:39:01
beach
Sounds good. Yes, it can take longer than that. Did they say what method they were going to use to contact you?
17:30:32
Bike
::notify karlosz what if we introduce multiple-to-fixed in meta-evaluate? it seems simple to have meta-evaluate collapse (mv(-local)-call f known-values...) to a call and then try to interpolate again
18:21:02
Bike
::notify karlosz as opposed to leaving things as mv-calls all the way to mir level, i mean
19:38:59
Bike
but this wouldn't be like the old multiple-to-fixed since the number of values is known
19:43:49
Bike
still, i think this is the main thing slowing the mirtype branch. i guess the alternate would be doing it at mir level... might as well try that i suppose...
22:10:17
Colleen
karlosz: Bike said 4 hours, 39 minutes ago: what if we introduce multiple-to-fixed in meta-evaluate? it seems simple to have meta-evaluate collapse (mv(-local)-call f known-values...) to a call and then try to interpolate again
22:10:18
Colleen
karlosz: Bike said 3 hours, 49 minutes ago: as opposed to leaving things as mv-calls all the way to mir level, i mean