-
Notifications
You must be signed in to change notification settings - Fork 150
Boilerplate implementing #121 native bailout - thoughts? #124
Conversation
Codecov Report
@@ Coverage Diff @@
## master #124 +/- ##
==========================================
+ Coverage 66.01% 66.55% +0.54%
==========================================
Files 41 41
Lines 4172 4246 +74
==========================================
+ Hits 2754 2826 +72
- Misses 1147 1149 +2
Partials 271 271
Continue to review full report at Codecov.
|
exec/internal/compile: implement most binary i32 ops in amd64 native …
PTAL :) |
Note: For now I've enabled native bounds-checking only when tag Main benefit of this is having bounds checking over native stack push/pops in the CI test runs. |
jmp.To.Type = obj.TYPE_BRANCH | ||
builder.AddInstruction(jmp) | ||
|
||
b.emitExit(builder, &dirtyRegs{}, CompletionBadBounds|makeExitIndex(ci.idx)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
would there be any usefulness to pass down regs
there?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No - given the registers tracking the stack are now out of bounds, passing the value of regs
would cause a flush of the stack to memory (corrupting it).
This is the beginning of the bailout system.