4b0a4e0a75
The only actual change required to the profiler service is appropriately retrieving the source position for interpreted frames during processing. Otherwise, most of the tests just need small changes to account for the slightly different stack trace generated by interpreted code when walking the stack as code instead of functions: * Interpreted code calls the runtime entry DRT_AllocateObject directly for slow-path allocation instead of via the AllocateObjectSlow stub. * The current name for bytecode frames when walked as code starts with "[Bytecode]" instead of "[Unoptimized]". The test vm/cc/Profiler_GetSourceReport is skipped since: * It tests compiled code-specific features like classifying source positions. * Inserting fake samples for interpreted functions is messier since many PC offsets may map to the same source position. The other skipped tests are specific to inlining and/or optimized compiled code, so there's no point in running them on interpreted code. TEST=vm/cc/Profiler Cq-Include-Trybots: luci.dart.try:vm-dyn-linux-debug-x64-try Change-Id: I3e73f42b2562eb6e3e73fe8d5c3f14389039ee04 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/507082 Reviewed-by: Alexander Markov <alexmarkov@google.com> Commit-Queue: Tess Strickland <sstrickl@google.com>