-
Notifications
You must be signed in to change notification settings - Fork 17
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
add support for basic blocks #52
Comments
See #55 for progress. |
Hello @mike-hunhoff , |
@akhilguruprasad22 I'd love your help here! I've got a draft PR open that you can continue to develop. It's almost at the finish line but there is some unaddressed feedback that needs to be investigated. I'd recommend you start by reviewing the draft PR + unaddressed feedback. Please let me know if you have any questions! |
I've assigned this issue to you for now. No pressure, if you decide not to move forward please let me know and I'll remove you 😄 |
Got it @mike-hunhoff , thank you. I shall look into this right away. |
Hello @mike-hunhoff , I do have a few questions for you:
There were also some assumptions needing verification:
The 6th point in the following snippet from the ECMA CLI spec file answers this:
While the CLR does support tail calls, the C# compiler doesn't.
I'm yet to document sources which prove this. |
@akhilguruprasad22 thank you for all of your research here. To answer your questions
Yes, instructions following unconditional branches should be considered block leaders with the most likely case being exception handlers. dncil stores exception handler information in https://github.com/mandiant/dncil/blob/main/dncil/cil/body/__init__.py#L40 that includes relevant instruction offsets. We could use this information to detect additional block leaders or default to adding instructions that follow instructions w/out fallthrough as block leaders, e.g. from ECMA I.12.4.2.8 .1
Please rephrase as needed. |
Hello @mike-hunhoff , |
No description provided.
The text was updated successfully, but these errors were encountered: