mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 23:35:34 +00:00
de66ce97bf
This is an initial skeleton of an inteface for bytecode. There are 6 major portions included in this patch. - RawBytecode: A typedef to expose jsbytecode* in a controlled manner, to allow easy future audits. - BytecodeLocation: This is an immutable view of a single program operation (a bytecode). There is is some basic functionality in here included for experimentation sake. - BytecodeLocationOffset: An immutable view of a source location offset, (and RawBytecodeLocationOffset, another typedef to ease future auditing) - BytecodeIterator: A forward iterator over BytecodeLocations, using program text order. - AllBytecodeIterable: A wrapper class that allows the use of a range-based for-loop over BytecodeLocations in a Script. - Modifications to JSScript to expose BytecodeLocations and answer some queries about containment. The interface is experimentally tested using JSScript::initScriptCounts as a simple playground for demonstrating the use of the interface. Differential Revision: https://phabricator.services.mozilla.com/D8918 --HG-- extra : rebase_source : 3d103ab8bc8cdcd48bc32779e38fbde35422e8f0 |
||
---|---|---|
.. | ||
ductwork/debugger | ||
examples | ||
ipc | ||
public | ||
rust | ||
src | ||
xpconnect | ||
app.mozbuild | ||
ffi.configure | ||
moz.build | ||
moz.configure |