v8/test/cctest
ulan@chromium.org de672226c7 Clear old backing store of WeakCollection on updates.
Not clearing can lead to a crash under following conditions:
1. Backing store of a weak map is allocated in large object space.
2. The backing store is marked incrementaly via the weak map.
3. The weak map is updated and gets a new backing store.
4. The store buffer overflows and marks the chunk of the old backing store as
"scan on scavenge."
5. Mark-compact collection kills some elements of the weak map. Note that the
old backing store survives because it was marked incrementally, but its dead
elements are not cleared.
6. Scavenger iterates over the old backing store, tries to move a dead object
and crashes.

BUG=v8:3631
LOG=N
TEST=cctest/test-heap/Regress3631
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/686783003

Cr-Commit-Position: refs/heads/master@{#25032}
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-31 13:11:44 +00:00
..
compiler [turbofan] Lower NumberModulus to Uint32Mod if both inputs are Unsigned32. 2014-10-31 07:59:18 +00:00
cctest.cc Remove (untested) code for unsupported compilers. 2014-10-20 12:04:22 +00:00
cctest.gyp convert BitVector to use pointer size blocks 2014-10-31 10:44:47 +00:00
cctest.h Add support for a target new space size 2014-10-22 06:58:38 +00:00
cctest.status Fix AstGraphBuilder for loops like for(;;). 2014-10-21 14:17:08 +00:00
DEPS Add DEPS files and run checkdeps in presubmit check 2014-06-03 13:39:42 +00:00
gay-fixed.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
gay-fixed.h Dtoa for fixed notation. 2010-05-05 13:51:27 +00:00
gay-precision.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
gay-precision.h Added precision mode to fast-dtoa. 2010-09-20 09:18:00 +00:00
gay-shortest.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
gay-shortest.h Dtoa for fixed notation. 2010-05-05 13:51:27 +00:00
log-eq-of-logging-and-traversal.js Fix test-log/EquivalenceOfLoggingAndTraversal 2013-08-26 14:56:23 +00:00
OWNERS Update cctest OWNERS file for mips committers. 2014-09-18 17:33:24 +00:00
print-extension.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
print-extension.h Use full include paths everywhere 2014-06-03 08:12:43 +00:00
profiler-extension.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
profiler-extension.h Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-accessors.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-alloc.cc Rename ascii to one-byte where applicable. 2014-09-10 12:38:12 +00:00
test-api.cc Introduce v8::Exception::GetMessage to find location of an error object. 2014-10-30 14:51:46 +00:00
test-assembler-arm64.cc Add FRINTP (round towards positive infinity) instruction. 2014-10-22 11:06:22 +00:00
test-assembler-arm.cc Add vrint{a,n,p,m,z} instructions to arm assembler. These instructions are only available on ARMv8. 2014-10-30 11:01:12 +00:00
test-assembler-ia32.cc convert disassembler to use OStream 2014-09-25 08:33:24 +00:00
test-assembler-mips64.cc MIPS64: Fix move operations from coprocessor in simulator. 2014-09-17 16:21:22 +00:00
test-assembler-mips.cc Reland "MIPS: Add support for arch. revision 6 to mips32 port." 2014-08-12 19:04:15 +00:00
test-assembler-x64.cc Land the Fan (disabled) 2014-07-30 13:54:45 +00:00
test-assembler-x87.cc X87: Land the Fan (disabled) 2014-08-01 07:42:06 +00:00
test-ast.cc Assign bailout and type feedback IDs in a post-pass 2014-10-21 12:16:37 +00:00
test-atomicops.cc Move atomic ops and related files to base library 2014-06-05 12:14:47 +00:00
test-bignum-dtoa.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-bignum.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-bit-vector.cc convert BitVector to use pointer size blocks 2014-10-31 10:44:47 +00:00
test-checks.cc Replace our homegrown ARRAY_SIZE() with Chrome's arraysize(). 2014-08-26 09:19:24 +00:00
test-circular-queue.cc Fix newly discovered presubmit errors. 2014-08-12 13:33:35 +00:00
test-code-stubs-arm64.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs-arm.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs-ia32.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs-mips64.cc MIPS64: Fix ConvertDToI test. 2014-10-01 16:25:01 +00:00
test-code-stubs-mips.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs-x64.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs-x87.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-code-stubs.cc Replace our home-grown BitCast with bit_cast from Chrome/Google3. 2014-09-08 09:11:11 +00:00
test-code-stubs.h Introduce x87 port 2014-05-23 16:37:27 +00:00
test-compiler.cc vector-based ICs did not update type feedback counts correctly. 2014-10-20 11:42:56 +00:00
test-constantpool.cc Tests that the GC doesn't mistake non-pointer constant pool entries as pointers. 2014-07-28 10:04:36 +00:00
test-conversions.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-cpu-profiler.cc Revert of Extend CPU profiler with mapping ticks to source lines (patchset #3 id:40001 of https://codereview.chromium.org/616963005/) 2014-10-02 11:58:21 +00:00
test-date.cc Replace our homegrown ARRAY_SIZE() with Chrome's arraysize(). 2014-08-26 09:19:24 +00:00
test-debug.cc Fix race in debugger threads in cctest/test-debug 2014-10-08 08:56:57 +00:00
test-declarative-accessors.cc Fix newly discovered presubmit errors. 2014-08-12 13:33:35 +00:00
test-decls.cc harmony-scoping: Correct dynamic lookups on a top level. 2014-10-29 11:00:15 +00:00
test-deoptimization.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-dictionary.cc Pacify GCmole. 2014-08-22 11:09:13 +00:00
test-disasm-arm64.cc Add FRINTP (round towards positive infinity) instruction. 2014-10-22 11:06:22 +00:00
test-disasm-arm.cc Add vrint{a,n,p,m,z} instructions to arm assembler. These instructions are only available on ARMv8. 2014-10-30 11:01:12 +00:00
test-disasm-ia32.cc [turbofan]IA: ChangeFloat32ToFloat64 supports mem operand 2014-10-13 07:42:35 +00:00
test-disasm-mips64.cc MIPS64: Add support for architecture revision 6. 2014-07-29 18:02:26 +00:00
test-disasm-mips.cc Reland "MIPS: Add support for arch. revision 6 to mips32 port." 2014-08-12 19:04:15 +00:00
test-disasm-x64.cc [x64] simply tweak materialization of float/double constants 2014-10-17 04:18:38 +00:00
test-disasm-x87.cc X87: [turbofan] support all shift operands on ia32 2014-10-08 06:13:22 +00:00
test-diy-fp.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-double.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-dtoa.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-fast-dtoa.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-feedback-vector.cc Introduce FeedbackNexus for vector-based ics. 2014-10-28 16:05:45 +00:00
test-fixed-dtoa.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-flags.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-func-name-inference.cc Move some Runtime:: functions and remove runtime.h as include when unnecessary. 2014-10-20 12:07:45 +00:00
test-fuzz-arm64.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-gc-tracer.cc re-land: Track history of events in GCTracer. 2014-07-24 11:16:01 +00:00
test-global-handles.cc Rename ASSERT* to DCHECK*. 2014-08-04 11:34:54 +00:00
test-global-object.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-hashing.cc Remove dead code for inline string hashing. 2014-09-04 12:15:09 +00:00
test-hashmap.cc Check alpha-sorting of includes during presubmit. 2014-06-20 08:40:11 +00:00
test-heap-profiler.cc Rename Runtime_CompileUnoptimized to Runtime_CompileLazy, because that is what it does. Split Compiler::GetUnoptimizedCode into two variants, one for lazy compilation (which can return optimized code!) and the other that actually returns unoptimized code. 2014-09-17 15:29:42 +00:00
test-heap.cc Clear old backing store of WeakCollection on updates. 2014-10-31 13:11:44 +00:00
test-hydrogen-types.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-javascript-arm64.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-js-arm64-variables.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-list.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-liveedit.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-lockers.cc Fix data races and leaks related to v8::Lockers 2014-10-08 08:17:04 +00:00
test-log-stack-tracer.cc Remove (untested) code for unsupported compilers. 2014-10-20 12:04:22 +00:00
test-log.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-macro-assembler-arm.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-macro-assembler-ia32.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-macro-assembler-mips64.cc Add mips64 port. 2014-07-09 11:08:26 +00:00
test-macro-assembler-mips.cc MIPS: Fix cctest/NaNs after r23767 "Replace our home-grown BitCast with bit_cast from Chrome/Google3". 2014-09-08 16:14:21 +00:00
test-macro-assembler-x64.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-macro-assembler-x87.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-mark-compact.cc HeapProfiler: remove obsolete AddImplicitReferences 2014-08-26 13:05:54 +00:00
test-mementos.cc Remove dependency on Vector from platform files 2014-06-13 16:43:27 +00:00
test-microtask-delivery.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-object-observe.cc Replace our homegrown ARRAY_SIZE() with Chrome's arraysize(). 2014-08-26 09:19:24 +00:00
test-ordered-hash-table.cc Pacify GCmole. 2014-08-22 11:09:13 +00:00
test-parsing.cc Scanner: remove PushBack calls when we're going to return ILLEGAL. 2014-10-31 13:03:45 +00:00
test-platform-linux.cc Refactor unit tests for the base library to use GTest. 2014-08-06 09:35:21 +00:00
test-platform-win32.cc Refactor unit tests for the base library to use GTest. 2014-08-06 09:35:21 +00:00
test-platform.cc Remove v8stdint.h, it doesn't serve a purpose anymore. 2014-10-21 08:25:14 +00:00
test-profile-generator.cc Move anonymous function name beautifying out of v8. 2014-08-05 07:08:39 +00:00
test-random-number-generator.cc Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created 2014-09-19 08:01:35 +00:00
test-regexp.cc Replace OStream with std::ostream. 2014-09-30 10:29:32 +00:00
test-reloc-info.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-representation.cc Check alpha-sorting of includes during presubmit. 2014-06-20 08:40:11 +00:00
test-sampler-api.cc Initial implementation of GetStackSample sampling profiler API. 2014-09-29 12:59:54 +00:00
test-serialize.cc Add serializer test case to bug fix in r24871. 2014-10-27 16:40:16 +00:00
test-spaces.cc Really disable test when running with optimize for size 2014-10-22 08:15:47 +00:00
test-strings.cc Cleanup ConsStringIteratorOp. 2014-10-23 05:57:01 +00:00
test-strtod.cc Move platform abstraction to base library 2014-06-30 13:25:46 +00:00
test-symbols.cc Land the Fan (disabled) 2014-07-30 13:54:45 +00:00
test-thread-termination.cc Do not expose termination exceptions to the Exception API. 2014-09-01 09:11:44 +00:00
test-threads.cc Fix newly discovered presubmit errors. 2014-08-12 13:33:35 +00:00
test-types.cc [turbofan] Use range types to type and lower arithmetic ops. 2014-10-23 14:40:43 +00:00
test-unbound-queue.cc Check alpha-sorting of includes during presubmit. 2014-06-20 08:40:11 +00:00
test-unique.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-unscopables-hidden-prototype.cc Enable ES6 unscopables 2014-08-08 11:42:59 +00:00
test-utils-arm64.cc Rename ASSERT* to DCHECK*. 2014-08-04 11:34:54 +00:00
test-utils-arm64.h Rename ASSERT* to DCHECK*. 2014-08-04 11:34:54 +00:00
test-utils.cc Fix ASAN warning. 2014-10-28 08:34:40 +00:00
test-version.cc Use full include paths everywhere 2014-06-03 08:12:43 +00:00
test-weakmaps.cc Remove all encountered weak maps from the list of weak collections when incremental marking is aborted. 2014-08-05 07:29:13 +00:00
test-weaksets.cc Rename ASSERT* to DCHECK*. 2014-08-04 11:34:54 +00:00
test-weaktypedarrays.cc Move a bunch of GC related files to heap/ subdirectory 2014-08-05 08:18:22 +00:00
testcfg.py Fix test serialization path for windows. 2014-03-26 07:40:32 +00:00
trace-extension.cc Tick processor: Print C++ entry points 2014-10-17 15:44:02 +00:00
trace-extension.h Use full include paths everywhere 2014-06-03 08:12:43 +00:00
types-fuzz.h [turbofan] Use range types to type and lower arithmetic ops. 2014-10-23 14:40:43 +00:00