Reviewers: Vitaly, antonm,
Description:
Fine-tune inobject slack tracking.
The current parameters (initial slack = 6, kGenerousAllocationsCount = 16)
caused 15-20% performance regression on 3d-raytrace on x64
(visible both in standalone shell and in the web harness). This is very
likely some kind of an alignment problem (it goes away completely with
--prof).
A similar problem can be observed on ia32 with initial slack=2.
Increased initial slack to 8 and decreased constructions count to 8.
This made the regression go away (and did not harm any of the other tests).
Please review this at http://codereview.chromium.org/3595002/show
SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
Affected files:
M src/handles.cc
M src/objects.h
Index: src/handles.cc
===================================================================
--- src/handles.cc (revision 5565)
+++ src/handles.cc (working copy)
@@ -175,7 +175,7 @@
// Inobject slack tracking will reclaim redundant inobject space later,
// so we can afford to adjust the estimate generously.
- return estimate + 6;
+ return estimate + 8;
}
Index: src/objects.h
===================================================================
--- src/objects.h (revision 5565)
+++ src/objects.h (working copy)
@@ -3537,7 +3537,7 @@
// Important: inobject slack tracking is not attempted during the
snapshot
// creation.
- static const int kGenerousAllocationCount = 16;
+ static const int kGenerousAllocationCount = 8;
// [construction_count]: Counter for constructor calls made during
// the tracking phase.
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev