diff options
Diffstat (limited to 'deps/v8/src/deoptimizer.h')
-rw-r--r-- | deps/v8/src/deoptimizer.h | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/deps/v8/src/deoptimizer.h b/deps/v8/src/deoptimizer.h index 69aa497f8c..1d4f4770f9 100644 --- a/deps/v8/src/deoptimizer.h +++ b/deps/v8/src/deoptimizer.h @@ -1,4 +1,4 @@ -// Copyright 2010 the V8 project authors. All rights reserved. +// Copyright 2011 the V8 project authors. All rights reserved. // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -128,18 +128,33 @@ class Deoptimizer : public Malloced { static void VisitAllOptimizedFunctions(OptimizedFunctionVisitor* visitor); + // 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 // unconditionally call replacement_code. static void PatchStackCheckCode(Code* unoptimized_code, Code* check_code, Code* replacement_code); + // Patch stack guard check at instruction before pc_after in + // the unoptimized code to unconditionally call replacement_code. + static void PatchStackCheckCodeAt(Address pc_after, + 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 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(Address pc_after, + Code* check_code, + Code* replacement_code); + ~Deoptimizer(); void InsertHeapNumberValues(int index, JavaScriptFrame* frame); |