v8/test/cctest
Peter Marshall ddaa1f0a0d Reland "[cpu-profiler] Fix stack iterability for fast C calls with no exit frame"
This is a reland of d5f4a33eb8

Original change's description:
> [cpu-profiler] Fix stack iterability for fast C calls with no exit frame
>
> Before fast C calls, store the current FP and PC on the isolate. When
> iterating frames in SafeStackFrameIterator, check if these fields are
> set and start iterating at the calling frame's FP instead of the current
> FP, which will be in C++ code. We need to do this because c_entry_fp is
> not set on the Isolate for Fast-C-Calls because we don't build an exit
> frame.
>
> This change makes stack samples that occur within 'Fast-C-Calls'
> iterable, meaning we can properly attribute ticks within the JS caller.
>
> Fast-C-Calls can't call back into JS code, so we can only ever have one
> such call on the stack at a time, allowing us to store the FP on the
> isolate rather than the stack.
>
> TBR=v8-mips-ports@googlegroups.com
>
> Bug: v8:8464, v8:7202
> Change-Id: I7bf39eba779dad34754d5759d741c421b362a406
> Reviewed-on: https://chromium-review.googlesource.com/c/1340241
> Commit-Queue: Peter Marshall <petermarshall@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Martyn Capewell <martyn.capewell@arm.com>
> Reviewed-by: Alexei Filippov <alph@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#57896}

TBR=v8-mips-ports@googlegroups.com
TBR=jgruber@chromium.org

