v8/test/cctest
yurys@chromium.org a083601e73 Record allocation stack traces
This is initial implementation of allocation profiler.

Whenever new object allocation is reported to the HeapProfiler and allocation tracking is on we will capture current stack trace, add it to the collection of the allocation traces (a tree) and attribute the allocated size to the top JS function on the stack.

Format of serialized heap snapshot is extended to include information about recorded allocation stack traces.

This patch is r17301 plus a fix for the test crash in debug mode. The test crashed because we were traversing stack trace when just allocated object wasn't completely configured, in particular the map pointer was incorrect. Invalid Map pointer broke heap iteration required to find Code object for a given pc during stack traversal. The solution is to insert free space filler in the newly allocated block just before collecting stack trace.

BUG=chromium:277984,v8:2949
R=hpayer@chromium.org, loislo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-24 09:26:55 +00:00
..
cctest.cc remove remaining uses of default isolate in tests 2013-09-20 10:52:20 +00:00
cctest.gyp Out-of-line constant pool on Arm: Stage 2 - Introduce ConstantPoolArray object. 2013-10-14 13:35:06 +00:00
cctest.h Track JS allocations as they arrive with no affection on performance when tracking is switched off. 2013-10-14 12:41:28 +00:00
cctest.status Do not run useless test variants for test-parsing/ParserSync. 2013-10-22 09:13:33 +00:00
gay-fixed.cc
gay-fixed.h
gay-precision.cc
gay-precision.h
gay-shortest.cc
gay-shortest.h
log-eq-of-logging-and-traversal.js Fix test-log/EquivalenceOfLoggingAndTraversal 2013-08-26 14:56:23 +00:00
test-accessors.cc remove Local::New with no isolate parameter 2013-09-27 07:04:02 +00:00
test-alloc.cc remove HEAP from tests 2013-09-19 09:46:15 +00:00
test-api.cc Expose v8::Function::GetDisplayName to public API. 2013-10-23 12:38:06 +00:00
test-assembler-arm.cc cleanup cctest generally and remove ctest::context 2013-09-19 13:30:47 +00:00
test-assembler-ia32.cc Tweak Math.log on ia32/x64 2013-10-18 10:54:45 +00:00
test-assembler-mips.cc remove HEAP from tests 2013-09-19 09:46:15 +00:00
test-assembler-x64.cc Introduce xchgl, orl, roll, subl, testl and xorl into X64 assembler 2013-10-24 02:12:51 +00:00
test-ast.cc Unify handling of position info in AST, part 1 2013-10-14 09:24:58 +00:00
test-bignum-dtoa.cc
test-bignum.cc
test-circular-queue.cc Rename some of SamplingCircularQueue methods 2013-09-05 10:31:18 +00:00
test-code-stubs-arm.cc ARM: Fix simulator when using hard floating point ABI. 2013-09-18 15:13:18 +00:00
test-code-stubs-ia32.cc Revert r16648, r16641, r16638 and r16637. 2013-09-11 18:30:01 +00:00
test-code-stubs-x64.cc Revert r16648, r16641, r16638 and r16637. 2013-09-11 18:30:01 +00:00
test-code-stubs.cc Fix NaCl build after r16322. 2013-08-26 13:37:01 +00:00
test-code-stubs.h Arm support for DoubleToIStub (truncating). 2013-08-26 12:24:03 +00:00
test-compiler.cc Crankshaft builtins. 2013-10-23 08:57:54 +00:00
test-condition-variable.cc Improve cctest/test-condition-variable. 2013-09-03 11:27:02 +00:00
test-constantpool.cc Out-of-line constant pool on Arm: Stage 2 - Introduce ConstantPoolArray object. 2013-10-14 13:35:06 +00:00
test-conversions.cc Add support for explicit octal and binary integer literals 2013-07-19 09:57:35 +00:00
test-cpu-ia32.cc Fix the CPU feature detection. 2013-08-26 09:37:39 +00:00
test-cpu-profiler.cc Fix unexpected stack traces in test-cpu-profiler/JsNativeJsSample 2013-10-16 08:15:06 +00:00
test-cpu-x64.cc Fix the CPU feature detection. 2013-08-26 09:37:39 +00:00
test-cpu.cc Replace OS::NumberOfCores() with CPU::NumberOfProcessorsOnline(). 2013-08-28 12:32:56 +00:00
test-dataflow.cc bulk replace Isolate::Current in tests 2013-09-19 09:17:13 +00:00
test-date.cc bulk replace Isolate::Current in tests 2013-09-19 09:17:13 +00:00
test-debug.cc Unify handling of position info in AST, part 1 2013-10-14 09:24:58 +00:00
test-declarative-accessors.cc bulk replace v8::Isolate::GetCurrent in tests 2013-09-19 08:54:58 +00:00
test-decls.cc build fix for 16957 2013-09-26 08:47:59 +00:00
test-deoptimization.cc remove HEAP from tests 2013-09-19 09:46:15 +00:00
test-dictionary.cc remove HEAP from tests 2013-09-19 09:46:15 +00:00
test-disasm-arm.cc bulk replace Isolate::Current in tests 2013-09-19 09:17:13 +00:00
test-disasm-ia32.cc Tweak Math.log on ia32/x64 2013-10-18 10:54:45 +00:00
test-disasm-mips.cc bulk replace Isolate::Current in tests 2013-09-19 09:17:13 +00:00
test-disasm-x64.cc Fixed bug in extractps instruction on ia32 and x64 2013-10-15 12:51:58 +00:00
test-diy-fp.cc Add missing license headers. 2013-03-07 11:12:26 +00:00
test-double.cc Keep two empty lines between declarations for cpp files 2013-07-05 09:52:11 +00:00
test-dtoa.cc
test-fast-dtoa.cc Add missing license headers. 2013-03-07 11:12:26 +00:00
test-fixed-dtoa.cc
test-flags.cc Add flags to force or prevent setting of isolate.is_memory_constrained. 2013-09-17 13:48:17 +00:00
test-func-name-inference.cc remove HEAP from tests 2013-09-19 09:46:15 +00:00
test-global-handles.cc remove HEAP from tests 2013-09-19 09:46:15 +00:00
test-global-object.cc bulk replace Isolate::Current in tests 2013-09-19 09:17:13 +00:00
test-hashing.cc bulk replace Isolate::Current in tests 2013-09-19 09:17:13 +00:00
test-hashmap.cc
test-heap-profiler.cc Record allocation stack traces 2013-10-24 09:26:55 +00:00
test-heap.cc Enable preaging of code objects when --optimize-for-size. 2013-10-23 13:48:04 +00:00
test-list.cc revert thread isolate in PreallocatedStorageAllocationPolicy 2013-09-02 11:39:23 +00:00
test-liveedit.cc bulk replace Isolate::Current in tests 2013-09-19 09:17:13 +00:00
test-lockers.cc remove remaining uses of default isolate in tests 2013-09-20 10:52:20 +00:00
test-log-stack-tracer.cc cleanup cctest generally and remove ctest::context 2013-09-19 13:30:47 +00:00
test-log.cc remove remaining uses of default isolate in tests 2013-09-20 10:52:20 +00:00
test-macro-assembler-arm.cc Fixed a bug in CopyBytes() and new test cases for ARM macro assembler 2013-09-23 08:06:58 +00:00
test-macro-assembler-mips.cc MIPS: Fixed a bug in CopyBytes() and new test cases for MIPS macro assembler. 2013-09-23 19:38:54 +00:00
test-macro-assembler-x64.cc Load/Store cannot handle double representation. 2013-10-11 07:12:06 +00:00
test-mark-compact.cc cleanup cctest generally and remove ctest::context 2013-09-19 13:30:47 +00:00
test-mutex.cc Cleanup Mutex and related classes. 2013-08-29 09:58:30 +00:00
test-object-observe.cc Prevent changes to hidden properties from being observable via Object.observe 2013-10-17 20:49:45 +00:00
test-parsing.cc Remove deprecated v8::preparser namespace. 2013-10-14 13:07:20 +00:00
test-platform-linux.cc Revert r16648, r16641, r16638 and r16637. 2013-09-11 18:30:01 +00:00
test-platform-macos.cc Add missing license headers. 2013-03-07 11:12:26 +00:00
test-platform-tls.cc Keep two empty lines between declarations for cpp files 2013-07-05 09:52:11 +00:00
test-platform-win32.cc Revert r16648, r16641, r16638 and r16637. 2013-09-11 18:30:01 +00:00
test-platform.cc bulk replace v8::Isolate::GetCurrent in tests 2013-09-19 08:54:58 +00:00
test-profile-generator.cc remove HEAP from tests 2013-09-19 09:46:15 +00:00
test-random-number-generator.cc Fix clang C++11 compiler warning. 2013-09-10 13:39:53 +00:00
test-random.cc bulk replace Isolate::Current in tests 2013-09-19 09:17:13 +00:00
test-regexp.cc remove remaining uses of default isolate in tests 2013-09-20 10:52:20 +00:00
test-reloc-info.cc Merge experimental/gc branch to the bleeding_edge. 2011-09-19 18:36:47 +00:00
test-semaphore.cc Fix Mac llvm-gcc42 build after commit r16473. 2013-09-02 12:36:08 +00:00
test-serialize.cc remove remaining uses of default isolate in tests 2013-09-20 10:52:20 +00:00
test-socket.cc Cleanup Socket class and remove it from the platform files. 2013-09-04 10:41:51 +00:00
test-spaces.cc Test that we can bootstrap into the first page of each space. 2013-09-20 12:18:17 +00:00
test-strings.cc cleanup cctest generally and remove ctest::context 2013-09-19 13:30:47 +00:00
test-strtod.cc Fix MSVC compiler warning after commit r16612. 2013-09-10 11:33:14 +00:00
test-symbols.cc remove HEAP from tests 2013-09-19 09:46:15 +00:00
test-thread-termination.cc remove remaining uses of default isolate in tests 2013-09-20 10:52:20 +00:00
test-threads.cc make v8::Locker not use Isolate::GetCurrent() 2013-09-27 11:32:13 +00:00
test-time.cc Always use timeGetTime() for TimeTicks::Now() on Windows. 2013-10-02 13:30:31 +00:00
test-types.cc Reenable 17167: "Ensure lower <= upper bound" 2013-10-14 12:14:42 +00:00
test-unbound-queue.cc Add missing license headers. 2013-03-07 11:12:26 +00:00
test-unique.cc Implement local check elimination on basic blocks. 2013-09-26 16:25:57 +00:00
test-utils.cc Introduce a RandonNumberGenerator class. Refactor the random/private_random uses in Isolate/Context. 2013-09-10 11:13:55 +00:00
test-version.cc
test-weakmaps.cc Deprecate Persistent functions which were marked to be deprecated. 2013-09-03 07:34:34 +00:00
test-weaksets.cc Deprecate Persistent functions which were marked to be deprecated. 2013-09-03 07:34:34 +00:00
test-weaktypedarrays.cc API for DataView. 2013-06-24 11:23:50 +00:00
testcfg.py Remove SCons related files 2013-04-18 11:01:14 +00:00