jart / blink

tiniest x86-64-linux emulator
ISC License
6.89k stars 217 forks source link

Implement single-stepping (int 1 upon TF = 1) #136

Closed tkchia closed 3 months ago

ghaerr commented 1 year ago

Ditto my comment on https://github.com/jart/blink/pull/135#issuecomment-1552148471.

tkchia commented 1 year ago

Hello @ghaerr,

Looks like the tests passed when I retried them. :raised_eyebrow:

ghaerr commented 1 year ago

That's great @tkchia. Now if we could just figure out why they're inconsistently failing... and I'm still wondering about popcnt, since it failed on me twice without any changes to the VM!

tkchia commented 1 year ago

Hello @jart,

I would like your feedback on this PR, as it is somewhat intrusive and impinges on the underlying workings of Blink's JITter.

My general goal is to keep the common case — x86-64 guest code running with JIT enabled, and without single-stepping — as fast as before.

Thank you!

jart commented 1 year ago

I'll take a look into this in a week when I'll have time to give this the attention it needs.