Version 3.19.0

Deprecated Context::New which returns Persistent.

Added Persistent<T>::Reset which disposes the handle and redirects it to point to another object.

Deprecated WriteAscii and MayContainNonAscii.

Exposed AssertNoAllocation to API.

Performance and stability improvements on all platforms.

git-svn-id: http://v8.googlecode.com/svn/trunk@14603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
diff --git a/src/frames-inl.h b/src/frames-inl.h
index 7901a5e..1228ccf 100644
--- a/src/frames-inl.h
+++ b/src/frames-inl.h
@@ -98,6 +98,12 @@
 }
 
 
+inline unsigned StackHandler::index() const {
+  const int offset = StackHandlerConstants::kStateOffset;
+  return IndexField::decode(Memory::unsigned_at(address() + offset));
+}
+
+
 inline Object** StackHandler::context_address() const {
   const int offset = StackHandlerConstants::kContextOffset;
   return reinterpret_cast<Object**>(address() + offset);
@@ -216,8 +222,9 @@
 inline Address JavaScriptFrame::GetOperandSlot(int index) const {
   Address base = fp() + JavaScriptFrameConstants::kLocal0Offset;
   ASSERT(IsAddressAligned(base, kPointerSize));
-  ASSERT(type() == JAVA_SCRIPT);
-  ASSERT(index < ComputeOperandsCount());
+  ASSERT_EQ(type(), JAVA_SCRIPT);
+  ASSERT_LT(index, ComputeOperandsCount());
+  ASSERT_LE(0, index);
   // Operand stack grows down.
   return base - index * kPointerSize;
 }