org.apache.commons.nabla.forward.instructions
Class Dup2X2Transformer

java.lang.Object
  extended by org.apache.commons.nabla.forward.instructions.Dup2X2Transformer
All Implemented Interfaces:
InstructionsTransformer

public class Dup2X2Transformer
extends Object
implements InstructionsTransformer

Differentiation transformer for DUP2_X2 instructions.

Version:
$Id$

Field Summary
 
Fields inherited from interface org.apache.commons.nabla.forward.analysis.InstructionsTransformer
DS_TYPE
 
Constructor Summary
Dup2X2Transformer(boolean stack0Converted, boolean stack1Converted)
          Simple constructor.
 
Method Summary
 org.objectweb.asm.tree.InsnList getReplacement(org.objectweb.asm.tree.AbstractInsnNode insn, MethodDifferentiator methodDifferentiator)
          Get the replacement instructions.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Dup2X2Transformer

public Dup2X2Transformer(boolean stack0Converted,
                         boolean stack1Converted)
Simple constructor.

Parameters:
stack0Converted - if true, the top level stack element has already been converted
stack1Converted - if true, the next to top level stack element has already been converted
Method Detail

getReplacement

public org.objectweb.asm.tree.InsnList getReplacement(org.objectweb.asm.tree.AbstractInsnNode insn,
                                                      MethodDifferentiator methodDifferentiator)
                                               throws DifferentiationException
Get the replacement instructions.

Specified by:
getReplacement in interface InstructionsTransformer
Parameters:
insn - original instruction
methodDifferentiator - method differentiator driving this transformer
Returns:
replacement instructions
Throws:
DifferentiationException - if the method differentiator cannot provide a temporary variable


Copyright © 2008-2012 The Apache Software Foundation. All Rights Reserved.