Made changes for review
This commit is contained in:
committed by
Dan Gohman
parent
3686fc2fc7
commit
38ab82bcc0
@@ -110,7 +110,7 @@ Program structure
|
||||
|
||||
In LLVM IR, the largest representable unit is the *module* which corresponds
|
||||
more or less to a C translation unit. It is a collection of functions and
|
||||
global values that may contain references to external symbols too.
|
||||
global variables that may contain references to external symbols too.
|
||||
|
||||
In Cretonne IR, the largest representable unit is the *function*. This is so
|
||||
that functions can easily be compiled in parallel without worrying about
|
||||
|
||||
@@ -554,21 +554,18 @@ stack overflow checks in the prologue.
|
||||
the stack pointer has reached or exceeded the limit, generate a trap with a
|
||||
``stk_ovf`` code.
|
||||
|
||||
The global value must be accessible and naturally aligned for a
|
||||
pointer-sized value.
|
||||
|
||||
Setting `stack_limit` is an alternative way to detect stack overflow, when using
|
||||
a calling convention that doesn't perform stack probes.
|
||||
|
||||
Global variables
|
||||
----------------
|
||||
Global values
|
||||
-------------
|
||||
|
||||
A *global value* is an :term:`accessible` object in memory whose address is
|
||||
not known at compile time. The address is computed at runtime by
|
||||
:inst:`global_value`, possibly using information provided by the linker via
|
||||
relocations. There are multiple kinds of global values using different
|
||||
methods for determining their address. Cretonne does not track the type or even
|
||||
the size of global values, they are just pointers to non-stack memory.
|
||||
A *global value* is an object whose value is not known at compile time. The
|
||||
value is computed at runtime by :inst:`global_value`, possibly using
|
||||
information provided by the linker via relocations. There are multiple
|
||||
kinds of global values using different methods for determining their value.
|
||||
Cretonne does not track the type of a global value, for they are just
|
||||
values stored in non-stack memory.
|
||||
|
||||
When Cretonne is generating code for a virtual machine environment, globals can
|
||||
be used to access data structures in the VM's runtime. This requires functions
|
||||
|
||||
Reference in New Issue
Block a user