Version 3.17.2

Removed bogus check for TOP register in deoptimizer. (Chromium issue 176943)

Made the Isolate parameter mandatory for internal HandleScopes. (issue 2487)

Fixed f.apply() optimization when declared arguments are mutated. (issue 2539)

Performance and stability improvements on all platforms.

git-svn-id: http://v8.googlecode.com/svn/trunk@13692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/include/v8.h b/include/v8.h
index 56e176a..dd9c548 100644
--- a/include/v8.h
+++ b/include/v8.h
@@ -40,6 +40,8 @@
 
 // TODO(svenpanne) Remove me when the Chrome bindings are adapted.
 #define V8_DISABLE_DEPRECATIONS 1
+// TODO(dcarney): Remove once Latin-1 transitions in WebKit has stuck.
+#define V8_ONE_BYTE_STRINGS_ENABLED 1
 
 #include "v8stdint.h"
 
@@ -3038,7 +3040,19 @@
   enum EventType {
     CODE_ADDED,
     CODE_MOVED,
-    CODE_REMOVED
+    CODE_REMOVED,
+    CODE_ADD_LINE_POS_INFO,
+    CODE_START_LINE_INFO_RECORDING,
+    CODE_END_LINE_INFO_RECORDING
+  };
+  // Definition of the code position type. The "POSITION" type means the place
+  // in the source code which are of interest when making stack traces to
+  // pin-point the source location of a stack frame as close as possible.
+  // The "STATEMENT_POSITION" means the place at the beginning of each
+  // statement, and is used to indicate possible break locations.
+  enum PositionType {
+    POSITION,
+    STATEMENT_POSITION
   };
 
   // Type of event.
@@ -3047,6 +3061,13 @@
   void* code_start;
   // Size of the instructions.
   size_t code_len;
+  // Script info for CODE_ADDED event.
+  Handle<Script> script;
+  // User-defined data for *_LINE_INFO_* event. It's used to hold the source
+  // code line information which is returned from the
+  // CODE_START_LINE_INFO_RECORDING event. And it's passed to subsequent
+  // CODE_ADD_LINE_POS_INFO and CODE_END_LINE_INFO_RECORDING events.
+  void* user_data;
 
   union {
     // Only valid for CODE_ADDED.
@@ -3057,6 +3078,17 @@
       // Number of chars in str.
       size_t len;
     } name;
+
+    // Only valid for CODE_ADD_LINE_POS_INFO
+    struct {
+      // PC offset
+      size_t offset;
+      // Code postion
+      size_t pos;
+      // The position type.
+      PositionType position_type;
+    } line_info;
+
     // New location of instructions. Only valid for CODE_MOVED.
     void* new_code_start;
   };