Revision: 15558
Author:   [email protected]
Date:     Mon Jul  8 08:28:25 2013
Log: Revert "Introduce a handle zapping setting, and enable it by default for release and debug" due to performance impact.

[email protected]

Review URL: https://chromiumcodereview.appspot.com/18325027
http://code.google.com/p/v8/source/detail?r=15558

Modified:
 /branches/bleeding_edge/Makefile
 /branches/bleeding_edge/build/common.gypi
 /branches/bleeding_edge/src/api.cc
 /branches/bleeding_edge/src/api.h
 /branches/bleeding_edge/src/global-handles.cc
 /branches/bleeding_edge/src/handles-inl.h
 /branches/bleeding_edge/src/handles.cc
 /branches/bleeding_edge/src/handles.h

=======================================
--- /branches/bleeding_edge/Makefile    Mon Jul  8 04:29:55 2013
+++ /branches/bleeding_edge/Makefile    Mon Jul  8 08:28:25 2013
@@ -80,13 +80,6 @@
 ifeq ($(extrachecks), off)
   GYPFLAGS += -Dv8_enable_extra_checks=0
 endif
-# handlezapping=on/off
-ifeq ($(handlezapping), on)
-  GYPFLAGS += -Dv8_enable_handle_zapping=1
-endif
-ifeq ($(handlezapping), off)
-  GYPFLAGS += -Dv8_enable_handle_zapping=0
-endif
 # gdbjit=on/off
 ifeq ($(gdbjit), on)
   GYPFLAGS += -Dv8_enable_gdbjit=1
