summaryrefslogtreecommitdiffstats
path: root/llvm/docs/ProgrammersManual.rst
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2013-04-19 01:51:24 +0000
committerSean Callanan <scallanan@apple.com>2013-04-19 01:51:24 +0000
commitbb9945f4477671460d80f15b5f36e810a4ff2eed (patch)
treeef2604a8b9b78787fc4d67cf8c4358ada89d2469 /llvm/docs/ProgrammersManual.rst
parent99317268e20f5488af8aa9500ab60c6cad741076 (diff)
downloadbcm5719-llvm-bb9945f4477671460d80f15b5f36e810a4ff2eed.tar.gz
bcm5719-llvm-bb9945f4477671460d80f15b5f36e810a4ff2eed.zip
Made IRMemoryMap::FindSpace a little cleverer,
and made attempts to allocate memory in the process fall back to FindSpace and just allocate memory on the host (but with real-looking pointers, hence FindSpace) if the process doesn't allow allocation. This allows expressions to run on processes that don't support allocation, like core files. This introduces an extremely rare potential problem: If all of the following are true: - The Process doesn't support allocation; - the user writes an expression that refers to an address that does not yet map to anything, or is dynamically generated (e.g., the result of calling a function); and - the randomly-selected address for the static data for that specific expression runs into the address the user was expecting to work with; then dereferencing the pointer later results in the user seeing something unexpected. This is unlikely but possible; as a future piece of work, we should have processes be able to hint to the expression parser where it can allocate temporary data of this kind. llvm-svn: 179827
Diffstat (limited to 'llvm/docs/ProgrammersManual.rst')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud