jruby/jruby — pull request #996 by komax (2013-09-09 13:56:53+00:00)
Title: IR Event Handling

As discussed with @enebo and @subbuss, I designed and implemented a simple mechanism, to listen to events on IR, CFG, ... changes/updates. To put it more in detail:
* `IRScopeListener` listens to addInstr, when an (IR) Instruction is added to the IRScope
* `IRScopeListener` keeps track of the `IRBuilder#build` method, so it adds a hook before building an (IR) Operand and a hook after building it
* `InstructionsListener` abstracts over an `List`, for instance a `BasicBlock`. It records all updates/adds/removals to the original list, to enable a fine granular diff mechanism

In addition:
* fixed Imports for `IRScope`
* add of `IRScope.equals(Object)` based on the `scopeId` field

If you need more information or I should update my PR, just ping me.