Go to file
ricow@chromium.org 0f682143d9 Introduce code flushing of RegExp code.
Due to issues relating mostly to chrome extensions we have lately been
running into OOMs that are caused by our executable space running
out. This change introduces flushing of code from regexps if we have
not used the code for 5 mark sweeps.

The approach is different from the normal function code flusing. Here
we make a copy of the code inside the data array, and exchange the
original code with a smi determined by the sweep_generation (a new
heap variable increased everytime we do mark sweep/compact). If we
encounter a smi in EnsureCompiled we simply reinstate the code
object. If, in the marking phase of mark sweep, we find a regexp that
already have a smi in the code field, and this is more than 5
generations old we flush the code from the saved index.
Review URL: http://codereview.chromium.org/7282026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-05 06:19:53 +00:00
benchmarks Promote the current V8 benchmark suite candidate to version 6. 2010-10-07 07:25:22 +00:00
build GYP: Generate makefiles for all architectures on Linux 2011-06-09 15:51:08 +00:00
include Remove "modules" and "tags" of the logging CPU profiler. 2011-07-01 09:35:16 +00:00
preparser Fix presubmit errors catched by a more recent version of cpplint.py. 2011-06-07 07:17:46 +00:00
samples Fix SConstruct to pass correct defines to samples/preparser when building with library=shared. 2011-06-30 11:53:54 +00:00
src Introduce code flushing of RegExp code. 2011-07-05 06:19:53 +00:00
test Fix bug 1529: check for NULL handle in v8::TryCatch::StackTrace. 2011-07-04 13:29:56 +00:00
tools Don't try to build d8 from profiler tick processor scripts. 2011-07-05 05:27:10 +00:00
.gitignore ARM: Changed the handling of compiletime CPU feature detection 2011-05-03 06:51:59 +00:00
AUTHORS Fixes the build for the shell on illumos and Solaris. -D__C99FEATURES__ was added to mirror how the build is done on the normal platform. The changes in the platform code are a follow up to a prior review and has the Solaris implementation be more similar to the Linux version as opposed to the FreeBSD. 2011-07-01 05:50:14 +00:00
ChangeLog Prepare push to trunk. Now working on 3.4.10. 2011-07-04 13:20:39 +00:00
LICENSE Fix the license info to correctly state Copyright "the V8 project 2011-01-19 09:20:18 +00:00
LICENSE.strongtalk Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.v8 Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
LICENSE.valgrind Add LICENSE.v8, LICENSE.strongtalk and LICENSE.valgrind to the v8 2011-02-03 07:10:06 +00:00
SConstruct When compiling C++, CXXFLAGS *and* CCFLAGS are used, so there is no need to pass 2011-07-01 09:02:25 +00:00