b6dc4dad4d
The following changes are done in preparation for the removal of Code objects in AOT with --dwarf-stack-traces: * Stack trace objects are extended to hold uword PCs (which may not fit into Smi range). * Scanning stack frames in GC (StackFrame::VisitObjectPointers) now avoids using Code objects. In order to find CompressedStackMaps it now calls ReversePc::FindCompressedStackMaps. * Singleton Code object (StubCode::UnknownDartCode()) is prepared as a replacement for Code objects in stack traces. It has PayloadStart() == 0 and Size() == kUwordMax so it includes arbitrary PCs. * In --dwarf-stack-traces mode, most Code objects obtained from stack frames are replaced with StubCode::UnknownDartCode(). This simulates future behavior of ReversePc::Lookup when Code objects will be removed. Issue: https://github.com/dart-lang/sdk/issues/44852 Change-Id: I7cec7b8b9396c9cfeca3c256a412ba4e82a7e0c4 TEST=ci Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/182720 Commit-Queue: Alexander Markov <alexmarkov@google.com> Reviewed-by: Tess Strickland <sstrickl@google.com> Reviewed-by: Martin Kustermann <kustermann@google.com>