Disable code flushing for native SharedFunctionInfo.
authormstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 7 May 2013 15:18:01 +0000 (15:18 +0000)
committermstarzinger@chromium.org <mstarzinger@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 7 May 2013 15:18:01 +0000 (15:18 +0000)
R=hpayer@google.com
TEST=cctest/test-api/Threading4

Review URL: https://codereview.chromium.org/15018012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

src/objects-visiting-inl.h

index 6a64cbf..add247e 100644 (file)
@@ -571,6 +571,12 @@ bool StaticMarkingVisitor<StaticVisitor>::IsFlushable(
     return false;
   }
 
+  // If this is a native function we do not flush the code because %SetCode
+  // breaks the one-to-one relation between SharedFunctionInfo and Code.
+  if (shared_info->native()) {
+    return false;
+  }
+
   if (FLAG_age_code) {
     return shared_info->code()->IsOld();
   } else {