Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closure conversion: support async #28876

Open
karlklose opened this issue Feb 23, 2017 · 1 comment
Open

Closure conversion: support async #28876

karlklose opened this issue Feb 23, 2017 · 1 comment
Labels
area-front-end Use area-front-end for front end / CFE / kernel format related issues. front-end-kernel P3 A lower priority bug or feature request

Comments

@karlklose
Copy link
Contributor

Currently, async support is done partly by kernel and partly in the VM, which relies on a specific set of variables and use of first-class functions, which is not easy for closure conversion to deal with.

@karlklose karlklose self-assigned this Feb 23, 2017
@karlklose
Copy link
Contributor Author

Most of the language tests (127/175) failing with closure conversion end in a stacktrace like this:

  [0x00000000009aa673] dart::Profiler::DumpStackTrace()
  [0x00000000009aa673] dart::Profiler::DumpStackTrace()
  [0x000000000068fc11] dart::DynamicAssertionHelper::Fail(char const*, ...)
  [0x0000000000980f4e] dart::kernel::ScopeBuilder::AddExceptionVariable(dart::GrowableArray<dart::LocalVariable*>*, char const*, long)
  [0x000000000098389d] dart::kernel::ScopeBuilder::VisitTryCatch(dart::kernel::TryCatch*)
  [0x0000000000a91e90] dart::kernel::Block::VisitChildren(dart::kernel::Visitor*)
  [0x0000000000983119] non-virtual thunk to dart::kernel::ScopeBuilder::VisitBlock(dart::kernel::Block*)
  [0x0000000000983d86] dart::kernel::ScopeBuilder::VisitFunctionNode(dart::kernel::FunctionNode*)
  [0x0000000000982438] dart::kernel::ScopeBuilder::BuildScopes()
  [0x0000000000925615] dart::ParsedFunction::EnsureKernelScopes()
  [0x000000000098f3d3] dart::kernel::FlowGraphBuilder::BuildGraph()
  [0x00000000006f2d42] dart::DartCompilationPipeline::BuildFlowGraph(dart::Zone*, dart::ParsedFunction*, dart::ZoneGrowableArray<dart::ICData const*> const&, long)
  [0x00000000006f5c38] dart::CompileParsedFunctionHelper::Compile(dart::CompilationPipeline*)
  [0x00000000006f86c3] Unknown symbol
  [0x00000000006f7fee] dart::Compiler::CompileFunction(dart::Thread*, dart::Function const&)
  [0x00000000006f30fb] dart::DRT_CompileFunction(dart::NativeArguments)
  [0x00007ffff7e43630] [Stub] CallToRuntime
  [0x00007ffff7e436b0] [Stub] LazyCompile
  [0x00007ffff62882e9] Closure#Future#microtask#function.call
  [0x00007ffff6287ee5] _microtaskLoop
  [0x00007ffff628799c] _startMicrotaskLoop
  [0x00007ffff6287852] Closure#_startMicrotaskLoop.call
  [0x00007ffff6287732] _runPendingImmediateCallback
  [0x00007ffff628129f] _RawReceivePortImpl._handleMessage
  [0x00007ffff7e43a4e] [Stub] InvokeDartCode
  [0x0000000000710cd8] dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&, dart::Array const&, unsigned long)
  [0x0000000000710a74] dart::DartEntry::InvokeFunction(dart::Function const&, dart::Array const&)
  [0x0000000000713e44] dart::DartLibraryCalls::HandleMessage(dart::Object const&, dart::Instance const&)
  [0x000000000082091d] dart::IsolateMessageHandler::HandleMessage(dart::Message*)
  [0x0000000000855919] dart::MessageHandler::HandleMessages(dart::MonitorLocker*, bool, bool)
  [0x0000000000855fd2] dart::MessageHandler::TaskCallback()
  [0x0000000000856a43] Unknown symbol

@jensjoha jensjoha added the P3 A lower priority bug or feature request label Jan 4, 2018
@kmillikin kmillikin added area-front-end Use area-front-end for front end / CFE / kernel format related issues. front-end-kernel and removed area-kernel labels Sep 19, 2018
@karlklose karlklose removed their assignment Mar 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-front-end Use area-front-end for front end / CFE / kernel format related issues. front-end-kernel P3 A lower priority bug or feature request
Projects
None yet
Development

No branches or pull requests

3 participants