Revision: 13195
Author:   [email protected]
Date:     Tue Dec 11 09:28:40 2012
Log:      Clear optimized code map during incremental marking.

[email protected]

Review URL: https://codereview.chromium.org/11458011
http://code.google.com/p/v8/source/detail?r=13195

Modified:
 /branches/bleeding_edge/src/objects-inl.h
 /branches/bleeding_edge/src/objects-visiting-inl.h
 /branches/bleeding_edge/src/objects.cc
 /branches/bleeding_edge/src/objects.h

=======================================
--- /branches/bleeding_edge/src/objects-inl.h   Tue Dec 11 02:22:15 2012
+++ /branches/bleeding_edge/src/objects-inl.h   Tue Dec 11 09:28:40 2012
@@ -4279,11 +4279,10 @@

 void SharedFunctionInfo::BeforeVisitingPointers() {
   if (IsInobjectSlackTrackingInProgress()) DetachInitialMap();
+}

-  // Flush optimized code map on major GC.
-  // Note: we may experiment with rebuilding it or retaining entries
-  // which should survive as we iterate through optimized functions
-  // anyway.
+
+void SharedFunctionInfo::ClearOptimizedCodeMap() {
   set_optimized_code_map(Smi::FromInt(0));
 }

=======================================
--- /branches/bleeding_edge/src/objects-visiting-inl.h Thu Nov 15 09:57:40 2012 +++ /branches/bleeding_edge/src/objects-visiting-inl.h Tue Dec 11 09:28:40 2012
@@ -299,6 +299,13 @@
   if (shared->ic_age() != heap->global_ic_age()) {
     shared->ResetForNewContext(heap->global_ic_age());
   }
+  if (FLAG_cache_optimized_code) {
+    // Flush optimized code map on major GC.
+    // TODO(mstarzinger): We may experiment with rebuilding it or with
+    // retaining entries which should survive as we iterate through
+    // optimized functions anyway.
+    shared->ClearOptimizedCodeMap();
+  }
   MarkCompactCollector* collector = heap->mark_compact_collector();
   if (collector->is_code_flushing_enabled()) {
     if (IsFlushable(heap, shared)) {
=======================================
--- /branches/bleeding_edge/src/objects.cc      Tue Dec 11 04:19:19 2012
+++ /branches/bleeding_edge/src/objects.cc      Tue Dec 11 09:28:40 2012
@@ -8064,11 +8064,6 @@
   CompilationInfoWithZone info(shared);
   return CompileLazyHelper(&info, flag);
 }
-
-
-void SharedFunctionInfo::ClearOptimizedCodeMap() {
-  set_optimized_code_map(Smi::FromInt(0));
-}


 void SharedFunctionInfo::AddToOptimizedCodeMap(
=======================================
--- /branches/bleeding_edge/src/objects.h       Tue Dec 11 02:22:15 2012
+++ /branches/bleeding_edge/src/objects.h       Tue Dec 11 09:28:40 2012
@@ -5444,7 +5444,7 @@
   void InstallFromOptimizedCodeMap(JSFunction* function, int index);

   // Clear optimized code map.
-  void ClearOptimizedCodeMap();
+  inline void ClearOptimizedCodeMap();

   // Add a new entry to the optimized code map.
   static void AddToOptimizedCodeMap(Handle<SharedFunctionInfo> shared,

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

Reply via email to