Skip to content

Commit f594430

Browse files
[docs] Note the VM can now generate Mach-O directly.
Change-Id: I337b0aebbb9cd2e1d283f3a059ecbdc05d148118 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/445960 Reviewed-by: Tess Strickland <[email protected]>
1 parent 9eb648a commit f594430

File tree

1 file changed

+19
-3
lines changed

1 file changed

+19
-3
lines changed

runtime/docs/glossary.md

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,14 @@ An optimization based on some property that has held so far in the execution of
8585

8686
Transitioning from a stack frame running optimized code to a frame or multiple frames running the corresponding unoptimized code. Usually because a speculative assumption made by the optimized code has been discovered to no longer hold.
8787

88+
## Eager deoptimization
89+
90+
Deoptimization triggered when the currently executing function discovers a speculative assumption no longer holds.
91+
92+
## Lazy deoptimization
93+
94+
Deoptimization scheduled when a function on the stack may depend on an assumption that no longer holds, which is applied later when a return or throw would return to that function.
95+
8896
## Deopt id
8997

9098
An identifier that matches a position in optimized code to a position in unoptimized code.
@@ -100,11 +108,15 @@ A source position within a script, usually a file. It is a UTF-8 offset unrelate
100108

101109
## [Executable and Linkable Format, ELF](https://en.wikipedia.org/wiki/Executable_and_Linkable_Format)
102110

103-
The format of executables on Linux, Android and Fuchsia. The Dart AOT compiler can directly produce an ELF shared library as output.
111+
The format of executables on Linux, Android and Fuchsia. The Dart AOT compiler can directly produce an ELF shared library as output. It can also produce assembly that the GCC or LLVM assemblers can translate into ELF.
104112

105113
## [Mach-O](https://en.wikipedia.org/wiki/Mach-O)
106114

107-
The format of executables on macOS and iOS. The Dart AOT compiler can produce assembly that the GCC or LLVM assemblers can translate into Mach-O.
115+
The format of executables on macOS and iOS. The Dart AOT compiler can directly produce a Mach-O shared library as output. It can also produce assembly that the GCC or LLVM assemblers can translate into Mach-O.
116+
117+
## [Portable Executable, PE](https://en.wikipedia.org/wiki/Portable_Executable)
118+
119+
The format of executables on Windows. The Dart AOT compiler can produce assembly that the LLVM assembler can translate into a DLL.
108120

109121
## [DWARF](https://en.wikipedia.org/wiki/DWARF)
110122

@@ -158,7 +170,7 @@ Not to be confused with [DIL](#kernel-dart-intermediate-language-dil-dill).
158170

159171
## [Control flow graph, CFG, flow graph](https://en.wikipedia.org/wiki/Control-flow_graph)
160172

161-
## [Loop-invariant code mode, LICM](../vm/compiler/backend/redundancy_elimination.h#:~:text=class%20LICM)
173+
## [Loop-invariant code motion, LICM](../vm/compiler/backend/redundancy_elimination.h#:~:text=class%20LICM)
162174

163175
## Common subexpression elimination, CSE
164176

@@ -179,3 +191,7 @@ A commonly used sequence of machine code that has been factored out into a separ
179191
## [Type arguments, type argument vector](types.md#typearguments)
180192

181193
[debugging-asan]: https://github.com/dart-lang/sdk/tree/main/docs/Debugging-Dart-VM-with-AddressSanitizer.md
194+
195+
## Zone
196+
197+
[Arena allocation](https://en.wikipedia.org/wiki/Region-based_memory_management) in the C++ runtime: allocations into a zone are not freed individually but all at once when the zone ends. Major uses of zone allocation include local handles and flow-graph instructions.

0 commit comments

Comments
 (0)