Version 3.1.1

Perform security checks before fetching the value in Object.getOwnPropertyDescriptor.

Fixed a bug in Array.prototype.splice triggered by passing no arguments.

Fixed bugs in -0 in arithmetic and in Math.pow.

Fixed bugs in the register allocator and in switching from optimized to unoptimized code.

git-svn-id: http://v8.googlecode.com/svn/trunk@6588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/deoptimizer.h b/src/deoptimizer.h
index 69aa497..1d4f477 100644
--- a/src/deoptimizer.h
+++ b/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 @@
 
   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);