Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fast mode and tracing mode #17

Open
oli-obk opened this Issue Jun 1, 2016 · 5 comments

Comments

Projects
None yet
4 participants
@oli-obk
Copy link
Collaborator

oli-obk commented Jun 1, 2016

Original post: add tail-call optimization

<scott> a call that branches to the return block on success could be TCO'd


Things to add in super fast mode:

  • JIT compilation of MIR

Things to add in fast mode:

  • tail-call optimization

Things to add in trace mode:

  • type information of Allocations
  • taint analysis
  • memory leak analysis

@solson solson added the optimization label Jun 14, 2016

@solson

This comment has been minimized.

Copy link
Member

solson commented Jun 20, 2016

@eddyb pointed out on IRC that this would destroy stack traces.

I think we should have a debug/release mode concept for Miri. (@eddyb called it fast mode and tracking mode.)

@eddyb

This comment has been minimized.

Copy link
Member

eddyb commented Jun 20, 2016

Well, what I mean is that you can run both in succession: if you rarely expect failures, and it's measurably faster not to track debug information, you can re-run on failure to get stack traces, taint analysis and other goodies.
That is, for deterministic use. But one interesting thing is that you can have a third mode: recording only non-determinism (i.e. I/O). Like rr, but specialized to whatever miri will support.

@solson

This comment has been minimized.

Copy link
Member

solson commented Jun 20, 2016

@eddyb Interesting idea. Determinism allows for some neat features.

@oli-obk oli-obk changed the title add tail call optimization fast mode and tracing mode Jun 22, 2016

@RalfJung RalfJung added E-project and removed K-optimization labels Nov 17, 2018

@RalfJung

This comment has been minimized.

Copy link
Member

RalfJung commented Mar 8, 2019

@oli-obk is this still a useful ticket to keep open?

@RalfJung RalfJung added the A-engine label Mar 8, 2019

@oli-obk

This comment has been minimized.

Copy link
Collaborator Author

oli-obk commented Mar 8, 2019

I think the taint analysis and leak analysis would still be helpful. Leak analysis is pretty easy, we just need to make allocate take a Span and put that Span into the Allocation extra data.

Taint analysis seems harder, since you would have to find a way to store the tag information in integers and other Immediate values.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.