=======================================
--- /branches/bleeding_edge/build/common.gypi   Mon Jul  8 04:29:55 2013
+++ /branches/bleeding_edge/build/common.gypi   Mon Jul  8 08:28:25 2013
@@ -490,7 +490,6 @@
       'Debug': {
         'variables': {
           'v8_enable_extra_checks%': 1,
-          'v8_enable_handle_zapping%': 1,
         },
         'defines': [
           'DEBUG',
@@ -519,9 +518,6 @@
           ['v8_enable_extra_checks==1', {
             'defines': ['ENABLE_EXTRA_CHECKS',],
           }],
-          ['v8_enable_handle_zapping==1', {
-            'defines': ['ENABLE_HANDLE_ZAPPING',],
-          }],
['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', { 'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter',
                         '-Wnon-virtual-dtor', '-Woverloaded-virtual' ],
@@ -554,15 +550,11 @@
       'Release': {
         'variables': {
           'v8_enable_extra_checks%': 0,
-          'v8_enable_handle_zapping%': 1,
         },
         'conditions': [
           ['v8_enable_extra_checks==1', {
             'defines': ['ENABLE_EXTRA_CHECKS',],
           }],
-          ['v8_enable_handle_zapping==1', {
-            'defines': ['ENABLE_HANDLE_ZAPPING',],
-          }],
['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', {
             'cflags!': [
               '-O2',
=======================================
--- /branches/bleeding_edge/src/api.cc  Mon Jul  8 04:29:55 2013
+++ /branches/bleeding_edge/src/api.cc  Mon Jul  8 08:28:25 2013
@@ -7979,7 +7979,7 @@
   isolate_->UnlinkDeferredHandles(this);

   for (int i = 0; i < blocks_.length(); i++) {
-#ifdef ENABLE_HANDLE_ZAPPING
+#ifdef ENABLE_EXTRA_CHECKS
     HandleScope::ZapRange(blocks_[i], &blocks_[i][kHandleBlockSize]);
 #endif
     isolate_->handle_scope_implementer()->ReturnBlock(blocks_[i]);
=======================================
--- /branches/bleeding_edge/src/api.h   Mon Jul  8 04:29:55 2013
+++ /branches/bleeding_edge/src/api.h   Mon Jul  8 08:28:25 2013
@@ -665,22 +665,17 @@
 #ifdef DEBUG
     // SealHandleScope may make the prev_limit to point inside the block.
     if (block_start <= prev_limit && prev_limit <= block_limit) {
-#ifdef ENABLE_HANDLE_ZAPPING
+#ifdef ENABLE_EXTRA_CHECKS
       internal::HandleScope::ZapRange(prev_limit, block_limit);
 #endif
       break;
     }
 #else
-    if (prev_limit == block_limit) {
-#ifdef ENABLE_HANDLE_ZAPPING
-      internal::HandleScope::ZapRange(prev_limit, block_limit);
-#endif
-      break;
-    }
+    if (prev_limit == block_limit) break;
 #endif

     blocks_.RemoveLast();
-#ifdef ENABLE_HANDLE_ZAPPING
+#ifdef ENABLE_EXTRA_CHECKS
     internal::HandleScope::ZapRange(block_start, block_limit);
 #endif
     if (spare_ != NULL) {
=======================================
--- /branches/bleeding_edge/src/global-handles.cc       Mon Jul  8 04:51:34 2013
+++ /branches/bleeding_edge/src/global-handles.cc       Mon Jul  8 08:28:25 2013
@@ -78,7 +78,7 @@
                   Internals::kNodeIsPartiallyDependentShift);
   }

-#ifdef ENABLE_HANDLE_ZAPPING
+#ifdef ENABLE_EXTRA_CHECKS
   ~Node() {
// TODO(1428): if it's a weak handle we should have invoked its callback.
     // Zap the values for eager trapping.
@@ -117,7 +117,7 @@
   void Release() {
     ASSERT(state() != FREE);
     set_state(FREE);
-#ifdef ENABLE_HANDLE_ZAPPING
+#ifdef ENABLE_EXTRA_CHECKS
     // Zap the values for eager trapping.
     object_ = reinterpret_cast<Object*>(kGlobalHandleZapValue);
     class_id_ = v8::HeapProfiler::kPersistentHandleNoClassId;
=======================================
--- /branches/bleeding_edge/src/handles-inl.h   Mon Jul  8 04:29:55 2013
+++ /branches/bleeding_edge/src/handles-inl.h   Mon Jul  8 08:28:25 2013
@@ -134,7 +134,7 @@
     DeleteExtensions(isolate);
   }

-#ifdef ENABLE_HANDLE_ZAPPING
+#ifdef ENABLE_EXTRA_CHECKS
   ZapRange(prev_next, prev_limit);
 #endif
 }
=======================================
--- /branches/bleeding_edge/src/handles.cc      Mon Jul  8 04:29:55 2013
+++ /branches/bleeding_edge/src/handles.cc      Mon Jul  8 08:28:25 2013
@@ -101,7 +101,7 @@
 }


-#ifdef ENABLE_HANDLE_ZAPPING
+#ifdef ENABLE_EXTRA_CHECKS
 void HandleScope::ZapRange(Object** start, Object** end) {
   ASSERT(end - start <= kHandleBlockSize);
   for (Object** p = start; p != end; p++) {
@@ -554,7 +554,7 @@
     LOG(isolate, ApiObjectAccess("interceptor-named-enum", *object));
     result = args.Call(enum_fun);
   }
-#if ENABLE_HANDLE_ZAPPING
+#if ENABLE_EXTRA_CHECKS
   CHECK(result.IsEmpty() || v8::Utils::OpenHandle(*result)->IsJSObject());
 #endif
   return v8::Local<v8::Array>::New(reinterpret_cast<v8::Isolate*>(isolate),
@@ -575,7 +575,7 @@
v8::ToCData<v8::IndexedPropertyEnumerator>(interceptor->enumerator());
     LOG(isolate, ApiObjectAccess("interceptor-indexed-enum", *object));
     result = args.Call(enum_fun);
-#if ENABLE_HANDLE_ZAPPING
+#if ENABLE_EXTRA_CHECKS
CHECK(result.IsEmpty() || v8::Utils::OpenHandle(*result)->IsJSObject());
 #endif
   }
=======================================
--- /branches/bleeding_edge/src/handles.h       Mon Jul  8 04:29:55 2013
+++ /branches/bleeding_edge/src/handles.h       Mon Jul  8 08:28:25 2013
@@ -177,7 +177,7 @@
   // Extend the handle scope making room for more handles.
   static internal::Object** Extend(Isolate* isolate);

-#ifdef ENABLE_HANDLE_ZAPPING
+#ifdef ENABLE_EXTRA_CHECKS
   // Zaps the handles in the half-open interval [start, end).
   static void ZapRange(Object** start, Object** end);
 #endif

--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to