mirror of
https://github.com/RGBCube/serenity
synced 2025-10-27 07:32:32 +00:00
This includes:
- Parsing proper LabelledStatements with try_parse_labelled_statement()
- Removing LabelableStatement
- Implementing the LoopEvaluation semantics via loop_evaluation() in
each IterationStatement subclass; and IterationStatement evaluation
via {For,ForIn,ForOf,ForAwaitOf,While,DoWhile}Statement::execute()
- Updating ReturnStatement, BreakStatement and ContinueStatement to
return the appropriate completion types
- Basically reimplementing TryStatement and SwitchStatement according to
the spec, using completions
- Honoring result completion types in AsyncBlockStart and
OrdinaryCallEvaluateBody
- Removing any uses of the VM unwind mechanism - most importantly,
VM::throw_exception() now exclusively sets an exception and no longer
triggers any unwinding mechanism.
However, we already did a good job updating all of LibWeb and userland
applications to not use it, and the few remaining uses elsewhere don't
rely on unwinding AFAICT.
|
||
|---|---|---|
| .. | ||
| WebAssemblyInstanceConstructor.cpp | ||
| WebAssemblyInstanceConstructor.h | ||
| WebAssemblyInstanceObject.cpp | ||
| WebAssemblyInstanceObject.h | ||
| WebAssemblyInstanceObjectPrototype.cpp | ||
| WebAssemblyInstanceObjectPrototype.h | ||
| WebAssemblyMemoryConstructor.cpp | ||
| WebAssemblyMemoryConstructor.h | ||
| WebAssemblyMemoryPrototype.cpp | ||
| WebAssemblyMemoryPrototype.h | ||
| WebAssemblyModuleConstructor.cpp | ||
| WebAssemblyModuleConstructor.h | ||
| WebAssemblyModuleObject.cpp | ||
| WebAssemblyModuleObject.h | ||
| WebAssemblyModulePrototype.h | ||
| WebAssemblyObject.cpp | ||
| WebAssemblyObject.h | ||
| WebAssemblyTableConstructor.cpp | ||
| WebAssemblyTableConstructor.h | ||
| WebAssemblyTableObject.cpp | ||
| WebAssemblyTableObject.h | ||
| WebAssemblyTablePrototype.cpp | ||
| WebAssemblyTablePrototype.h | ||