Bug: v8:8464, v8:7202
Change-Id: I5f37ded4ea572e8e9890ba186aa3d74a0dfc1274
Reviewed-on: https://chromium-review.googlesource.com/c/1354042
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57912}
2018-11-28 17:58:06 +00:00
..
compiler [ubsan] Port Name/String/Symbol to the new design 2018-11-27 01:42:36 +00:00
heap Reland: [heap] Release dead young generation large objects in the Scavenger. 2018-11-26 19:47:20 +00:00
interpreter [ubsan] Port Name/String/Symbol to the new design 2018-11-27 01:42:36 +00:00
libplatform [tracing] Custom tag for the traceEvents array 2018-05-07 16:54:59 +00:00
libsampler [cleanup] Refactor general tests to use default members. 2018-09-14 14:40:47 +00:00
parsing [ubsan] Port Name/String/Symbol to the new design 2018-11-27 01:42:36 +00:00
torque [torque] Simplify and cleanup Cast and UnsafeCast 2018-11-27 06:50:30 +00:00
wasm Make cctest/test-jump-table-assembler/JumpTablePatchingStress reliable on Arm64. 2018-11-28 10:43:31 +00:00
assembler-helper-arm.cc [cleanup] Remove Isolate parameter from object print 2018-07-12 11:31:57 +00:00
assembler-helper-arm.h Replace CALL_GENERATED_CODE by GeneratedCode wrapper 2018-01-09 10:33:36 +00:00
BUILD.gn [tools] Add an API for unwinding the V8 stack 2018-11-22 16:36:26 +00:00
cctest.cc [heap] Remove marking finalization flag 2018-09-19 09:08:35 +00:00
cctest.h [ia32,root] Remove ebx from ALLOCATABLE_GENERAL_REGISTERS 2018-10-26 08:33:48 +00:00
cctest.status Reland "[cpu-profiler] Fix stack iterability for fast C calls with no exit frame" 2018-11-28 17:58:06 +00:00
DEPS [torque]: Add the ability to test Torque functionality with cctest 2018-05-13 10:58:56 +00:00
expression-type-collector-macros.h [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
gay-fixed.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
gay-fixed.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-precision.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
gay-precision.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
gay-shortest.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
gay-shortest.h [presubmit] Enable readability/namespace linter checking. 2015-09-30 13:47:11 +00:00
log-eq-of-logging-and-traversal.js [log] Improve log parsing 2018-06-20 13:40:22 +00:00
OWNERS Update MIPS file ownership to @wavecomp.com e-mail addresses 2018-07-26 16:28:10 +00:00
print-extension.cc Use nullptr instead of NULL where possible 2017-10-13 17:21:49 +00:00
print-extension.h [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
profiler-extension.cc Reland "[Compile] Ensure we don't access the native context during bytecode finalization." 2018-10-26 22:33:56 +00:00
profiler-extension.h [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
scope-test-helper.h [Parser] Split building logic out of ProducedPreParserScopeData. 2018-09-07 11:39:58 +00:00
setup-isolate-for-tests.cc [interpreter] Always put bytecode handlers in builtins table 2018-09-20 09:58:15 +00:00
setup-isolate-for-tests.h [interpreter] Always put bytecode handlers in builtins table 2018-09-20 09:58:15 +00:00
test-access-checks.cc Replace CHECK(false) by UNREACHABLE() 2017-12-19 18:58:07 +00:00
test-accessor-assembler.cc [ubsan] Port Map to the new design 2018-11-13 06:59:12 +00:00
test-accessors.cc [ubsan] Port Code to the new design 2018-11-12 18:47:04 +00:00
test-allocation.cc Clean up VirtualMemory allocation 2018-09-17 10:16:38 +00:00
test-api-accessors.cc [cleanup] Replace 0 and NULL with nullptr for test files. 2018-09-14 12:56:00 +00:00
test-api-interceptors.cc [deprecation] Deprecate ToBoolean(Local<Context>) 2018-09-24 12:02:09 +00:00
test-api.cc [ubsan] Port Name/String/Symbol to the new design 2018-11-27 01:42:36 +00:00
test-api.h Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-array-list.cc [explicit isolates] Remove GetIsolate from objects.cc 2018-07-13 12:42:14 +00:00
test-assembler-arm64.cc Revert "[wasm] Add more unit tests for trap handler" 2018-11-27 10:26:41 +00:00
test-assembler-arm.cc [arm] Eliminate old form of core-scalar vmov instructions. 2018-07-24 17:39:24 +00:00
test-assembler-ia32.cc [cleanup] Remove Isolate parameter from object print 2018-07-12 11:31:57 +00:00
test-assembler-mips64.cc [iwyu] Ensure that macro assembler includes happen correctly 2018-11-16 15:52:56 +00:00
test-assembler-mips.cc [iwyu] Ensure that macro assembler includes happen correctly 2018-11-16 15:52:56 +00:00
test-assembler-ppc.cc [cleanup] Remove Isolate parameter from object print 2018-07-12 11:31:57 +00:00
test-assembler-s390.cc s390: Corrections to brxh / brxhg cctests in test-assembler-s390.cc 2018-07-30 20:40:21 +00:00
test-assembler-x64.cc [cleanup] Replace old c-style casts with c++ casts. 2018-09-13 14:48:25 +00:00
test-atomicops.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-bignum-dtoa.cc [jumbo] add test namespaces for cctest 2017-09-21 08:46:16 +00:00
test-bignum.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-bit-vector.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-circular-queue.cc [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
test-code-layout.cc [ubsan] Change Address typedef to uintptr_t 2018-04-14 01:25:28 +00:00
test-code-stub-assembler.cc [Cleanup] String::GetChars() should assert against heap allocation 2018-11-26 13:56:34 +00:00
test-code-stubs-arm64.cc [test] Remove superflous FlushICache calls. 2018-07-31 18:19:42 +00:00
test-code-stubs-arm.cc [test] Remove superflous FlushICache calls. 2018-07-31 18:19:42 +00:00
test-code-stubs-ia32.cc [ia32,root] Use root register config in tests 2018-10-02 15:53:03 +00:00
test-code-stubs-mips64.cc [test] Remove superflous FlushICache calls. 2018-07-31 18:19:42 +00:00
test-code-stubs-mips.cc [test] Remove superflous FlushICache calls. 2018-07-31 18:19:42 +00:00
test-code-stubs-x64.cc Reland "[turboassembler] Introduce hard-abort mode" 2018-07-24 15:58:46 +00:00
test-code-stubs.cc [ubsan] Fix many static_cast<int32_t> with undefined behavior 2018-04-17 02:02:18 +00:00
test-code-stubs.h [cctest] Avoid disallowed "using namespace" directive. 2017-09-01 08:28:36 +00:00
test-compiler.cc Fix test expectations for compiler peak memory 2018-11-08 09:37:13 +00:00
test-constantpool.cc [assembler] Move ConstantPools out of src/assembler.h 2018-10-19 11:38:39 +00:00
test-conversions.cc [cleanup] Make unicode predicate cache tables static 2018-11-14 15:33:45 +00:00
test-cpu-profiler.cc [ubsan] Port AbstractCode to the new design 2018-11-25 04:45:47 +00:00
test-date.cc [Intl] Move cachedOrNewService to C++ w/o caching 2018-11-02 07:08:26 +00:00
test-debug.cc [ubsan] Port FixedArray{,Base} to the new design 2018-11-25 03:08:14 +00:00
test-decls.cc [iwyu] Include heap-inl.h less. 2018-11-26 09:25:05 +00:00
test-deoptimization.cc [deprecation] Deprecate ToBoolean(Local<Context>) 2018-09-24 12:02:09 +00:00
test-dictionary.cc [ubsan] Port HashTableBase and subclasses to the new design 2018-11-23 09:34:18 +00:00
test-disasm-arm64.cc [iwyu] Ensure that macro assembler includes happen correctly 2018-11-16 15:52:56 +00:00
test-disasm-arm.cc [arm] Alter disasm-arm to print a fixed size address 2018-11-08 11:38:11 +00:00
test-disasm-ia32.cc [turbofan] Further optimize DataView accesses. 2018-08-14 09:20:47 +00:00
test-disasm-mips64.cc [mips64] Deprecate use of J and JAL instructions 2018-09-13 09:39:21 +00:00
test-disasm-mips.cc MIPS32: Implement AtomicPair operators through runtime 2018-11-14 11:30:53 +00:00
test-disasm-ppc.cc [turbofan] Thread through AssemblerOptions 2018-07-06 09:42:00 +00:00
test-disasm-s390.cc [turbofan] Thread through AssemblerOptions 2018-07-06 09:42:00 +00:00
test-disasm-x64.cc Reland^2 "[Liftoff] Implement f32.copysign and f64.copysign" 2018-09-12 08:33:24 +00:00
test-diy-fp.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-double.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-dtoa.cc [jumbo] add test namespaces for cctest 2017-09-21 08:46:16 +00:00
test-elements-kind.cc Reland: [iwyu] Remove sfi-inl.h -> wasm include 2018-07-25 14:54:37 +00:00
test-experimental-extra.js Add experimental, non-snapshotted V8 extras 2015-08-20 00:01:14 +00:00
test-extra.js [turbofan] Properly optimize calls to promise extras. 2018-02-16 19:46:30 +00:00
test-fast-dtoa.cc [jumbo] add test namespaces for cctest 2017-09-21 08:46:16 +00:00
test-feedback-vector.cc [ubsan] Port Map to the new design 2018-11-13 06:59:12 +00:00
test-feedback-vector.h [objects] Merge SFI outer_scope_info and feedback_metadata 2018-04-06 15:06:04 +00:00
test-field-type-tracking.cc Reland "Create a fast path to get migration target when updating map" 2018-11-22 01:59:36 +00:00
test-fixed-dtoa.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-flags.cc [d8] only add arguments object if arguments are provided 2018-10-23 11:46:53 +00:00
test-func-name-inference.cc [cleanup] Split off api-inl.h from api.h to make latter self contained 2018-07-23 16:03:49 +00:00
test-fuzz-arm64.cc Reland "Add Windows ARM64 ABI support to V8" 2018-10-24 19:46:36 +00:00
test-global-handles.cc [cleanup] Split off api-inl.h from api.h to make latter self contained 2018-07-23 16:03:49 +00:00
test-global-object.cc [iwyu] api.h iwyu 2018-07-20 11:49:02 +00:00
test-hashcode.cc [iwyu] api.h iwyu 2018-07-20 11:49:02 +00:00
test-hashmap.cc [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
test-heap-profiler.cc Speed up two tests by skipping slow asserts 2018-11-28 09:17:23 +00:00
test-icache.cc [heap] Fix i-cache flushing operation order. 2018-11-27 12:16:43 +00:00
test-identity-map.cc Reland "[ubsan] Replace Object** in GlobalHandles" 2018-10-31 23:56:23 +00:00
test-inobject-slack-tracking.cc [cleanup] Make Context independent of FixedArray 2018-11-26 17:57:45 +00:00
test-inspector.cc [cleanup] Refactor inspector to use default members. 2018-09-18 09:13:59 +00:00
test-intl.cc [Intl] Decentralize GetAvailableLocales 2018-10-24 01:41:10 +00:00
test-javascript-arm64.cc [deprecation] Deprecate ToBoolean(Local<Context>) 2018-09-24 12:02:09 +00:00
test-js-arm64-variables.cc [jumbo] arm64 cctest fixes 2017-09-30 17:17:23 +00:00
test-js-weak-refs.cc [iwyu] context-inl.h iwyu 2018-11-23 11:52:31 +00:00
test-liveedit.cc [cleanup] Replace calls to deprecated String::Concat and ToInt32 from tests. 2018-07-24 17:30:14 +00:00
test-lockers.cc [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
test-log-stack-tracer.cc [ubsan] Port AbstractCode to the new design 2018-11-25 04:45:47 +00:00
test-log.cc [log] Improve --trace-maps logging 2018-11-27 14:02:25 +00:00
test-macro-assembler-arm.cc Reland "[turboassembler] Introduce hard-abort mode" 2018-07-24 15:58:46 +00:00
test-macro-assembler-mips64.cc [iwyu] Ensure that macro assembler includes happen correctly 2018-11-16 15:52:56 +00:00
test-macro-assembler-mips.cc [ubsan] Port FixedDoubleArray and FixedTypedArray* 2018-11-24 03:18:53 +00:00
test-macro-assembler-x64.cc [ubsan] Port Smi to the new design 2018-11-05 20:52:51 +00:00
test-managed.cc Add size estimate to Managed<T> 2018-05-30 10:26:21 +00:00
test-mementos.cc [ubsan] Port Name/String/Symbol to the new design 2018-11-27 01:42:36 +00:00
test-modules.cc [api,modules] Allow GetModuleNamespace on unevaluated modules. 2018-01-08 09:01:25 +00:00
test-object.cc Separate DescriptorArray from WeakFixedArray 2018-11-26 16:41:20 +00:00
test-orderedhashtable.cc [dict] Add test for checking overflow of small ordered hash table 2018-11-12 17:30:21 +00:00
test-parsing.cc [parser] Introduce Token:: IsMember, IsProperty, and IsTemplate 2018-11-28 10:28:10 +00:00
test-platform.cc s390: Edited Generate_CEntry to correctly return buffer when built with clang 2018-09-05 07:01:16 +00:00
test-poison-disasm-arm.cc [test] Add type confusion poisoning test for polymorhic access. 2018-10-10 17:57:57 +00:00
test-profile-generator.cc [Lite] Disable optimization for Lite mode. 2018-10-22 13:16:24 +00:00
test-random-number-generator.cc [cleanup] Fix remaining (D)CHECK macro usages 2017-10-18 10:12:31 +00:00
test-regexp.cc [ubsan] Port Name/String/Symbol to the new design 2018-11-27 01:42:36 +00:00
test-representation.cc Start preparing test/cctest for jumbo compilation 2017-08-14 20:58:10 +00:00
test-roots.cc [js weak refs] Add WeakRef 2018-11-05 15:10:46 +00:00
test-sampler-api.cc [cleanup] Refactor general tests to use default members. 2018-09-14 14:40:47 +00:00
test-serialize.cc Reland "Implement Faster MicrotaskQueue Step 2" 2018-11-27 11:27:46 +00:00
test-smi-lexicographic-compare.cc [ubsan] Port Smi to the new design 2018-11-05 20:52:51 +00:00
test-strings.cc [ubsan] Port Name/String/Symbol to the new design 2018-11-27 01:42:36 +00:00
test-strtod.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
test-symbols.cc [cleanup] Remove Isolate parameter from object print 2018-07-12 11:31:57 +00:00
test-sync-primitives-arm64.cc [base] Introduce MutexGuard as typedef for LockGuard<Mutex> 2018-10-12 15:44:51 +00:00
test-sync-primitives-arm.cc [base] Introduce MutexGuard as typedef for LockGuard<Mutex> 2018-10-12 15:44:51 +00:00
test-thread-termination.cc [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
test-threads.cc [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
test-trace-event.cc [deprecation] Deprecate ToBoolean(Local<Context>) 2018-09-24 12:02:09 +00:00
test-traced-value.cc [tracing] Escape UTF8 strings in JSON compliant form. 2018-10-31 17:46:52 +00:00
test-transitions.cc [ubsan] Port Name/String/Symbol to the new design 2018-11-27 01:42:36 +00:00
test-transitions.h [ubsan] Port Map to the new design 2018-11-13 06:59:12 +00:00
test-typedarrays.cc Remove always-true --harmony-bigint runtime flag 2018-10-01 11:31:13 +00:00
test-types.cc [turbofan] Put some tests under a canonical handle scope. 2018-07-31 18:20:53 +00:00
test-unbound-queue.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-unboxed-doubles.cc [ubsan] Port ByteArray and subclasses to the new design 2018-11-24 09:29:14 +00:00
test-unscopables-hidden-prototype.cc Disable soon to be deprecated APIs per default for v8 2015-12-09 10:35:04 +00:00
test-unwinder.cc [ubsan] Port AbstractCode to the new design 2018-11-25 04:45:47 +00:00
test-usecounters.cc [counters] add use count for the "override mistake" 2018-10-16 21:34:23 +00:00
test-utils-arm64.cc [iwyu] Ensure that macro assembler includes happen correctly 2018-11-16 15:52:56 +00:00
test-utils-arm64.h [iwyu] Ensure that macro assembler includes happen correctly 2018-11-16 15:52:56 +00:00
test-utils.cc [cleanup] Split off api-inl.h from api.h to make latter self contained 2018-07-23 16:03:49 +00:00
test-version.cc [build] Introduce an embedder version string 2017-10-05 07:17:45 +00:00
test-weakmaps.cc [heap] Remove support for aborting incremental marking 2018-09-17 10:44:52 +00:00
test-weaksets.cc [heap] Remove support for aborting incremental marking 2018-09-17 10:44:52 +00:00
testcfg.py [test] Add non-d8 test suites to Android testing 2018-09-11 11:12:21 +00:00
trace-extension.cc [ubsan] Port Smi to the new design 2018-11-05 20:52:51 +00:00
trace-extension.h [cleanup] Mark test/ methods in subclasses with override. 2018-09-17 07:40:00 +00:00
types-fuzz.h [turbofan] Prepare broker for serialization. 2018-07-23 17:20:49 +00:00
unicode-helpers.cc [Parser] Add support for Zone allocated ConsumedPreParsingScopeData. 2018-09-07 10:28:40 +00:00
unicode-helpers.h [Parser] Add support for Zone allocated ConsumedPreParsingScopeData. 2018-09-07 10:28:40 +00:00