Go to file
sgjesse@chromium.org 44b7c59eb5 Extend the maximum size map space
On 32-bit the maps are now aligned on a 32-byte boundary in order to encode more maps during compacting GC. The actual size of a map on 32-bit is 28 bytes making this change waste 4 bytes per map.

On 64-bit the encoding for compacting GC is now using more than 32-bits and the maps here are still pointer size aligned. The actual size of a map on 64-bit is 48 bytes and this change does not intruduce any waste.

My choice of 16 bits for kMapPageIndexBits for 64-bit should give the same maximum number of pages (8K) for map space. As maps on 64-bit are larger than on 32-bit the total number of maps on 64-bit will be smaller than on 32-bit. We could consider raising this to 17 or 18.

I moved the kPageSizeBits to globals.h as the calculation of the encoding really depended on this.

There are still an #ifdef/#endif in objects.h and this constant could be moved to globaks.h as well, but I kept it together with the related constants.

All the tests run in debug mode with additional options --gc-global --always-compact as well (except for a few tests on which also fails before this change when run with --gc-global --always-compact).

BUG=http://code.google.com/p/v8/issues/detail?id=524
BUG=http://crbug.com/29428
TEST=test/mjsunit/regress/regress-524.js

Review URL: http://codereview.chromium.org/504026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-12-17 08:53:18 +00:00
benchmarks Remove svn:executable flag from run.html and style.css and change the mime-type of style.css to text/css. 2009-07-15 10:37:10 +00:00
include Reverted r3457 2009-12-14 07:51:59 +00:00
samples Add a "read" extension to the shell programs. This global function 2009-04-17 21:04:34 +00:00
src Extend the maximum size map space 2009-12-17 08:53:18 +00:00
test Extend the maximum size map space 2009-12-17 08:53:18 +00:00
tools stats-viewer.py: support passing test_shell pid. 2009-12-14 17:05:38 +00:00
.gitignore Add '.cpplint-cache' to ignore lists for SVN and Git. This change also sets 'ignore' property on '.', although this change isn't visible in Rietveld. 2009-12-11 09:01:38 +00:00
AUTHORS Fix for bug 512 from Subrato De, CodeAurora. 2009-12-09 11:14:45 +00:00
ChangeLog Prepare push to trunk. We are now working on version 2.0.5. 2009-12-16 15:23:25 +00:00
LICENSE Get rid of duplicate LICENSE entry for the Valgrind 2009-09-27 09:33:11 +00:00
SConstruct Modified SConstruct to enable building of shared library 2009-12-14 10:20:35 +00:00