Initial push of the reloaded version.
Added all transforms form PNaCl
Added AddressManager and Variable
Finished global value processing
Finished PointerCFG construction. Maybe add empty node elimination?
Added Env, Store, Kont, and PtsSet. They are all functional!
Finished a simple fsci interpreter and hooked it up with neongoby.
Now we have (1) external functions to handle (2) array strong updates to
disable (3) context sensitive trace to write
Fixed the array problem. Now we no longer collapse arrays into a single
location but rather treats array geps as multiple copy.
Things to do next: (1) External function (2) Store pruning (3)
Context-sensitive trace (4) Add array bound to optimize the analysis
time
Added external function handling (except mallocs)
Fixed a bug caused by top-level variable merging
Now the interpreter can pass all the jason tests.
Added k-CFA trace. Removed FlowSensitiveTrace because it isjust 0-CFA.
We can finally put TPA down for a while and focus on building sparse
graph.
Added inter-procedural pointer cfg. Its sparse counterpart is under
construction.
Finished sparse graph construction (sort-of). Now working on a new fully
sparse interpreter.
Restructured a little bit. Now SparseTPA and TPA are separate
Changed the meaning of Env and Store, and changed their interfaces.
Updated BasicInterpreter to conform to the new interfaces.
Finished a sketch of SparseInterpreter
Fixed several SparseInterpreter bugs related to strong updates. Switched
to SparseBitVector for representing points-to set. Refactored a little
bit to let SparseInterpreter and BasicInterpreter share more codes.
Added heap variable support
Fixed strong update on array object
Bug fixes