summaryrefslogtreecommitdiffstats
path: root/lldb/source/API/SBSourceManager.cpp
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2013-03-19 00:10:07 +0000
committerSean Callanan <scallanan@apple.com>2013-03-19 00:10:07 +0000
commit8dfb68e0398ef48d41dc8ea058e9aa750b5fc85f (patch)
treef3cc669add590ceef9c2f27cae111a4fc6832d5f /lldb/source/API/SBSourceManager.cpp
parent807e4dced5419437b7965da8fea34e8d0227d49a (diff)
downloadbcm5719-llvm-8dfb68e0398ef48d41dc8ea058e9aa750b5fc85f.tar.gz
bcm5719-llvm-8dfb68e0398ef48d41dc8ea058e9aa750b5fc85f.zip
Refactored the expression parser so that the IR
and the JITted code are managed by a standalone class that handles memory management itself. I have removed RecordingMemoryManager and ProcessDataAllocator, which filled similar roles and had confusing ownership, with a common class called IRExecutionUnit. The IRExecutionUnit manages all allocations ever made for an expression and frees them when it goes away. It also contains the code generator and can vend the Module for an expression to other clases. The end goal here is to make the output of the expression parser re-usable; that is, to avoid re-parsing when re-parsing isn't necessary. I've also cleaned up some code and used weak pointers in more places. Please let me know if you see any leaks; I checked myself as well but I might have missed a case. llvm-svn: 177364
Diffstat (limited to 'lldb/source/API/SBSourceManager.cpp')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud