dart-sdk/runtime
Tess Strickland 3e40abbc09 [vm/aot] Reland "Keep column information when possible for precompiled mode."
Changes:

Doing this always in precompiled mode meant increased data segment sizes
when CodeSourceMaps are stored, since encoded line/column information is
larger in the LEB-like encoding used. Now we only store column
information when we produce non-symbolic stacks, since the increased
space needed to store the columns is instead in DWARF sections and can
be stripped or elided.

Original description:

Previously, we passed line number information to the stack trace printer
and to DWARF by changing the non-special positions in the CodeSourceMap
to line numbers in precompiled mode. However, doing this lost column
information.

We get the column information back in the majority of cases by encoding
the line number and column information when neither is too large to pack
together into 30 bits. (Here, 20 bits for line and 10 bits for column.)
Otherwise, we just store the line information as before, though due to
using a bit to encode whether column info exists, it's reduced to 30
bits. If the line info is too big for that, we just return kNoSourcePos.

Cq-Include-Trybots: luci.dart.try:vm-kernel-precomp-nnbd-linux-release-x64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-linux-product-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm_x64-try
Change-Id: Ia8baee71468da6100a170fa305d03059ffd17f78
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151822
Commit-Queue: Tess Strickland <sstrickl@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2020-06-19 13:50:03 +00:00
..
bin [vm] Allow Isolate.spawnUri to spawn from app-jit snapshots 2020-06-18 12:59:33 +00:00
docs [vm/ffi] Convert Objects to Dart_Handles in FFI calls 2020-06-12 11:14:22 +00:00
include [vm/ffi] Expose a subset of dart_(native_)api.h for dynamic linking. 2020-06-18 07:30:43 +00:00
lib [vm/nnbd] Non-null assertions in NNBD weak mode 2020-06-18 20:02:42 +00:00
llvm_codegen [BUILD] - Format gn files, this is being done to ensure the unfork CL 2020-03-10 21:56:11 +00:00
observatory [ package:dds ] Handle expression evaluation invocations in DDS and forward compileExpression calls to clients which provide their own compilation service. 2020-06-11 22:43:39 +00:00
platform Reland "Revert "Add an --os=fuchsia option to build.py:"" 2020-06-18 00:24:31 +00:00
tests/vm [vm/aot] Reland "Keep column information when possible for precompiled mode." 2020-06-19 13:50:03 +00:00
third_party Reland "[vm] Build dart2native dependencies with the normal "create_sdk" target" 2020-06-17 16:12:26 +00:00
tools prefer “exclude” language for excluded entities 2020-06-15 18:48:06 +00:00
vm [vm/aot] Reland "Keep column information when possible for precompiled mode." 2020-06-19 13:50:03 +00:00
.clang-tidy [vm] Add runtime/.clang-tidy file 2019-09-05 09:51:13 +00:00
.gitignore
BUILD.gn [vm/ffi] Expose a subset of dart_(native_)api.h for dynamic linking. 2020-06-18 07:30:43 +00:00
codereview.settings
configs.gni Reland "[vm] Build dart2native dependencies with the normal "create_sdk" target" 2020-06-17 16:12:26 +00:00
CPPLINT.cfg
PRESUBMIT.py [Presubmit] Fixes presubmit for breaking API change. 2020-03-03 13:30:20 +00:00
runtime_args.gni [vm] DBC is obsolete. Remove dead code. 2019-10-27 18:18:29 +00:00