Author: [email protected]
Date: Thu Jun 11 12:44:48 2009
New Revision: 2148

Modified:
    branches/bleeding_edge/include/v8.h

Log:
Lars spotted that Handle::operator -> and * are not inlined.  That  
apparently buys us almost ~10%
speedup for some DOM operations.

Review URL: http://codereview.chromium.org/122038

Modified: branches/bleeding_edge/include/v8.h
==============================================================================
--- branches/bleeding_edge/include/v8.h (original)
+++ branches/bleeding_edge/include/v8.h Thu Jun 11 12:44:48 2009
@@ -212,9 +212,9 @@
     */
    bool IsEmpty() const { return val_ == 0; }

-  T* operator->() const;
+  T* operator->() const { return val_; }

-  T* operator*() const;
+  T* operator*() const { return val_; }

    /**
     * Sets the handle to be empty. IsEmpty() will then return true.
@@ -2508,18 +2508,6 @@
  void Persistent<T>::ClearWeak() {
    V8::ClearWeak(reinterpret_cast<void**>(**this));
  }
-
-template <class T>
-T* Handle<T>::operator->() const {
-  return val_;
-}
-
-
-template <class T>
-T* Handle<T>::operator*() const {
-  return val_;
-}
-

  Local<Value> Arguments::operator[](int i) const {
    if (i < 0 || length_ <= i) return Local<Value>(*Undefined());

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to