Index: src/deoptimizer.h |
diff --git a/src/deoptimizer.h b/src/deoptimizer.h |
index 895ed669091e0f6040e1ca1d1e2b7b6880bb1521..97b2206b6aa4c7577d9204c28059241f706b7723 100644 |
--- a/src/deoptimizer.h |
+++ b/src/deoptimizer.h |
@@ -210,32 +210,45 @@ class Deoptimizer : public Malloced { |
// The size in bytes of the code required at a lazy deopt patch site. |
static int patch_size(); |
- // Patch all stack guard checks in the unoptimized code to |
+ // Patch all interrupts with allowed loop depth in the unoptimized code to |
// unconditionally call replacement_code. |
- static void PatchStackCheckCode(Code* unoptimized_code, |
- Code* check_code, |
- Code* replacement_code); |
+ static void PatchInterruptCode(Code* unoptimized_code, |
+ Code* interrupt_code, |
+ Code* replacement_code); |
- // Patch stack guard check at instruction before pc_after in |
+ // Patch the interrupt at the instruction before pc_after in |
// the unoptimized code to unconditionally call replacement_code. |
- static void PatchStackCheckCodeAt(Code* unoptimized_code, |
+ static void PatchInterruptCodeAt(Code* unoptimized_code, |
+ Address pc_after, |
+ Code* interrupt_code, |
+ Code* replacement_code); |
+ |
+ // Change all patched interrupts patched in the unoptimized code |
+ // back to normal interrupts. |
+ static void RevertInterruptCode(Code* unoptimized_code, |
+ Code* interrupt_code, |
+ Code* replacement_code); |
+ |
+ // Change patched interrupt in the unoptimized code |
+ // back to a normal interrupt. |
+ static void RevertInterruptCodeAt(Code* unoptimized_code, |
Address pc_after, |
- Code* check_code, |
+ Code* interrupt_code, |
Code* replacement_code); |
- // Change all patched stack guard checks in the unoptimized code |
- // back to a normal stack guard check. |
- static void RevertStackCheckCode(Code* unoptimized_code, |
- Code* check_code, |
- Code* replacement_code); |
- |
- // Change all patched stack guard checks in the unoptimized code |
- // back to a normal stack guard check. |
- static void RevertStackCheckCodeAt(Code* unoptimized_code, |
+#ifdef DEBUG |
+ static bool InterruptCodeIsPatched(Code* unoptimized_code, |
Address pc_after, |
- Code* check_code, |
+ Code* interrupt_code, |
Code* replacement_code); |
+ // Verify that all back edges of a certain loop depth are patched. |
+ static void VerifyInterruptCode(Code* unoptimized_code, |
+ Code* interrupt_code, |
+ Code* replacement_code, |
+ int loop_nesting_level); |
+#endif // DEBUG |
+ |
~Deoptimizer(); |
void MaterializeHeapObjects(JavaScriptFrameIterator* it); |