v8/include
Benedikt Meurer ed7b66400e [inspector] Introduce v8::StackFrame::GetLocation() API.
This introduces a new `GetLocation()` method for `v8::StackFrame`s,
which returns both line and column number at the same time (using the
existing `v8::Location` class). Since `v8::StackFrame` instances store
only the source position (per https://bit.ly/v8-stack-frame), we
currently need to look up the source position in the Script's line table
twice, once when we request the line number, and another time when we
request the column number.

With `GetLocation()` we perform only a single lookup in the Script's
line table and return both line and column number at the same time. This
cuts roughly 8% of the average execution time from the `standalone.js`
benchmark mentioned in crbug.com/1280519.

Bug: chromium:1280519, chromium:1278650, chromium:1069425
Bug: chromium:1077657, chromium:1283162
Doc: https://bit.ly/v8-cheaper-inspector-stack-traces
Change-Id: Ia3a0502990b6230363112a358b59875283399404
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3359628
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/main@{#78452}
2021-12-30 06:21:21 +00:00
..
cppgc cppgc: Persistent: Check thread usage on slow path 2021-12-07 14:32:47 +00:00
libplatform [api] Remove deprecated TraceObject::ArgValue::as_bool 2021-11-11 15:21:42 +00:00
APIDesign.md Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
DEPS cppgc: Implement process-global state accessors. 2021-02-17 22:37:24 +00:00
DIR_METADATA Add DIR_METADATA files to v8. 2020-10-20 22:12:28 +00:00
js_protocol-1.2.json Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
js_protocol-1.3.json Move inspector protocol definitions to include/ 2019-06-18 17:59:36 +00:00
js_protocol.pdl [inspector] Mark Debugger.CallFrame.url as deprecated. 2021-12-16 12:58:38 +00:00
OWNERS Make autoroll account owner of auto-updated file 2021-08-24 15:05:13 +00:00
v8-array-buffer.h V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
v8-callbacks.h [heap] trace heap layout before and after gc 2021-12-08 10:18:16 +00:00
v8-container.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-context.h V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
v8-cppgc.h cppgc: Advance deprecation arounds write barrier 2021-12-09 21:42:16 +00:00
v8-data.h [api] Introduce new HostImportModuleDynamicallyCallback 2021-11-05 14:35:43 +00:00
v8-date.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-debug.h [inspector] Introduce v8::StackFrame::GetLocation() API. 2021-12-30 06:21:21 +00:00
v8-embedder-heap.h heap: Mark EmbedderHeapTracer::GarbageCollectionForTesting as deprecated 2021-11-22 23:15:28 +00:00
v8-embedder-state-scope.h Fix destructor for EmbedderStateScope 2021-12-14 11:54:09 +00:00
v8-exception.h [api] Advance deprecation for deprecated apis <= v9.5 2021-10-26 13:04:31 +00:00
v8-extension.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-external.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-fast-api-calls.h Reland^2 "[fastcall] Enable float support on arm64 simulator"" 2021-11-24 11:58:39 +00:00
v8-forward.h [include] Add TryCatch and Extension to v8-forward.h 2021-09-23 13:15:10 +00:00
v8-function-callback.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-function.h [api] Deprecate v8::ScriptCompiler::CompileFunctionInContext 2021-10-27 07:19:51 +00:00
v8-initialization.h V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
v8-inspector-protocol.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-inspector.h [inspector] Remove unused V8StackTrace::buildInspectorObject(). 2021-11-24 07:33:54 +00:00
v8-internal.h heap: Migrate young GC cycle UMA metrics 2021-12-20 16:57:02 +00:00
v8-isolate.h cppgc: CppHeap no longer inherits from EmbedderHeapTracer api 2021-11-29 16:29:08 +00:00
v8-json.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-local-handle.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-locker.h [api] Advance API deprecation for APIs last marked in v9.6 2021-11-15 10:47:23 +00:00
v8-maybe.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-memory-span.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-message.h [api] Inline ScriptOrigin methods as declaration 2021-11-30 10:39:28 +00:00
v8-metrics.h heap: Migrate young GC cycle UMA metrics 2021-12-20 16:57:02 +00:00
v8-microtask-queue.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-microtask.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-object.h V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
v8-persistent-handle.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-platform.h Introduce VirtualAddressSpace interface 2021-12-04 21:42:04 +00:00
v8-primitive-object.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-primitive.h V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
v8-profiler.h Reland "[profiler] Surface VM & Embedder State" 2021-12-07 19:00:07 +00:00
v8-promise.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-proxy.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-regexp.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-script.h [api] Change host-defined options to v8::Data 2021-11-09 14:00:13 +00:00
v8-snapshot.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-statistics.h [api][profiler] Surface CpuProfiler memory in HeapCodeStatistics 2021-11-04 11:01:09 +00:00
v8-template.h api: Expose initial_array_prototype to public 2021-10-01 16:39:47 +00:00
v8-traced-handle.h TracedReference: Fix MSVC compile errors 2021-11-02 22:11:29 +00:00
v8-typed-array.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-unwinder-state.h [LOONG64] Add LoongArch64 backend 2021-08-16 13:05:19 +00:00
v8-unwinder.h Reland "[profiler] Surface VM & Embedder State" 2021-12-07 19:00:07 +00:00
v8-util.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-value-serializer-version.h Expose the ValueSerializer data format version as a compile-time constant. 2017-04-27 15:14:41 +00:00
v8-value-serializer.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-value.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8-version-string.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-version.h Version 9.9.0 2021-12-09 13:08:31 +00:00
v8-wasm-trap-handler-posix.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-wasm-trap-handler-win.h Fix LINT exceptions across the code base 2020-04-27 16:37:04 +00:00
v8-wasm.h Allow compiled module invalidation at WasmStreaming::Finish() 2021-11-23 16:05:34 +00:00
v8-weak-callback-info.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
v8config.h V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00