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