Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(524)

Issue 2723213002: DWARF and unwind support for AOT assembly output. (Closed)

Created:
3 years, 9 months ago by rmacnak
Modified:
3 years, 9 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

DWARF and unwind support for AOT assembly output. Emit CFI information to teach gdb how to unwind Dart frames. Fixes unwinding for Mac x64 and Linux x64/ARM/ARM64. Unwinding already worked for iOS ARM64. Fixes unwinding on Android 6+ ARM. Emit DWARF information about function inlining and line number mappings. Works with gdb, addr2line and llvm-symbolizer. With --dwarf-stack-traces, also remove CodeSourceMaps from snapshots and change stack traces to a non-compliant form resembling Android's debuggerd output, which can be passed to ndk-stack. Issue #28785 R=fschneider@google.com, johnmccutchan@google.com, vegorov@google.com Committed: https://github.com/dart-lang/sdk/commit/ca20aab38465ce5d5990987337c57650350af1f6

Patch Set 1 #

Patch Set 2 : . #

Patch Set 3 : . #

Patch Set 4 : . #

Patch Set 5 : mac #

Patch Set 6 : . #

Patch Set 7 : . #

Patch Set 8 : . #

Patch Set 9 : . #

Patch Set 10 : . #

Patch Set 11 : . #

Total comments: 29

Patch Set 12 : . #

Patch Set 13 : . #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1255 lines, -129 lines) Patch
M runtime/vm/assembler_arm.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +3 lines, -1 line 0 comments Download
M runtime/vm/clustered_snapshot.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +11 lines, -6 lines 0 comments Download
M runtime/vm/dart.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +4 lines, -0 lines 0 comments Download
M runtime/vm/dart_api_impl.cc View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +6 lines, -0 lines 0 comments Download
M runtime/vm/datastream.h View 2 chunks +23 lines, -22 lines 0 comments Download
A runtime/vm/dwarf.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +207 lines, -0 lines 0 comments Download
A runtime/vm/dwarf.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +643 lines, -0 lines 0 comments Download
M runtime/vm/flag_list.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +3 lines, -0 lines 0 comments Download
M runtime/vm/flags.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/hash_map.h View 1 2 3 4 5 6 7 8 9 10 11 2 chunks +7 lines, -0 lines 0 comments Download
M runtime/vm/native_symbol.h View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/native_symbol_android.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +13 lines, -0 lines 0 comments Download
M runtime/vm/native_symbol_fuchsia.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +14 lines, -0 lines 0 comments Download
M runtime/vm/native_symbol_linux.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +13 lines, -0 lines 0 comments Download
M runtime/vm/native_symbol_macos.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +13 lines, -0 lines 0 comments Download
M runtime/vm/native_symbol_win.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/object.h View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +3 lines, -5 lines 0 comments Download
M runtime/vm/object.cc View 1 2 3 4 5 6 7 8 9 10 11 12 8 chunks +95 lines, -17 lines 0 comments Download
M runtime/vm/object_service.cc View 1 2 3 4 5 6 7 8 9 10 11 1 chunk +1 line, -2 lines 0 comments Download
M runtime/vm/precompiler.cc View 1 2 3 4 5 6 7 8 9 10 11 18 chunks +18 lines, -18 lines 0 comments Download
M runtime/vm/snapshot.h View 1 2 3 4 5 6 7 8 9 10 11 4 chunks +7 lines, -4 lines 0 comments Download
M runtime/vm/snapshot.cc View 1 2 3 4 5 6 7 8 9 10 11 10 chunks +161 lines, -54 lines 0 comments Download
M runtime/vm/vm_sources.gypi View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 17 (9 generated)
rmacnak
On Flutter iOS, using --dwarf-stack-traces shrinks a stripped app.dylib by 11222104 -> 10337376 (-7.8%) On ...
3 years, 9 months ago (2017-03-15 00:56:49 UTC) #7
Cutch
https://codereview.chromium.org/2723213002/diff/200001/runtime/vm/dwarf.cc File runtime/vm/dwarf.cc (right): https://codereview.chromium.org/2723213002/diff/200001/runtime/vm/dwarf.cc#newcode152 runtime/vm/dwarf.cc:152: Print(".uleb128 %" Pd "\n", kCompilationUnit); Might be a good ...
3 years, 9 months ago (2017-03-15 14:54:13 UTC) #8
Florian Schneider
Lgtm https://codereview.chromium.org/2723213002/diff/200001/runtime/vm/dwarf.cc File runtime/vm/dwarf.cc (right): https://codereview.chromium.org/2723213002/diff/200001/runtime/vm/dwarf.cc#newcode377 runtime/vm/dwarf.cc:377: int32_t func = stream.Read<int32_t>(); s/func/func_index/ https://codereview.chromium.org/2723213002/diff/200001/runtime/vm/dwarf.cc#newcode584 runtime/vm/dwarf.cc:584: // ...
3 years, 9 months ago (2017-03-15 18:15:06 UTC) #9
Vyacheslav Egorov (Google)
https://codereview.chromium.org/2723213002/diff/200001/runtime/vm/dwarf.cc File runtime/vm/dwarf.cc (right): https://codereview.chromium.org/2723213002/diff/200001/runtime/vm/dwarf.cc#newcode153 runtime/vm/dwarf.cc:153: Print(".uleb128 %" Pd "\n", DW_TAG_compile_unit); Maybe you can make ...
3 years, 9 months ago (2017-03-15 21:36:43 UTC) #10
rmacnak
https://codereview.chromium.org/2723213002/diff/200001/runtime/vm/dwarf.cc File runtime/vm/dwarf.cc (right): https://codereview.chromium.org/2723213002/diff/200001/runtime/vm/dwarf.cc#newcode152 runtime/vm/dwarf.cc:152: Print(".uleb128 %" Pd "\n", kCompilationUnit); On 2017/03/15 14:54:13, Cutch ...
3 years, 9 months ago (2017-03-16 17:50:11 UTC) #13
Cutch
lgtm
3 years, 9 months ago (2017-03-16 17:54:46 UTC) #14
Vyacheslav Egorov (Google)
lgtm
3 years, 9 months ago (2017-03-16 18:20:02 UTC) #15
rmacnak
3 years, 9 months ago (2017-03-16 20:09:01 UTC) #17
Message was sent while issue was closed.
Committed patchset #13 (id:260001) manually as
ca20aab38465ce5d5990987337c57650350af1f6 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698