Lines Matching refs:atoms
28 live atoms, and then delete the non-live atoms.
36 other atoms, such as for literal c-strings or floating point constants, or for
43 There are three atoms: main, a proxy for printf, and an anonymous atom
48 There are only four different types of atoms:
51 95% of all atoms. This is a chunk of code or data
84 An object file is just a container of atoms. When linking an object file, a
86 atoms representing all content in the .o file. The linker adds all those atoms
94 nothing is added to the master graph of atoms. Instead, if after merging all
95 atoms from object files into a master graph, if any "undefined" atoms are left
98 atoms from the specified object file in the static library is added to the
99 master graph of atoms.
108 this is modeled in the linker is that a dynamic library contributes no atoms to
109 the initial graph of atoms. Instead, (like static libraries) if there are
110 "undefined" atoms in the master graph of all atoms, then each dynamic library is
135 The Resolving and Passes steps are done purely on the master graph of atoms, so
159 The resolving step takes all the atoms' graphs from each object file and
162 cases where atoms need to be coalesced. That is, two or more atoms need to be
165 replacing undefined atoms with actual definition atoms, and for merging copies
174 structures, the linker iterates all atoms in all input files. For each atom, it
180 When all initial input file atoms have been processed by the resolver, a scan is
181 made to see if there are any undefined atoms in the graph. If there are, the
183 replace the undefined atoms. It is an error if any undefined atoms are left
187 does a simple mark-and-sweep. It starts with "root" atoms (like "main" in a main
189 "live". When done, all atoms not marked "live" are removed.
229 The general structure of a pass is to iterate through the atoms in the current
231 stub pass, looks for call sites to shared library atoms (e.g. call to printf).
233 each proxy atom needed, and these new atoms are added to the current lld::File
234 object. Next, all the noted call sites to shared library atoms have their
243 place the content of the atoms into it.
254 atoms is that if the Writer knows a main executable is being linked and such
261 no initial atoms, but does lazily supply atoms by name as needed.
289 that those can be omitted from the text representation. Here is the atoms for a
294 atoms:
353 # Test that undefined atoms are replaced with defined atoms.
357 atoms:
361 atoms:
412 Currently, lld::File just has a path and a way to iterate its atoms. We will
418 scan all atoms looking for any Objective-C data structures. This could be done