Confirmed users
156
edits
No edit summary |
mNo edit summary |
||
| Line 10: | Line 10: | ||
For example, consider an Ion-generated method having a 32-bit addition. If the addition operation overflows, or say it relies on an object access which happens to return a double, the compiled code is no longer valid. Guards check these assumptions, and when they fail, the method's execution resumes in the interpreter (and may later be recompiled). | For example, consider an Ion-generated method having a 32-bit addition. If the addition operation overflows, or say it relies on an object access which happens to return a double, the compiled code is no longer valid. Guards check these assumptions, and when they fail, the method's execution resumes in the interpreter (and may later be recompiled). | ||
When a guard fails, it is called a ''bailout'', which is explained later. | |||
=Pipeline= | =Pipeline= | ||