Skip to content
This repository
tree: bbf7bbd230
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 36 lines (25 sloc) 1.32 kb
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
we need to add:

* Threads need to be better supported. So realize each thread as a
  ThreadContext object (with corresponding Thread instance, moved to
  the setting) created when the LastFrameNode stack is. ThreadContext
  should probably own the LastFrameNode stack.

* StatementList children need to use stmt NN rather than ann NN, to
  produce the correct sequence points.

* Add a debug event queue, which is an object pipe getting events

* Breakpoint operator: makes a condvar, signals a debug event, waits
  for clearance to continue.

* More inspection and setting operators on Frame, SubInfo, etc. We
  especially want &wrap and a facility for on-stack replacement.

* New debug runloop (can be enabled/disabled from code), features:

  + Signal breakpoint after N trampoline bounces
  + Run either normal code or code instrumented to turn stmt into a
    return-to-runloop
  + Per-thread breakpoint position list - break at (sub, seqpt)
  + Asynchronous stopping

* Watchpointing: Tie _any_ variable (Not sure if this can work
  performantly in the C# impl; tying the "RO vars" will be
  C#-specific in any case)

* a Niecza/DebugInterface.pm6 module to expose all this. Perhaps,
  have Niecza::Thread in the setting and re-export it as Thread in
  Threads.pm6.

* Add a pretty GUI or curses debugger :)
Something went wrong with that request. Please try again.