diff --git a/runtime/vm/compiler/recognized_methods_list.h b/runtime/vm/compiler/recognized_methods_list.h index e0a966c23bf..1da8f4b4108 100644 --- a/runtime/vm/compiler/recognized_methods_list.h +++ b/runtime/vm/compiler/recognized_methods_list.h @@ -13,7 +13,7 @@ namespace dart { // debug mode to get the correct fingerprint from the mismatch error. #define OTHER_RECOGNIZED_LIST(V) \ V(AsyncLibrary, _FutureListener, handleValue, FutureListenerHandleValue, \ - 0xaa83f1d2) \ + 0xaa83f593) \ V(AsyncLibrary, _SuspendState, get:_functionData, \ SuspendState_getFunctionData, 0x79c36e2e) \ V(AsyncLibrary, _SuspendState, set:_functionData, \ diff --git a/runtime/vm/stack_trace.cc b/runtime/vm/stack_trace.cc index 5cf9bdf975e..6c699b7d84c 100644 --- a/runtime/vm/stack_trace.cc +++ b/runtime/vm/stack_trace.cc @@ -420,7 +420,7 @@ bool AsyncAwareStackUnwinder::HandleSynchronousFrame() { object_ = GetReceiver(); InitializeAwaiterFrameFromFutureListener(object_); UnwindToAwaiter(); - return true; // Hide this frame from the stack trace. + return false; // Do not hide this from the stack trace. } return false; diff --git a/sdk/lib/async/future_impl.dart b/sdk/lib/async/future_impl.dart index e5e8b2dba04..d2e089721f8 100644 --- a/sdk/lib/async/future_impl.dart +++ b/sdk/lib/async/future_impl.dart @@ -217,6 +217,7 @@ class _FutureListener { @pragma("vm:recognized", "other") @pragma("vm:never-inline") + @pragma("vm:invisible") FutureOr handleValue(S sourceResult) { return _zone.runUnary, S>(_onValue, sourceResult); }