changeset 16919:0fe4732e5181

made use of generated Node classes predicated on value of graal.useGeneratedNodes system property (default is false)
author Doug Simon <doug.simon@oracle.com>
date Mon, 25 Aug 2014 13:45:12 +0200
parents b03a16cc5245
children 77981382473e
files graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeMapTest.java graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeUsagesTests.java graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest.java graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest2.java graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectLoadAcquireNode.java graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectStoreReleaseNode.java graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILWorkItemAbsIdNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassCastNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetClassLoader0Node.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetComponentTypeNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetModifiersNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetSuperclassNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsArrayNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInstanceNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInterfaceNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsPrimitiveNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizationFetchUnrollInfoCallNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizeCallerNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizingStubCall.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DirectCompareAndSwapNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EndLockScopeNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EnterUnpackFramesStackFrameNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePostWriteBarrier.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePreWriteBarrier.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PreWriteBarrier.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ReferentFieldReadBarrier.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotDirectCallTargetNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotIndirectCallTargetNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/JumpToExceptionHandlerInCallerNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveCurrentStackFrameNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveDeoptimizedStackFrameNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveUnpackFramesStackFrameNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PatchReturnAddressNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PrefetchAllocateNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PushInterpreterFrameNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialArrayRangeWriteBarrier.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetAnchorNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetLocationProxyNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubStartNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/UncommonTrapCallNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyCallNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteTargetNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CompositeValueClassSubstitutions.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotNodeClassSubstitutions.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectGetClassNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/SystemIdentityHashCodeNode.java graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeArrayCopyNode.java graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BreakpointNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConditionAnchorNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DirectCallTargetNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DispatchBeginNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DynamicDeoptimizeNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EndNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EntryMarkerNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FullInfopointNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardPhiNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardProxyNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IndirectCallTargetNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/KillingBeginNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicConstantNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicNegationNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopEndNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopExitNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryMapNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryPhiNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ParameterNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiArrayNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ReturnNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SafepointNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ShortCircuitOrNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SimpleInfopointNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StartNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValuePhiNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueProxyNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConditionalNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatAddNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatDivNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatEqualsNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatLessThanNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatMulNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatRemNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatSubNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerAddNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerBelowNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerDivNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerEqualsNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerMulNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerRemNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerSubNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerTestNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedDivNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRemNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/WeakCounterNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BranchProbabilityNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ComputeAddressNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedValueAnchorNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/MembarNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/NullCheckNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRLocalNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRStartNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/StoreHubNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewArrayNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ArrayLengthNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndAddNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CompareAndSwapNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewInstanceNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ExceptionObjectNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadExceptionObjectNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredAtomicReadAndWriteNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorEnterNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorExitNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorIdNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewInstanceNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewMultiArrayNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/SelfReplacingMethodCallTargetNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreFieldNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreIndexedNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/AllocatedObjectNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualArrayNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/AssertionNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitCountNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanReverseNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ExplodeLoopNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/LoadSnippetVarargParameterNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroStateSplitNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MemoryAnchorNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReverseBytesNode.java graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/WriteRegisterNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/BailoutNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/LoadIndexedFinalNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactSplitNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactSplitNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulHighNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactSplitNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/UnsignedMulHighNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/CompilationConstantNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverInlineMacroNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/ForceMaterializeNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/MaterializeFrameNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadMacroNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeStoreMacroNode.java graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/UnsafeTypeCastMacroNode.java graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializedObjectState.java graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/VirtualObjectState.java graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/SnippetLocationNode.java graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/WordCastNode.java
diffstat 264 files changed, 350 insertions(+), 336 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeMapTest.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeMapTest.java	Mon Aug 25 13:45:12 2014 +0200
@@ -37,7 +37,7 @@
         }
 
         public static TestNode create() {
-            return new NodeMapTest_TestNodeGen();
+            return USE_GENERATED_NODES ? new NodeMapTest_TestNodeGen() : new TestNode();
         }
     }
 
--- a/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeUsagesTests.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/NodeUsagesTests.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,7 +36,7 @@
     @NodeInfo
     static class Def extends Node {
         public static Def create() {
-            return new NodeUsagesTests_DefGen();
+            return USE_GENERATED_NODES ? new NodeUsagesTests_DefGen() : new Def();
         }
     }
 
@@ -47,7 +47,7 @@
         @Input Def in2;
 
         public static Use create(Def in0, Def in1, Def in2) {
-            return new NodeUsagesTests_UseGen(in0, in1, in2);
+            return USE_GENERATED_NODES ? new NodeUsagesTests_UseGen(in0, in1, in2) : new Use(in0, in1, in2);
         }
 
         Use(Def in0, Def in1, Def in2) {
--- a/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
         private final String name;
 
         public static TestNode create(String name) {
-            return new TypedNodeIteratorTest_TestNodeGen(name);
+            return USE_GENERATED_NODES ? new TypedNodeIteratorTest_TestNodeGen(name) : new TestNode(name);
         }
 
         TestNode(String name) {
--- a/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest2.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.graph.test/src/com/oracle/graal/graph/test/TypedNodeIteratorTest2.java	Mon Aug 25 13:45:12 2014 +0200
@@ -37,7 +37,7 @@
         private final String name;
 
         public static NodeA create(String name) {
-            return new TypedNodeIteratorTest2_NodeAGen(name);
+            return USE_GENERATED_NODES ? new TypedNodeIteratorTest2_NodeAGen(name) : new NodeA(name);
         }
 
         NodeA(String name) {
@@ -53,7 +53,7 @@
     static class NodeB extends NodeA implements IterableNodeType {
 
         public static NodeB create(String name) {
-            return new TypedNodeIteratorTest2_NodeBGen(name);
+            return USE_GENERATED_NODES ? new TypedNodeIteratorTest2_NodeBGen(name) : new NodeB(name);
         }
 
         NodeB(String name) {
@@ -64,7 +64,7 @@
     @NodeInfo
     static class NodeC extends NodeB {
         public static NodeC create(String name) {
-            return new TypedNodeIteratorTest2_NodeCGen(name);
+            return USE_GENERATED_NODES ? new TypedNodeIteratorTest2_NodeCGen(name) : new NodeC(name);
         }
 
         NodeC(String name) {
@@ -75,7 +75,7 @@
     @NodeInfo
     static class NodeD extends NodeC {
         public static NodeD create(String name) {
-            return new TypedNodeIteratorTest2_NodeDGen(name);
+            return USE_GENERATED_NODES ? new TypedNodeIteratorTest2_NodeDGen(name) : new NodeD(name);
         }
 
         NodeD(String name) {
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Graph.java	Mon Aug 25 13:45:12 2014 +0200
@@ -22,6 +22,8 @@
  */
 package com.oracle.graal.graph;
 
+import static com.oracle.graal.graph.Node.*;
+
 import java.util.*;
 
 import com.oracle.graal.compiler.common.*;
@@ -649,14 +651,14 @@
     @com.oracle.graal.nodeinfo.NodeInfo
     static class PlaceHolderNode extends Node {
         public static PlaceHolderNode create() {
-            return new Graph_PlaceHolderNodeGen();
+            return new PlaceHolderNode();
         }
 
         PlaceHolderNode() {
         }
     }
 
-    private static final Node PLACE_HOLDER = new Graph_PlaceHolderNodeGen();
+    private static final Node PLACE_HOLDER = USE_GENERATED_NODES ? new Graph_PlaceHolderNodeGen() : new PlaceHolderNode();
 
     /**
      * When the percent of live nodes in {@link #nodes} fall below this number, a call to
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/Node.java	Mon Aug 25 13:45:12 2014 +0200
@@ -56,6 +56,8 @@
 @NodeInfo
 public abstract class Node implements Cloneable, Formattable {
 
+    public final static boolean USE_GENERATED_NODES = Boolean.getBoolean("graal.useGeneratedNodes");
+
     static final int DELETED_ID_START = -1000000000;
     static final int INITIAL_ID = -1;
     static final int ALIVE_ID_START = 0;
@@ -167,7 +169,8 @@
     public static final int NOT_ITERABLE = -1;
 
     public Node() {
-        assert getClass().getAnnotation(GeneratedNode.class) != null : getClass() + " is not a generated Node class - forgot @" + NodeInfo.class.getSimpleName() + " on class declaration?";
+        assert USE_GENERATED_NODES == (getClass().getAnnotation(GeneratedNode.class) != null) : getClass() + " is not a generated Node class - forgot @" + NodeInfo.class.getSimpleName() +
+                        " on class declaration?";
         init();
     }
 
@@ -888,7 +891,7 @@
      * @returns true if this node has no inputs and no successors
      */
     public boolean isLeafNode() {
-        return true;
+        return USE_GENERATED_NODES || getNodeClass().isLeafNode();
     }
 
     protected void afterClone(@SuppressWarnings("unused") Node other) {
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java	Mon Aug 25 13:45:12 2014 +0200
@@ -108,6 +108,7 @@
      * Determines if this node type implements {@link Simplifiable}.
      */
     private final boolean isSimplifiable;
+    private final boolean isLeafNode;
 
     public NodeClass(Class<?> clazz) {
         this(clazz, new DefaultCalcOffset(), null, 0);
@@ -209,7 +210,7 @@
             this.iterableId = Node.NOT_ITERABLE;
             this.iterableIds = null;
         }
-
+        isLeafNode = (this.inputOffsets.length == 0 && this.successorOffsets.length == 0);
         nodeIterableCount = Debug.metric("NodeIterable_%s", shortName);
     }
 
@@ -234,9 +235,13 @@
     }
 
     private boolean isNodeClassFor(Node n) {
-        GeneratedNode gen = n.getClass().getAnnotation(GeneratedNode.class);
-        assert gen != null;
-        return gen.value() == getClazz();
+        if (Node.USE_GENERATED_NODES) {
+            GeneratedNode gen = n.getClass().getAnnotation(GeneratedNode.class);
+            assert gen != null;
+            return gen.value() == getClazz();
+        } else {
+            return n.getNodeClass().getClazz() == n.getClass();
+        }
     }
 
     public String shortName() {
@@ -1569,4 +1574,8 @@
     private static boolean isAssignable(Class<?> fieldType, Node replacement) {
         return replacement == null || !NODE_CLASS.isAssignableFrom(fieldType) || fieldType.isAssignableFrom(replacement.getClass());
     }
+
+    public boolean isLeafNode() {
+        return isLeafNode;
+    }
 }
--- a/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot.amd64/src/com/oracle/graal/hotspot/amd64/AMD64RawNativeCallNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
     @Input NodeInputList<ValueNode> args;
 
     public static AMD64RawNativeCallNode create(Kind returnType, Constant functionPointer, ValueNode[] args) {
-        return new AMD64RawNativeCallNodeGen(returnType, functionPointer, args);
+        return USE_GENERATED_NODES ? new AMD64RawNativeCallNodeGen(returnType, functionPointer, args) : new AMD64RawNativeCallNode(returnType, functionPointer, args);
     }
 
     protected AMD64RawNativeCallNode(Kind returnType, Constant functionPointer, ValueNode[] args) {
--- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectLoadAcquireNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectLoadAcquireNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
 public class HSAILDirectLoadAcquireNode extends DirectReadNode {
 
     public static HSAILDirectLoadAcquireNode create(ValueNode address, Kind readKind) {
-        return new HSAILDirectLoadAcquireNodeGen(address, readKind);
+        return USE_GENERATED_NODES ? new HSAILDirectLoadAcquireNodeGen(address, readKind) : new HSAILDirectLoadAcquireNode(address, readKind);
     }
 
     protected HSAILDirectLoadAcquireNode(ValueNode address, Kind readKind) {
--- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectStoreReleaseNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILDirectStoreReleaseNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
 public class HSAILDirectStoreReleaseNode extends DirectStoreNode {
 
     public static HSAILDirectStoreReleaseNode create(ValueNode address, ValueNode value, Kind kind) {
-        return new HSAILDirectStoreReleaseNodeGen(address, value, kind);
+        return USE_GENERATED_NODES ? new HSAILDirectStoreReleaseNodeGen(address, value, kind) : new HSAILDirectStoreReleaseNode(address, value, kind);
     }
 
     protected HSAILDirectStoreReleaseNode(ValueNode address, ValueNode value, Kind kind) {
--- a/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILWorkItemAbsIdNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot.hsail/src/com/oracle/graal/hotspot/hsail/replacements/HSAILWorkItemAbsIdNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
 public class HSAILWorkItemAbsIdNode extends FixedWithNextNode implements LIRLowerable {
 
     public static HSAILWorkItemAbsIdNode create() {
-        return new HSAILWorkItemAbsIdNodeGen();
+        return USE_GENERATED_NODES ? new HSAILWorkItemAbsIdNodeGen() : new HSAILWorkItemAbsIdNode();
     }
 
     protected HSAILWorkItemAbsIdNode() {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/AllocaNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -52,7 +52,7 @@
     private final BitSet objects;
 
     public static AllocaNode create(int slots, BitSet objects) {
-        return new AllocaNodeGen(slots, objects);
+        return USE_GENERATED_NODES ? new AllocaNodeGen(slots, objects) : new AllocaNode(slots, objects);
     }
 
     protected AllocaNode(int slots, BitSet objects) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/BeginLockScopeNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -43,7 +43,7 @@
     private int lockDepth;
 
     public static BeginLockScopeNode create(int lockDepth) {
-        return new BeginLockScopeNodeGen(lockDepth);
+        return USE_GENERATED_NODES ? new BeginLockScopeNodeGen(lockDepth) : new BeginLockScopeNode(lockDepth);
     }
 
     BeginLockScopeNode(int lockDepth) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CStringNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -37,7 +37,7 @@
     private final String string;
 
     public static CStringNode create(String string) {
-        return new CStringNodeGen(string);
+        return USE_GENERATED_NODES ? new CStringNodeGen(string) : new CStringNode(string);
     }
 
     CStringNode(String string) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassCastNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassCastNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
 public class ClassCastNode extends MacroStateSplitNode implements Canonicalizable.Binary<ValueNode> {
 
     public static ClassCastNode create(Invoke invoke) {
-        return new ClassCastNodeGen(invoke);
+        return USE_GENERATED_NODES ? new ClassCastNodeGen(invoke) : new ClassCastNode(invoke);
     }
 
     protected ClassCastNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetClassLoader0Node.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetClassLoader0Node.java	Mon Aug 25 13:45:12 2014 +0200
@@ -40,7 +40,7 @@
 public class ClassGetClassLoader0Node extends MacroStateSplitNode implements Canonicalizable {
 
     public static ClassGetClassLoader0Node create(Invoke invoke) {
-        return new ClassGetClassLoader0NodeGen(invoke);
+        return USE_GENERATED_NODES ? new ClassGetClassLoader0NodeGen(invoke) : new ClassGetClassLoader0Node(invoke);
     }
 
     protected ClassGetClassLoader0Node(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetComponentTypeNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetComponentTypeNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
 public class ClassGetComponentTypeNode extends MacroNode implements Canonicalizable {
 
     public static ClassGetComponentTypeNode create(Invoke invoke) {
-        return new ClassGetComponentTypeNodeGen(invoke);
+        return USE_GENERATED_NODES ? new ClassGetComponentTypeNodeGen(invoke) : new ClassGetComponentTypeNode(invoke);
     }
 
     protected ClassGetComponentTypeNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetModifiersNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetModifiersNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
 public class ClassGetModifiersNode extends MacroNode implements Canonicalizable {
 
     public static ClassGetModifiersNode create(Invoke invoke) {
-        return new ClassGetModifiersNodeGen(invoke);
+        return USE_GENERATED_NODES ? new ClassGetModifiersNodeGen(invoke) : new ClassGetModifiersNode(invoke);
     }
 
     protected ClassGetModifiersNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetSuperclassNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassGetSuperclassNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
 public class ClassGetSuperclassNode extends MacroNode implements Canonicalizable {
 
     public static ClassGetSuperclassNode create(Invoke invoke) {
-        return new ClassGetSuperclassNodeGen(invoke);
+        return USE_GENERATED_NODES ? new ClassGetSuperclassNodeGen(invoke) : new ClassGetSuperclassNode(invoke);
     }
 
     protected ClassGetSuperclassNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsArrayNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsArrayNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
 public class ClassIsArrayNode extends MacroNode implements Canonicalizable {
 
     public static ClassIsArrayNode create(Invoke invoke) {
-        return new ClassIsArrayNodeGen(invoke);
+        return USE_GENERATED_NODES ? new ClassIsArrayNodeGen(invoke) : new ClassIsArrayNode(invoke);
     }
 
     protected ClassIsArrayNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInstanceNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInstanceNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -41,7 +41,7 @@
 public class ClassIsInstanceNode extends MacroNode implements Canonicalizable {
 
     public static ClassIsInstanceNode create(Invoke invoke) {
-        return new ClassIsInstanceNodeGen(invoke);
+        return USE_GENERATED_NODES ? new ClassIsInstanceNodeGen(invoke) : new ClassIsInstanceNode(invoke);
     }
 
     protected ClassIsInstanceNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInterfaceNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsInterfaceNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
 public class ClassIsInterfaceNode extends MacroNode implements Canonicalizable {
 
     public static ClassIsInterfaceNode create(Invoke invoke) {
-        return new ClassIsInterfaceNodeGen(invoke);
+        return USE_GENERATED_NODES ? new ClassIsInterfaceNodeGen(invoke) : new ClassIsInterfaceNode(invoke);
     }
 
     protected ClassIsInterfaceNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsPrimitiveNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/ClassIsPrimitiveNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
 public class ClassIsPrimitiveNode extends MacroNode implements Canonicalizable {
 
     public static ClassIsPrimitiveNode create(Invoke invoke) {
-        return new ClassIsPrimitiveNodeGen(invoke);
+        return USE_GENERATED_NODES ? new ClassIsPrimitiveNodeGen(invoke) : new ClassIsPrimitiveNode(invoke);
     }
 
     protected ClassIsPrimitiveNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CompressionNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -51,7 +51,7 @@
     private final CompressEncoding encoding;
 
     public static CompressionNode create(CompressionOp op, ValueNode input, CompressEncoding encoding) {
-        return new CompressionNodeGen(op, input, encoding);
+        return USE_GENERATED_NODES ? new CompressionNodeGen(op, input, encoding) : new CompressionNode(op, input, encoding);
     }
 
     CompressionNode(CompressionOp op, ValueNode input, CompressEncoding encoding) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentJavaThreadNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -43,7 +43,7 @@
     private LIRKind wordKind;
 
     public static CurrentJavaThreadNode create(Kind kind) {
-        return new CurrentJavaThreadNodeGen(kind);
+        return USE_GENERATED_NODES ? new CurrentJavaThreadNodeGen(kind) : new CurrentJavaThreadNode(kind);
     }
 
     CurrentJavaThreadNode(Kind kind) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/CurrentLockNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
     private int lockDepth;
 
     public static CurrentLockNode create(int lockDepth) {
-        return new CurrentLockNodeGen(lockDepth);
+        return USE_GENERATED_NODES ? new CurrentLockNodeGen(lockDepth) : new CurrentLockNode(lockDepth);
     }
 
     CurrentLockNode(int lockDepth) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizationFetchUnrollInfoCallNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizationFetchUnrollInfoCallNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -45,7 +45,7 @@
     private final ForeignCallsProvider foreignCalls;
 
     public static DeoptimizationFetchUnrollInfoCallNode create(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ValueNode registerSaver) {
-        return new DeoptimizationFetchUnrollInfoCallNodeGen(foreignCalls, registerSaver);
+        return USE_GENERATED_NODES ? new DeoptimizationFetchUnrollInfoCallNodeGen(foreignCalls, registerSaver) : new DeoptimizationFetchUnrollInfoCallNode(foreignCalls, registerSaver);
     }
 
     protected DeoptimizationFetchUnrollInfoCallNode(ForeignCallsProvider foreignCalls, ValueNode registerSaver) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizeCallerNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizeCallerNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
     private final DeoptimizationReason reason;
 
     public static DeoptimizeCallerNode create(DeoptimizationAction action, DeoptimizationReason reason) {
-        return new DeoptimizeCallerNodeGen(action, reason);
+        return USE_GENERATED_NODES ? new DeoptimizeCallerNodeGen(action, reason) : new DeoptimizeCallerNode(action, reason);
     }
 
     protected DeoptimizeCallerNode(DeoptimizationAction action, DeoptimizationReason reason) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizingStubCall.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DeoptimizingStubCall.java	Mon Aug 25 13:45:12 2014 +0200
@@ -30,7 +30,7 @@
 public class DeoptimizingStubCall extends DeoptimizingFixedWithNextNode {
 
     public static DeoptimizingStubCall create(Stamp stamp) {
-        return new DeoptimizingStubCallGen(stamp);
+        return USE_GENERATED_NODES ? new DeoptimizingStubCallGen(stamp) : new DeoptimizingStubCall(stamp);
     }
 
     protected DeoptimizingStubCall(Stamp stamp) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DimensionsNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -44,7 +44,7 @@
     private final int rank;
 
     public static DimensionsNode create(int rank) {
-        return new DimensionsNodeGen(rank);
+        return USE_GENERATED_NODES ? new DimensionsNodeGen(rank) : new DimensionsNode(rank);
     }
 
     DimensionsNode(int rank) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DirectCompareAndSwapNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/DirectCompareAndSwapNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -48,7 +48,7 @@
     private final LocationIdentity locationIdentity;
 
     public static DirectCompareAndSwapNode create(ValueNode object, ValueNode offset, ValueNode expected, ValueNode newValue, LocationIdentity locationIdentity) {
-        return new DirectCompareAndSwapNodeGen(object, offset, expected, newValue, locationIdentity);
+        return USE_GENERATED_NODES ? new DirectCompareAndSwapNodeGen(object, offset, expected, newValue, locationIdentity) : new DirectCompareAndSwapNode(object, offset, expected, newValue, locationIdentity);
     }
 
     protected DirectCompareAndSwapNode(ValueNode object, ValueNode offset, ValueNode expected, ValueNode newValue, LocationIdentity locationIdentity) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EndLockScopeNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EndLockScopeNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -37,7 +37,7 @@
 public class EndLockScopeNode extends AbstractMemoryCheckpoint implements LIRLowerable, MonitorExit, MemoryCheckpoint.Single {
 
     public static EndLockScopeNode create() {
-        return new EndLockScopeNodeGen();
+        return USE_GENERATED_NODES ? new EndLockScopeNodeGen() : new EndLockScopeNode();
     }
 
     protected EndLockScopeNode() {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EnterUnpackFramesStackFrameNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/EnterUnpackFramesStackFrameNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -44,7 +44,7 @@
     @Input SaveAllRegistersNode registerSaver;
 
     public static EnterUnpackFramesStackFrameNode create(ValueNode framePc, ValueNode senderSp, ValueNode senderFp, ValueNode registerSaver) {
-        return new EnterUnpackFramesStackFrameNodeGen(framePc, senderSp, senderFp, registerSaver);
+        return USE_GENERATED_NODES ? new EnterUnpackFramesStackFrameNodeGen(framePc, senderSp, senderFp, registerSaver) : new EnterUnpackFramesStackFrameNode(framePc, senderSp, senderFp, registerSaver);
     }
 
     protected EnterUnpackFramesStackFrameNode(ValueNode framePc, ValueNode senderSp, ValueNode senderFp, ValueNode registerSaver) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePostWriteBarrier.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePostWriteBarrier.java	Mon Aug 25 13:45:12 2014 +0200
@@ -29,7 +29,7 @@
 public class G1ArrayRangePostWriteBarrier extends ArrayRangeWriteBarrier {
 
     public static G1ArrayRangePostWriteBarrier create(ValueNode object, ValueNode startIndex, ValueNode length) {
-        return new G1ArrayRangePostWriteBarrierGen(object, startIndex, length);
+        return USE_GENERATED_NODES ? new G1ArrayRangePostWriteBarrierGen(object, startIndex, length) : new G1ArrayRangePostWriteBarrier(object, startIndex, length);
     }
 
     protected G1ArrayRangePostWriteBarrier(ValueNode object, ValueNode startIndex, ValueNode length) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePreWriteBarrier.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ArrayRangePreWriteBarrier.java	Mon Aug 25 13:45:12 2014 +0200
@@ -29,7 +29,7 @@
 public class G1ArrayRangePreWriteBarrier extends ArrayRangeWriteBarrier {
 
     public static G1ArrayRangePreWriteBarrier create(ValueNode object, ValueNode startIndex, ValueNode length) {
-        return new G1ArrayRangePreWriteBarrierGen(object, startIndex, length);
+        return USE_GENERATED_NODES ? new G1ArrayRangePreWriteBarrierGen(object, startIndex, length) : new G1ArrayRangePreWriteBarrier(object, startIndex, length);
     }
 
     protected G1ArrayRangePreWriteBarrier(ValueNode object, ValueNode startIndex, ValueNode length) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PostWriteBarrier.java	Mon Aug 25 13:45:12 2014 +0200
@@ -32,7 +32,7 @@
     private final boolean alwaysNull;
 
     public static G1PostWriteBarrier create(ValueNode object, ValueNode value, LocationNode location, boolean precise, boolean alwaysNull) {
-        return new G1PostWriteBarrierGen(object, value, location, precise, alwaysNull);
+        return USE_GENERATED_NODES ? new G1PostWriteBarrierGen(object, value, location, precise, alwaysNull) : new G1PostWriteBarrier(object, value, location, precise, alwaysNull);
     }
 
     protected G1PostWriteBarrier(ValueNode object, ValueNode value, LocationNode location, boolean precise, boolean alwaysNull) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PreWriteBarrier.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1PreWriteBarrier.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
     private final boolean doLoad;
 
     public static G1PreWriteBarrier create(ValueNode object, ValueNode expectedObject, LocationNode location, boolean doLoad, boolean nullCheck) {
-        return new G1PreWriteBarrierGen(object, expectedObject, location, doLoad, nullCheck);
+        return USE_GENERATED_NODES ? new G1PreWriteBarrierGen(object, expectedObject, location, doLoad, nullCheck) : new G1PreWriteBarrier(object, expectedObject, location, doLoad, nullCheck);
     }
 
     protected G1PreWriteBarrier(ValueNode object, ValueNode expectedObject, LocationNode location, boolean doLoad, boolean nullCheck) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ReferentFieldReadBarrier.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/G1ReferentFieldReadBarrier.java	Mon Aug 25 13:45:12 2014 +0200
@@ -38,7 +38,7 @@
     private final boolean doLoad;
 
     public static G1ReferentFieldReadBarrier create(ValueNode object, ValueNode expectedObject, LocationNode location, boolean doLoad) {
-        return new G1ReferentFieldReadBarrierGen(object, expectedObject, location, doLoad);
+        return USE_GENERATED_NODES ? new G1ReferentFieldReadBarrierGen(object, expectedObject, location, doLoad) : new G1ReferentFieldReadBarrier(object, expectedObject, location, doLoad);
     }
 
     protected G1ReferentFieldReadBarrier(ValueNode object, ValueNode expectedObject, LocationNode location, boolean doLoad) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/GetObjectAddressNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
     @Input ValueNode object;
 
     public static GetObjectAddressNode create(ValueNode obj) {
-        return new GetObjectAddressNodeGen(obj);
+        return USE_GENERATED_NODES ? new GetObjectAddressNodeGen(obj) : new GetObjectAddressNode(obj);
     }
 
     protected GetObjectAddressNode(ValueNode obj) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotDirectCallTargetNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotDirectCallTargetNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
 @NodeInfo
 public class HotSpotDirectCallTargetNode extends DirectCallTargetNode {
     public static HotSpotDirectCallTargetNode create(List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, Type callType, InvokeKind invokeKind) {
-        return new HotSpotDirectCallTargetNodeGen(arguments, returnStamp, signature, target, callType, invokeKind);
+        return USE_GENERATED_NODES ? new HotSpotDirectCallTargetNodeGen(arguments, returnStamp, signature, target, callType, invokeKind) : new HotSpotDirectCallTargetNode(arguments, returnStamp, signature, target, callType, invokeKind);
     }
 
     protected HotSpotDirectCallTargetNode(List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, Type callType, InvokeKind invokeKind) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotIndirectCallTargetNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/HotSpotIndirectCallTargetNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -37,7 +37,7 @@
 
     public static HotSpotIndirectCallTargetNode create(ValueNode metaspaceMethod, ValueNode computedAddress, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature,
                     ResolvedJavaMethod target, Type callType, InvokeKind invokeKind) {
-        return new HotSpotIndirectCallTargetNodeGen(metaspaceMethod, computedAddress, arguments, returnStamp, signature, target, callType, invokeKind);
+        return USE_GENERATED_NODES ? new HotSpotIndirectCallTargetNodeGen(metaspaceMethod, computedAddress, arguments, returnStamp, signature, target, callType, invokeKind) : new HotSpotIndirectCallTargetNode(metaspaceMethod, computedAddress, arguments, returnStamp, signature, target, callType, invokeKind);
     }
 
     protected HotSpotIndirectCallTargetNode(ValueNode metaspaceMethod, ValueNode computedAddress, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target,
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/JumpToExceptionHandlerInCallerNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/JumpToExceptionHandlerInCallerNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -41,7 +41,7 @@
     @Input ValueNode exceptionPc;
 
     public static JumpToExceptionHandlerInCallerNode create(ValueNode handlerInCallerPc, ValueNode exception, ValueNode exceptionPc) {
-        return new JumpToExceptionHandlerInCallerNodeGen(handlerInCallerPc, exception, exceptionPc);
+        return USE_GENERATED_NODES ? new JumpToExceptionHandlerInCallerNodeGen(handlerInCallerPc, exception, exceptionPc) : new JumpToExceptionHandlerInCallerNode(handlerInCallerPc, exception, exceptionPc);
     }
 
     protected JumpToExceptionHandlerInCallerNode(ValueNode handlerInCallerPc, ValueNode exception, ValueNode exceptionPc) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveCurrentStackFrameNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveCurrentStackFrameNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
     @Input SaveAllRegistersNode registerSaver;
 
     public static LeaveCurrentStackFrameNode create(ValueNode registerSaver) {
-        return new LeaveCurrentStackFrameNodeGen(registerSaver);
+        return USE_GENERATED_NODES ? new LeaveCurrentStackFrameNodeGen(registerSaver) : new LeaveCurrentStackFrameNode(registerSaver);
     }
 
     protected LeaveCurrentStackFrameNode(ValueNode registerSaver) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveDeoptimizedStackFrameNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveDeoptimizedStackFrameNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -42,7 +42,7 @@
     @Input ValueNode initialInfo;
 
     public static LeaveDeoptimizedStackFrameNode create(ValueNode frameSize, ValueNode initialInfo) {
-        return new LeaveDeoptimizedStackFrameNodeGen(frameSize, initialInfo);
+        return USE_GENERATED_NODES ? new LeaveDeoptimizedStackFrameNodeGen(frameSize, initialInfo) : new LeaveDeoptimizedStackFrameNode(frameSize, initialInfo);
     }
 
     protected LeaveDeoptimizedStackFrameNode(ValueNode frameSize, ValueNode initialInfo) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveUnpackFramesStackFrameNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/LeaveUnpackFramesStackFrameNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
     @Input SaveAllRegistersNode registerSaver;
 
     public static LeaveUnpackFramesStackFrameNode create(ValueNode registerSaver) {
-        return new LeaveUnpackFramesStackFrameNodeGen(registerSaver);
+        return USE_GENERATED_NODES ? new LeaveUnpackFramesStackFrameNodeGen(registerSaver) : new LeaveUnpackFramesStackFrameNode(registerSaver);
     }
 
     protected LeaveUnpackFramesStackFrameNode(ValueNode registerSaver) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/MonitorCounterNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -38,7 +38,7 @@
 public class MonitorCounterNode extends FloatingNode implements LIRLowerable {
 
     public static MonitorCounterNode create() {
-        return new MonitorCounterNodeGen();
+        return USE_GENERATED_NODES ? new MonitorCounterNodeGen() : new MonitorCounterNode();
     }
 
     MonitorCounterNode() {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewArrayStubCall.java	Mon Aug 25 13:45:12 2014 +0200
@@ -46,7 +46,7 @@
     @Input ValueNode length;
 
     public static NewArrayStubCall create(ValueNode hub, ValueNode length) {
-        return new NewArrayStubCallGen(hub, length);
+        return USE_GENERATED_NODES ? new NewArrayStubCallGen(hub, length) : new NewArrayStubCall(hub, length);
     }
 
     protected NewArrayStubCall(ValueNode hub, ValueNode length) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewInstanceStubCall.java	Mon Aug 25 13:45:12 2014 +0200
@@ -45,7 +45,7 @@
     @Input ValueNode hub;
 
     public static NewInstanceStubCall create(ValueNode hub) {
-        return new NewInstanceStubCallGen(hub);
+        return USE_GENERATED_NODES ? new NewInstanceStubCallGen(hub) : new NewInstanceStubCall(hub);
     }
 
     protected NewInstanceStubCall(ValueNode hub) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/NewMultiArrayStubCall.java	Mon Aug 25 13:45:12 2014 +0200
@@ -47,7 +47,7 @@
     private final int rank;
 
     public static NewMultiArrayStubCall create(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ValueNode hub, int rank, ValueNode dims) {
-        return new NewMultiArrayStubCallGen(foreignCalls, hub, rank, dims);
+        return USE_GENERATED_NODES ? new NewMultiArrayStubCallGen(foreignCalls, hub, rank, dims) : new NewMultiArrayStubCall(foreignCalls, hub, rank, dims);
     }
 
     protected NewMultiArrayStubCall(ForeignCallsProvider foreignCalls, ValueNode hub, int rank, ValueNode dims) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PatchReturnAddressNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PatchReturnAddressNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -38,7 +38,7 @@
     @Input ValueNode address;
 
     public static PatchReturnAddressNode create(ValueNode address) {
-        return new PatchReturnAddressNodeGen(address);
+        return USE_GENERATED_NODES ? new PatchReturnAddressNodeGen(address) : new PatchReturnAddressNode(address);
     }
 
     protected PatchReturnAddressNode(ValueNode address) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PrefetchAllocateNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PrefetchAllocateNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -37,7 +37,7 @@
     @Input ValueNode address;
 
     public static PrefetchAllocateNode create(ValueNode address, ValueNode distance) {
-        return new PrefetchAllocateNodeGen(address, distance);
+        return USE_GENERATED_NODES ? new PrefetchAllocateNodeGen(address, distance) : new PrefetchAllocateNode(address, distance);
     }
 
     protected PrefetchAllocateNode(ValueNode address, ValueNode distance) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PushInterpreterFrameNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/PushInterpreterFrameNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -42,7 +42,7 @@
     @Input ValueNode initialInfo;
 
     public static PushInterpreterFrameNode create(ValueNode frameSize, ValueNode framePc, ValueNode senderSp, ValueNode initialInfo) {
-        return new PushInterpreterFrameNodeGen(frameSize, framePc, senderSp, initialInfo);
+        return USE_GENERATED_NODES ? new PushInterpreterFrameNodeGen(frameSize, framePc, senderSp, initialInfo) : new PushInterpreterFrameNode(frameSize, framePc, senderSp, initialInfo);
     }
 
     protected PushInterpreterFrameNode(ValueNode frameSize, ValueNode framePc, ValueNode senderSp, ValueNode initialInfo) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SaveAllRegistersNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -40,7 +40,7 @@
     private SaveRegistersOp saveRegistersOp;
 
     public static SaveAllRegistersNode create() {
-        return new SaveAllRegistersNodeGen();
+        return USE_GENERATED_NODES ? new SaveAllRegistersNodeGen() : new SaveAllRegistersNode();
     }
 
     protected SaveAllRegistersNode() {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialArrayRangeWriteBarrier.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialArrayRangeWriteBarrier.java	Mon Aug 25 13:45:12 2014 +0200
@@ -29,7 +29,7 @@
 public class SerialArrayRangeWriteBarrier extends ArrayRangeWriteBarrier {
 
     public static SerialArrayRangeWriteBarrier create(ValueNode object, ValueNode startIndex, ValueNode length) {
-        return new SerialArrayRangeWriteBarrierGen(object, startIndex, length);
+        return USE_GENERATED_NODES ? new SerialArrayRangeWriteBarrierGen(object, startIndex, length) : new SerialArrayRangeWriteBarrier(object, startIndex, length);
     }
 
     protected SerialArrayRangeWriteBarrier(ValueNode object, ValueNode startIndex, ValueNode length) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SerialWriteBarrier.java	Mon Aug 25 13:45:12 2014 +0200
@@ -32,7 +32,7 @@
     private final boolean alwaysNull;
 
     public static SerialWriteBarrier create(ValueNode object, LocationNode location, boolean precise, boolean alwaysNull) {
-        return new SerialWriteBarrierGen(object, location, precise, alwaysNull);
+        return USE_GENERATED_NODES ? new SerialWriteBarrierGen(object, location, precise, alwaysNull) : new SerialWriteBarrier(object, location, precise, alwaysNull);
     }
 
     protected SerialWriteBarrier(ValueNode object, LocationNode location, boolean precise, boolean alwaysNull) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetAnchorNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetAnchorNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -32,7 +32,7 @@
 public class SnippetAnchorNode extends FixedWithNextNode implements Simplifiable, GuardingNode {
 
     public static SnippetAnchorNode create() {
-        return new SnippetAnchorNodeGen();
+        return USE_GENERATED_NODES ? new SnippetAnchorNodeGen() : new SnippetAnchorNode();
     }
 
     protected SnippetAnchorNode() {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetLocationProxyNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/SnippetLocationProxyNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,7 +36,7 @@
     @Input(InputType.Unchecked) ValueNode location;
 
     public static SnippetLocationProxyNode create(ValueNode location) {
-        return new SnippetLocationProxyNodeGen(location);
+        return USE_GENERATED_NODES ? new SnippetLocationProxyNodeGen(location) : new SnippetLocationProxyNode(location);
     }
 
     protected SnippetLocationProxyNode(ValueNode location) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubForeignCallNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -46,7 +46,7 @@
     private final ForeignCallDescriptor descriptor;
 
     public static StubForeignCallNode create(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, ValueNode... arguments) {
-        return new StubForeignCallNodeGen(foreignCalls, descriptor, arguments);
+        return USE_GENERATED_NODES ? new StubForeignCallNodeGen(foreignCalls, descriptor, arguments) : new StubForeignCallNode(foreignCalls, descriptor, arguments);
     }
 
     protected StubForeignCallNode(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, ValueNode... arguments) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubStartNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/StubStartNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -35,7 +35,7 @@
     private final Stub stub;
 
     public static StubStartNode create(Stub stub) {
-        return new StubStartNodeGen(stub);
+        return USE_GENERATED_NODES ? new StubStartNodeGen(stub) : new StubStartNode(stub);
     }
 
     protected StubStartNode(Stub stub) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/TailcallNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -53,7 +53,7 @@
      * @param frameState the parameters will be taken from this FrameState
      */
     public static TailcallNode create(ValueNode target, FrameState frameState) {
-        return new TailcallNodeGen(target, frameState);
+        return USE_GENERATED_NODES ? new TailcallNodeGen(target, frameState) : new TailcallNode(target, frameState);
     }
 
     protected TailcallNode(ValueNode target, FrameState frameState) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/UncommonTrapCallNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/UncommonTrapCallNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -46,7 +46,7 @@
     private final ForeignCallsProvider foreignCalls;
 
     public static UncommonTrapCallNode create(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ValueNode registerSaver, ValueNode trapRequest) {
-        return new UncommonTrapCallNodeGen(foreignCalls, registerSaver, trapRequest);
+        return USE_GENERATED_NODES ? new UncommonTrapCallNodeGen(foreignCalls, registerSaver, trapRequest) : new UncommonTrapCallNode(foreignCalls, registerSaver, trapRequest);
     }
 
     protected UncommonTrapCallNode(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ValueNode registerSaver, ValueNode trapRequest) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/nodes/VMErrorNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -44,7 +44,7 @@
     @Input ValueNode value;
 
     public static VMErrorNode create(String format, ValueNode value) {
-        return new VMErrorNodeGen(format, value);
+        return USE_GENERATED_NODES ? new VMErrorNodeGen(format, value) : new VMErrorNode(format, value);
     }
 
     protected VMErrorNode(String format, ValueNode value) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyCallNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyCallNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -60,7 +60,7 @@
 
     public static ArrayCopyCallNode create(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind, boolean aligned, boolean disjoint,
                     boolean uninitialized) {
-        return new ArrayCopyCallNodeGen(src, srcPos, dest, destPos, length, elementKind, aligned, disjoint, uninitialized);
+        return USE_GENERATED_NODES ? new ArrayCopyCallNodeGen(src, srcPos, dest, destPos, length, elementKind, aligned, disjoint, uninitialized) : new ArrayCopyCallNode(src, srcPos, dest, destPos, length, elementKind, aligned, disjoint, uninitialized);
     }
 
     ArrayCopyCallNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind, boolean aligned, boolean disjoint, boolean uninitialized) {
@@ -78,7 +78,7 @@
     }
 
     public static ArrayCopyCallNode create(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind, boolean disjoint) {
-        return new ArrayCopyCallNodeGen(src, srcPos, dest, destPos, length, elementKind, disjoint);
+        return USE_GENERATED_NODES ? new ArrayCopyCallNodeGen(src, srcPos, dest, destPos, length, elementKind, disjoint) : new ArrayCopyCallNode(src, srcPos, dest, destPos, length, elementKind, disjoint);
     }
 
     ArrayCopyCallNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind, boolean disjoint) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ArrayCopyNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -43,7 +43,7 @@
 public class ArrayCopyNode extends MacroStateSplitNode implements Virtualizable, Lowerable {
 
     public static ArrayCopyNode create(Invoke invoke) {
-        return new ArrayCopyNodeGen(invoke);
+        return USE_GENERATED_NODES ? new ArrayCopyNodeGen(invoke) : new ArrayCopyNode(invoke);
     }
 
     protected ArrayCopyNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteTargetNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CallSiteTargetNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -38,7 +38,7 @@
 public class CallSiteTargetNode extends MacroStateSplitNode implements Canonicalizable, Lowerable {
 
     public static CallSiteTargetNode create(Invoke invoke) {
-        return new CallSiteTargetNodeGen(invoke);
+        return USE_GENERATED_NODES ? new CallSiteTargetNodeGen(invoke) : new CallSiteTargetNode(invoke);
     }
 
     protected CallSiteTargetNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CompositeValueClassSubstitutions.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/CompositeValueClassSubstitutions.java	Mon Aug 25 13:45:12 2014 +0200
@@ -48,7 +48,7 @@
     public static class CompositeValueClassGetNode extends PureFunctionMacroNode {
 
         public static CompositeValueClassGetNode create(Invoke invoke) {
-            return new CompositeValueClassSubstitutions_CompositeValueClassGetNodeGen(invoke);
+            return USE_GENERATED_NODES ? new CompositeValueClassSubstitutions_CompositeValueClassGetNodeGen(invoke) : new CompositeValueClassGetNode(invoke);
         }
 
         protected CompositeValueClassGetNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotNodeClassSubstitutions.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/HotSpotNodeClassSubstitutions.java	Mon Aug 25 13:45:12 2014 +0200
@@ -48,7 +48,7 @@
     public static class NodeClassGetNode extends PureFunctionMacroNode {
 
         public static NodeClassGetNode create(Invoke invoke) {
-            return new HotSpotNodeClassSubstitutions_NodeClassGetNodeGen(invoke);
+            return USE_GENERATED_NODES ? new HotSpotNodeClassSubstitutions_NodeClassGetNodeGen(invoke) : new NodeClassGetNode(invoke);
         }
 
         protected NodeClassGetNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/MethodHandleNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -57,7 +57,7 @@
     @Input NodeInputList<ValueNode> replacementArguments;
 
     public static MethodHandleNode create(Invoke invoke) {
-        return new MethodHandleNodeGen(invoke);
+        return USE_GENERATED_NODES ? new MethodHandleNodeGen(invoke) : new MethodHandleNode(invoke);
     }
 
     protected MethodHandleNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectCloneNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -44,7 +44,7 @@
 public class ObjectCloneNode extends MacroStateSplitNode implements VirtualizableAllocation, ArrayLengthProvider {
 
     public static ObjectCloneNode create(Invoke invoke) {
-        return new ObjectCloneNodeGen(invoke);
+        return USE_GENERATED_NODES ? new ObjectCloneNodeGen(invoke) : new ObjectCloneNode(invoke);
     }
 
     protected ObjectCloneNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectGetClassNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ObjectGetClassNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -42,7 +42,7 @@
 public class ObjectGetClassNode extends MacroNode implements Virtualizable, Canonicalizable {
 
     public static ObjectGetClassNode create(Invoke invoke) {
-        return new ObjectGetClassNodeGen(invoke);
+        return USE_GENERATED_NODES ? new ObjectGetClassNodeGen(invoke) : new ObjectGetClassNode(invoke);
     }
 
     protected ObjectGetClassNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/ReflectionGetCallerClassNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -38,7 +38,7 @@
 public class ReflectionGetCallerClassNode extends MacroStateSplitNode implements Canonicalizable, Lowerable {
 
     public static ReflectionGetCallerClassNode create(Invoke invoke) {
-        return new ReflectionGetCallerClassNodeGen(invoke);
+        return USE_GENERATED_NODES ? new ReflectionGetCallerClassNodeGen(invoke) : new ReflectionGetCallerClassNode(invoke);
     }
 
     protected ReflectionGetCallerClassNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/SystemIdentityHashCodeNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/SystemIdentityHashCodeNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
 public class SystemIdentityHashCodeNode extends PureFunctionMacroNode {
 
     public static SystemIdentityHashCodeNode create(Invoke invoke) {
-        return new SystemIdentityHashCodeNodeGen(invoke);
+        return USE_GENERATED_NODES ? new SystemIdentityHashCodeNodeGen(invoke) : new SystemIdentityHashCodeNode(invoke);
     }
 
     protected SystemIdentityHashCodeNode(Invoke invoke) {
--- a/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeArrayCopyNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.hotspot/src/com/oracle/graal/hotspot/replacements/UnsafeArrayCopyNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -45,7 +45,7 @@
     private Kind elementKind;
 
     public static UnsafeArrayCopyNode create(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode layoutHelper, Kind elementKind) {
-        return new UnsafeArrayCopyNodeGen(src, srcPos, dest, destPos, length, layoutHelper, elementKind);
+        return USE_GENERATED_NODES ? new UnsafeArrayCopyNodeGen(src, srcPos, dest, destPos, length, layoutHelper, elementKind) : new UnsafeArrayCopyNode(src, srcPos, dest, destPos, length, layoutHelper, elementKind);
     }
 
     UnsafeArrayCopyNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode layoutHelper, Kind elementKind) {
@@ -61,7 +61,7 @@
     }
 
     public static UnsafeArrayCopyNode create(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind) {
-        return new UnsafeArrayCopyNodeGen(src, srcPos, dest, destPos, length, elementKind);
+        return USE_GENERATED_NODES ? new UnsafeArrayCopyNodeGen(src, srcPos, dest, destPos, length, elementKind) : new UnsafeArrayCopyNode(src, srcPos, dest, destPos, length, elementKind);
     }
 
     UnsafeArrayCopyNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, Kind elementKind) {
@@ -69,7 +69,7 @@
     }
 
     public static UnsafeArrayCopyNode create(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode layoutHelper) {
-        return new UnsafeArrayCopyNodeGen(src, srcPos, dest, destPos, length, layoutHelper);
+        return USE_GENERATED_NODES ? new UnsafeArrayCopyNodeGen(src, srcPos, dest, destPos, length, layoutHelper) : new UnsafeArrayCopyNode(src, srcPos, dest, destPos, length, layoutHelper);
     }
 
     UnsafeArrayCopyNode(ValueNode src, ValueNode srcPos, ValueNode dest, ValueNode destPos, ValueNode length, ValueNode layoutHelper) {
--- a/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.java/src/com/oracle/graal/java/GraphBuilderPhase.java	Mon Aug 25 13:45:12 2014 +0200
@@ -111,7 +111,7 @@
             private final Object nextPlaceholder;
 
             public static BlockPlaceholderNode create(BytecodeParser builder) {
-                return new GraphBuilderPhase_Instance_BlockPlaceholderNodeGen(builder);
+                return USE_GENERATED_NODES ? new GraphBuilderPhase_Instance_BlockPlaceholderNodeGen(builder) : new BlockPlaceholderNode(builder);
             }
 
             protected BlockPlaceholderNode(BytecodeParser builder) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BeginNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,11 +39,11 @@
 public class BeginNode extends FixedWithNextNode implements LIRLowerable, Simplifiable, GuardingNode, AnchoringNode, IterableNodeType {
 
     public static BeginNode create() {
-        return new BeginNodeGen();
+        return USE_GENERATED_NODES ? new BeginNodeGen() : new BeginNode();
     }
 
     public static Class<? extends BeginNode> getGenClass() {
-        return BeginNodeGen.class;
+        return USE_GENERATED_NODES ? BeginNodeGen.class : BeginNode.class;
     }
 
     protected BeginNode() {
@@ -51,7 +51,7 @@
     }
 
     public static BeginNode create(Stamp stamp) {
-        return new BeginNodeGen(stamp);
+        return USE_GENERATED_NODES ? new BeginNodeGen(stamp) : new BeginNode(stamp);
     }
 
     protected BeginNode(Stamp stamp) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BreakpointNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/BreakpointNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -51,7 +51,7 @@
     @Input NodeInputList<ValueNode> arguments;
 
     public static BreakpointNode create(ValueNode[] arguments) {
-        return new BreakpointNodeGen(arguments);
+        return USE_GENERATED_NODES ? new BreakpointNodeGen(arguments) : new BreakpointNode(arguments);
     }
 
     protected BreakpointNode(ValueNode... arguments) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConditionAnchorNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConditionAnchorNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,7 +36,7 @@
     private boolean negated;
 
     public static ConditionAnchorNode create(LogicNode condition) {
-        return new ConditionAnchorNodeGen(condition);
+        return USE_GENERATED_NODES ? new ConditionAnchorNodeGen(condition) : new ConditionAnchorNode(condition);
     }
 
     protected ConditionAnchorNode(LogicNode condition) {
@@ -44,7 +44,7 @@
     }
 
     public static ConditionAnchorNode create(LogicNode condition, boolean negated) {
-        return new ConditionAnchorNodeGen(condition, negated);
+        return USE_GENERATED_NODES ? new ConditionAnchorNodeGen(condition, negated) : new ConditionAnchorNode(condition, negated);
     }
 
     protected ConditionAnchorNode(LogicNode condition, boolean negated) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ConstantNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -55,7 +55,7 @@
      * @param value the constant
      */
     public static ConstantNode create(Constant value, Stamp stamp) {
-        return new ConstantNodeGen(value, stamp);
+        return USE_GENERATED_NODES ? new ConstantNodeGen(value, stamp) : new ConstantNode(value, stamp);
     }
 
     protected ConstantNode(Constant value, Stamp stamp) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DeoptimizeNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -35,7 +35,7 @@
     private final Constant speculation;
 
     public static DeoptimizeNode create(DeoptimizationAction action, DeoptimizationReason reason) {
-        return new DeoptimizeNodeGen(action, reason);
+        return USE_GENERATED_NODES ? new DeoptimizeNodeGen(action, reason) : new DeoptimizeNode(action, reason);
     }
 
     protected DeoptimizeNode(DeoptimizationAction action, DeoptimizationReason reason) {
@@ -43,7 +43,7 @@
     }
 
     public static DeoptimizeNode create(DeoptimizationAction action, DeoptimizationReason reason, int debugId, Constant speculation, FrameState stateBefore) {
-        return new DeoptimizeNodeGen(action, reason, debugId, speculation, stateBefore);
+        return USE_GENERATED_NODES ? new DeoptimizeNodeGen(action, reason, debugId, speculation, stateBefore) : new DeoptimizeNode(action, reason, debugId, speculation, stateBefore);
     }
 
     protected DeoptimizeNode(DeoptimizationAction action, DeoptimizationReason reason, int debugId, Constant speculation, FrameState stateBefore) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DirectCallTargetNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DirectCallTargetNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
 public class DirectCallTargetNode extends LoweredCallTargetNode {
 
     public static DirectCallTargetNode create(List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, CallingConvention.Type callType, InvokeKind invokeKind) {
-        return new DirectCallTargetNodeGen(arguments, returnStamp, signature, target, callType, invokeKind);
+        return USE_GENERATED_NODES ? new DirectCallTargetNodeGen(arguments, returnStamp, signature, target, callType, invokeKind) : new DirectCallTargetNode(arguments, returnStamp, signature, target, callType, invokeKind);
     }
 
     protected DirectCallTargetNode(List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, CallingConvention.Type callType, InvokeKind invokeKind) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DispatchBeginNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DispatchBeginNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -32,14 +32,14 @@
 public class DispatchBeginNode extends BeginStateSplitNode {
 
     public static DispatchBeginNode create() {
-        return new DispatchBeginNodeGen();
+        return USE_GENERATED_NODES ? new DispatchBeginNodeGen() : new DispatchBeginNode();
     }
 
     protected DispatchBeginNode() {
     }
 
     public static DispatchBeginNode create(Stamp stamp) {
-        return new DispatchBeginNodeGen(stamp);
+        return USE_GENERATED_NODES ? new DispatchBeginNodeGen(stamp) : new DispatchBeginNode(stamp);
     }
 
     protected DispatchBeginNode(Stamp stamp) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DynamicDeoptimizeNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/DynamicDeoptimizeNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
     @Input ValueNode speculation;
 
     public static DynamicDeoptimizeNode create(ValueNode actionAndReason, ValueNode speculation) {
-        return new DynamicDeoptimizeNodeGen(actionAndReason, speculation);
+        return USE_GENERATED_NODES ? new DynamicDeoptimizeNodeGen(actionAndReason, speculation) : new DynamicDeoptimizeNode(actionAndReason, speculation);
     }
 
     protected DynamicDeoptimizeNode(ValueNode actionAndReason, ValueNode speculation) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EndNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EndNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -27,11 +27,11 @@
 @NodeInfo(allowedUsageTypes = {InputType.Association})
 public class EndNode extends AbstractEndNode {
     public static EndNode create() {
-        return new EndNodeGen();
+        return USE_GENERATED_NODES ? new EndNodeGen() : new EndNode();
     }
 
     public static Class<? extends EndNode> getGenClass() {
-        return EndNodeGen.class;
+        return USE_GENERATED_NODES ? EndNodeGen.class : EndNode.class;
     }
 
     EndNode() {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EntryMarkerNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/EntryMarkerNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,7 +36,7 @@
 public class EntryMarkerNode extends BeginStateSplitNode implements IterableNodeType, Simplifiable, LIRLowerable {
 
     public static EntryMarkerNode create() {
-        return new EntryMarkerNodeGen();
+        return USE_GENERATED_NODES ? new EntryMarkerNodeGen() : new EntryMarkerNode();
     }
 
     EntryMarkerNode() {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FixedGuardNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
 public class FixedGuardNode extends AbstractFixedGuardNode implements Lowerable, IterableNodeType {
 
     public static FixedGuardNode create(LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action) {
-        return new FixedGuardNodeGen(condition, deoptReason, action);
+        return USE_GENERATED_NODES ? new FixedGuardNodeGen(condition, deoptReason, action) : new FixedGuardNode(condition, deoptReason, action);
     }
 
     protected FixedGuardNode(LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action) {
@@ -41,7 +41,7 @@
     }
 
     public static FixedGuardNode create(LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action, boolean negated) {
-        return new FixedGuardNodeGen(condition, deoptReason, action, negated);
+        return USE_GENERATED_NODES ? new FixedGuardNodeGen(condition, deoptReason, action, negated) : new FixedGuardNode(condition, deoptReason, action, negated);
     }
 
     protected FixedGuardNode(LogicNode condition, DeoptimizationReason deoptReason, DeoptimizationAction action, boolean negated) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FrameState.java	Mon Aug 25 13:45:12 2014 +0200
@@ -89,7 +89,7 @@
      */
     public static FrameState create(FrameState outerFrameState, ResolvedJavaMethod method, int bci, List<ValueNode> values, int localsSize, int stackSize, boolean rethrowException,
                     boolean duringCall, List<MonitorIdNode> monitorIds, List<EscapeObjectState> virtualObjectMappings) {
-        return new FrameStateGen(outerFrameState, method, bci, values, localsSize, stackSize, rethrowException, duringCall, monitorIds, virtualObjectMappings);
+        return USE_GENERATED_NODES ? new FrameStateGen(outerFrameState, method, bci, values, localsSize, stackSize, rethrowException, duringCall, monitorIds, virtualObjectMappings) : new FrameState(outerFrameState, method, bci, values, localsSize, stackSize, rethrowException, duringCall, monitorIds, virtualObjectMappings);
     }
 
     protected FrameState(FrameState outerFrameState, ResolvedJavaMethod method, int bci, List<ValueNode> values, int localsSize, int stackSize, boolean rethrowException, boolean duringCall,
@@ -116,7 +116,7 @@
      * @param bci marker bci, needs to be &lt; 0
      */
     public static FrameState create(int bci) {
-        return new FrameStateGen(bci);
+        return USE_GENERATED_NODES ? new FrameStateGen(bci) : new FrameState(bci);
     }
 
     protected FrameState(int bci) {
@@ -127,7 +127,7 @@
 
     public static FrameState create(ResolvedJavaMethod method, int bci, ValueNode[] locals, List<ValueNode> stack, ValueNode[] locks, MonitorIdNode[] monitorIds, boolean rethrowException,
                     boolean duringCall) {
-        return new FrameStateGen(method, bci, locals, stack, locks, monitorIds, rethrowException, duringCall);
+        return USE_GENERATED_NODES ? new FrameStateGen(method, bci, locals, stack, locks, monitorIds, rethrowException, duringCall) : new FrameState(method, bci, locals, stack, locks, monitorIds, rethrowException, duringCall);
     }
 
     protected FrameState(ResolvedJavaMethod method, int bci, ValueNode[] locals, List<ValueNode> stack, ValueNode[] locks, MonitorIdNode[] monitorIds, boolean rethrowException, boolean duringCall) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FullInfopointNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/FullInfopointNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
     @Input(InputType.State) FrameState state;
 
     public static FullInfopointNode create(InfopointReason reason, FrameState state) {
-        return new FullInfopointNodeGen(reason, state);
+        return USE_GENERATED_NODES ? new FullInfopointNodeGen(reason, state) : new FullInfopointNode(reason, state);
     }
 
     protected FullInfopointNode(InfopointReason reason, FrameState state) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -51,7 +51,7 @@
     private boolean negated;
 
     public static GuardNode create(LogicNode condition, AnchoringNode anchor, DeoptimizationReason reason, DeoptimizationAction action, boolean negated, Constant speculation) {
-        return new GuardNodeGen(condition, anchor, reason, action, negated, speculation);
+        return USE_GENERATED_NODES ? new GuardNodeGen(condition, anchor, reason, action, negated, speculation) : new GuardNode(condition, anchor, reason, action, negated, speculation);
     }
 
     protected GuardNode(LogicNode condition, AnchoringNode anchor, DeoptimizationReason reason, DeoptimizationAction action, boolean negated, Constant speculation) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardPhiNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardPhiNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,7 +36,7 @@
     @OptionalInput(InputType.Guard) NodeInputList<ValueNode> values;
 
     public static GuardPhiNode create(MergeNode merge) {
-        return new GuardPhiNodeGen(merge);
+        return USE_GENERATED_NODES ? new GuardPhiNodeGen(merge) : new GuardPhiNode(merge);
     }
 
     protected GuardPhiNode(MergeNode merge) {
@@ -45,7 +45,7 @@
     }
 
     public static GuardPhiNode create(MergeNode merge, ValueNode[] values) {
-        return new GuardPhiNodeGen(merge, values);
+        return USE_GENERATED_NODES ? new GuardPhiNodeGen(merge, values) : new GuardPhiNode(merge, values);
     }
 
     protected GuardPhiNode(MergeNode merge, ValueNode[] values) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardProxyNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardProxyNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
     @Input(InputType.Guard) GuardingNode value;
 
     public static GuardProxyNode create(GuardingNode value, BeginNode proxyPoint) {
-        return new GuardProxyNodeGen(value, proxyPoint);
+        return USE_GENERATED_NODES ? new GuardProxyNodeGen(value, proxyPoint) : new GuardProxyNode(value, proxyPoint);
     }
 
     protected GuardProxyNode(GuardingNode value, BeginNode proxyPoint) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardedValueNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -43,7 +43,7 @@
     private final Stamp piStamp;
 
     public static GuardedValueNode create(ValueNode object, GuardingNode guard, Stamp stamp) {
-        return new GuardedValueNodeGen(object, guard, stamp);
+        return USE_GENERATED_NODES ? new GuardedValueNodeGen(object, guard, stamp) : new GuardedValueNode(object, guard, stamp);
     }
 
     protected GuardedValueNode(ValueNode object, GuardingNode guard, Stamp stamp) {
@@ -53,7 +53,7 @@
     }
 
     public static GuardedValueNode create(ValueNode object, GuardingNode guard) {
-        return new GuardedValueNodeGen(object, guard);
+        return USE_GENERATED_NODES ? new GuardedValueNodeGen(object, guard) : new GuardedValueNode(object, guard);
     }
 
     protected GuardedValueNode(ValueNode object, GuardingNode guard) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/GuardingPiNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -69,7 +69,7 @@
      * Constructor for {@link #guardingNonNull(Object)} node intrinsic.
      */
     public static GuardingPiNode create(ValueNode object) {
-        return new GuardingPiNodeGen(object);
+        return USE_GENERATED_NODES ? new GuardingPiNodeGen(object) : new GuardingPiNode(object);
     }
 
     GuardingPiNode(ValueNode object) {
@@ -85,7 +85,7 @@
      * @param stamp the refined type of the object if the guard succeeds
      */
     public static GuardingPiNode create(ValueNode object, ValueNode condition, boolean negateCondition, DeoptimizationReason reason, DeoptimizationAction action, Stamp stamp) {
-        return new GuardingPiNodeGen(object, condition, negateCondition, reason, action, stamp);
+        return USE_GENERATED_NODES ? new GuardingPiNodeGen(object, condition, negateCondition, reason, action, stamp) : new GuardingPiNode(object, condition, negateCondition, reason, action, stamp);
     }
 
     protected GuardingPiNode(ValueNode object, ValueNode condition, boolean negateCondition, DeoptimizationReason reason, DeoptimizationAction action, Stamp stamp) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IfNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -62,7 +62,7 @@
     }
 
     public static IfNode create(LogicNode condition, FixedNode trueSuccessor, FixedNode falseSuccessor, double trueSuccessorProbability) {
-        return new IfNodeGen(condition, trueSuccessor, falseSuccessor, trueSuccessorProbability);
+        return USE_GENERATED_NODES ? new IfNodeGen(condition, trueSuccessor, falseSuccessor, trueSuccessorProbability) : new IfNode(condition, trueSuccessor, falseSuccessor, trueSuccessorProbability);
     }
 
     protected IfNode(LogicNode condition, FixedNode trueSuccessor, FixedNode falseSuccessor, double trueSuccessorProbability) {
@@ -70,7 +70,7 @@
     }
 
     public static IfNode create(LogicNode condition, BeginNode trueSuccessor, BeginNode falseSuccessor, double trueSuccessorProbability) {
-        return new IfNodeGen(condition, trueSuccessor, falseSuccessor, trueSuccessorProbability);
+        return USE_GENERATED_NODES ? new IfNodeGen(condition, trueSuccessor, falseSuccessor, trueSuccessorProbability) : new IfNode(condition, trueSuccessor, falseSuccessor, trueSuccessorProbability);
     }
 
     protected IfNode(LogicNode condition, BeginNode trueSuccessor, BeginNode falseSuccessor, double trueSuccessorProbability) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IndirectCallTargetNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/IndirectCallTargetNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,7 +36,7 @@
 
     public static IndirectCallTargetNode create(ValueNode computedAddress, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target,
                     CallingConvention.Type callType, InvokeKind invokeKind) {
-        return new IndirectCallTargetNodeGen(computedAddress, arguments, returnStamp, signature, target, callType, invokeKind);
+        return USE_GENERATED_NODES ? new IndirectCallTargetNodeGen(computedAddress, arguments, returnStamp, signature, target, callType, invokeKind) : new IndirectCallTargetNode(computedAddress, arguments, returnStamp, signature, target, callType, invokeKind);
     }
 
     protected IndirectCallTargetNode(ValueNode computedAddress, List<ValueNode> arguments, Stamp returnStamp, JavaType[] signature, ResolvedJavaMethod target, CallingConvention.Type callType,
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -53,7 +53,7 @@
      * @param bci the bytecode index of the original invoke (used for debug infos)
      */
     public static InvokeNode create(CallTargetNode callTarget, int bci) {
-        return new InvokeNodeGen(callTarget, bci);
+        return USE_GENERATED_NODES ? new InvokeNodeGen(callTarget, bci) : new InvokeNode(callTarget, bci);
     }
 
     protected InvokeNode(CallTargetNode callTarget, int bci) {
@@ -68,7 +68,7 @@
      * @param stamp the stamp to be used for this value
      */
     public static InvokeNode create(CallTargetNode callTarget, int bci, Stamp stamp) {
-        return new InvokeNodeGen(callTarget, bci, stamp);
+        return USE_GENERATED_NODES ? new InvokeNodeGen(callTarget, bci, stamp) : new InvokeNode(callTarget, bci, stamp);
     }
 
     protected InvokeNode(CallTargetNode callTarget, int bci, Stamp stamp) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/InvokeWithExceptionNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -49,7 +49,7 @@
     private double exceptionProbability;
 
     public static InvokeWithExceptionNode create(CallTargetNode callTarget, BeginNode exceptionEdge, int bci) {
-        return new InvokeWithExceptionNodeGen(callTarget, exceptionEdge, bci);
+        return USE_GENERATED_NODES ? new InvokeWithExceptionNodeGen(callTarget, exceptionEdge, bci) : new InvokeWithExceptionNode(callTarget, exceptionEdge, bci);
     }
 
     protected InvokeWithExceptionNode(CallTargetNode callTarget, BeginNode exceptionEdge, int bci) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/KillingBeginNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/KillingBeginNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -32,7 +32,7 @@
     private LocationIdentity locationIdentity;
 
     public static KillingBeginNode create(LocationIdentity locationIdentity) {
-        return new KillingBeginNodeGen(locationIdentity);
+        return USE_GENERATED_NODES ? new KillingBeginNodeGen(locationIdentity) : new KillingBeginNode(locationIdentity);
     }
 
     protected KillingBeginNode(LocationIdentity locationIdentity) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicConstantNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicConstantNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -35,7 +35,7 @@
     public final boolean value;
 
     public static LogicConstantNode create(boolean value) {
-        return new LogicConstantNodeGen(value);
+        return USE_GENERATED_NODES ? new LogicConstantNodeGen(value) : new LogicConstantNode(value);
     }
 
     protected LogicConstantNode(boolean value) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicNegationNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LogicNegationNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
     @Input(InputType.Condition) LogicNode value;
 
     public static LogicNegationNode create(LogicNode value) {
-        return new LogicNegationNodeGen(value);
+        return USE_GENERATED_NODES ? new LogicNegationNodeGen(value) : new LogicNegationNode(value);
     }
 
     protected LogicNegationNode(LogicNode value) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopBeginNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -44,7 +44,7 @@
     @OptionalInput(InputType.Guard) GuardingNode overflowGuard;
 
     public static LoopBeginNode create() {
-        return new LoopBeginNodeGen();
+        return USE_GENERATED_NODES ? new LoopBeginNodeGen() : new LoopBeginNode();
     }
 
     protected LoopBeginNode() {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopEndNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopEndNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,7 +36,7 @@
     private int endIndex;
 
     public static LoopEndNode create(LoopBeginNode begin) {
-        return new LoopEndNodeGen(begin);
+        return USE_GENERATED_NODES ? new LoopEndNodeGen(begin) : new LoopEndNode(begin);
     }
 
     protected LoopEndNode(LoopBeginNode begin) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopExitNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/LoopExitNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -32,7 +32,7 @@
     @Input(InputType.Association) LoopBeginNode loopBegin;
 
     public static LoopExitNode create(LoopBeginNode loop) {
-        return new LoopExitNodeGen(loop);
+        return USE_GENERATED_NODES ? new LoopExitNodeGen(loop) : new LoopExitNode(loop);
     }
 
     protected LoopExitNode(LoopBeginNode loop) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryMapNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryMapNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -50,7 +50,7 @@
     }
 
     public static MemoryMapNode create(Map<LocationIdentity, MemoryNode> mmap) {
-        return new MemoryMapNodeGen(mmap);
+        return USE_GENERATED_NODES ? new MemoryMapNodeGen(mmap) : new MemoryMapNode(mmap);
     }
 
     protected MemoryMapNode(Map<LocationIdentity, MemoryNode> mmap) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryPhiNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MemoryPhiNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -38,7 +38,7 @@
     private final LocationIdentity locationIdentity;
 
     public static MemoryPhiNode create(MergeNode merge, LocationIdentity locationIdentity) {
-        return new MemoryPhiNodeGen(merge, locationIdentity);
+        return USE_GENERATED_NODES ? new MemoryPhiNodeGen(merge, locationIdentity) : new MemoryPhiNode(merge, locationIdentity);
     }
 
     protected MemoryPhiNode(MergeNode merge, LocationIdentity locationIdentity) {
@@ -48,7 +48,7 @@
     }
 
     public static MemoryPhiNode create(MergeNode merge, LocationIdentity locationIdentity, ValueNode[] values) {
-        return new MemoryPhiNodeGen(merge, locationIdentity, values);
+        return USE_GENERATED_NODES ? new MemoryPhiNodeGen(merge, locationIdentity, values) : new MemoryPhiNode(merge, locationIdentity, values);
     }
 
     protected MemoryPhiNode(MergeNode merge, LocationIdentity locationIdentity, ValueNode[] values) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/MergeNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -40,11 +40,11 @@
 @NodeInfo(allowedUsageTypes = {InputType.Association})
 public class MergeNode extends BeginStateSplitNode implements IterableNodeType, LIRLowerable {
     public static MergeNode create() {
-        return new MergeNodeGen();
+        return USE_GENERATED_NODES ? new MergeNodeGen() : new MergeNode();
     }
 
     public static Class<? extends MergeNode> getGenClass() {
-        return MergeNodeGen.class;
+        return USE_GENERATED_NODES ? MergeNodeGen.class : MergeNode.class;
     }
 
     MergeNode() {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ParameterNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ParameterNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
 public class ParameterNode extends AbstractLocalNode implements IterableNodeType {
 
     public static ParameterNode create(int index, Stamp stamp) {
-        return new ParameterNodeGen(index, stamp);
+        return USE_GENERATED_NODES ? new ParameterNodeGen(index, stamp) : new ParameterNode(index, stamp);
     }
 
     protected ParameterNode(int index, Stamp stamp) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PhiNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -143,7 +143,7 @@
     static class MultipleValuesNode extends ValueNode {
 
         public static MultipleValuesNode create() {
-            return new PhiNode_MultipleValuesNodeGen();
+            return USE_GENERATED_NODES ? new PhiNode_MultipleValuesNodeGen() : new MultipleValuesNode();
         }
 
         protected MultipleValuesNode() {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiArrayNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiArrayNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -44,7 +44,7 @@
     }
 
     public static PiArrayNode create(ValueNode object, ValueNode length, Stamp stamp) {
-        return new PiArrayNodeGen(object, length, stamp);
+        return USE_GENERATED_NODES ? new PiArrayNodeGen(object, length, stamp) : new PiArrayNode(object, length, stamp);
     }
 
     protected PiArrayNode(ValueNode object, ValueNode length, Stamp stamp) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/PiNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -52,7 +52,7 @@
     }
 
     public static PiNode create(ValueNode object, Stamp stamp) {
-        return new PiNodeGen(object, stamp);
+        return USE_GENERATED_NODES ? new PiNodeGen(object, stamp) : new PiNode(object, stamp);
     }
 
     protected PiNode(ValueNode object, Stamp stamp) {
@@ -62,7 +62,7 @@
     }
 
     public static PiNode create(ValueNode object, Stamp stamp, ValueNode anchor) {
-        return new PiNodeGen(object, stamp, anchor);
+        return USE_GENERATED_NODES ? new PiNodeGen(object, stamp, anchor) : new PiNode(object, stamp, anchor);
     }
 
     protected PiNode(ValueNode object, Stamp stamp, ValueNode anchor) {
@@ -72,7 +72,7 @@
     }
 
     public static PiNode create(ValueNode object, ResolvedJavaType toType, boolean exactType, boolean nonNull) {
-        return new PiNodeGen(object, toType, exactType, nonNull);
+        return USE_GENERATED_NODES ? new PiNodeGen(object, toType, exactType, nonNull) : new PiNode(object, toType, exactType, nonNull);
     }
 
     protected PiNode(ValueNode object, ResolvedJavaType toType, boolean exactType, boolean nonNull) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ReturnNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ReturnNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -44,7 +44,7 @@
      *            void return
      */
     public static ReturnNode create(ValueNode result) {
-        return new ReturnNodeGen(result);
+        return USE_GENERATED_NODES ? new ReturnNodeGen(result) : new ReturnNode(result);
     }
 
     protected ReturnNode(ValueNode result) {
@@ -52,7 +52,7 @@
     }
 
     public static ReturnNode create(ValueNode result, MemoryMapNode memoryMap) {
-        return new ReturnNodeGen(result, memoryMap);
+        return USE_GENERATED_NODES ? new ReturnNodeGen(result, memoryMap) : new ReturnNode(result, memoryMap);
     }
 
     protected ReturnNode(ValueNode result, MemoryMapNode memoryMap) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SafepointNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SafepointNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
 public class SafepointNode extends DeoptimizingFixedWithNextNode implements LIRLowerable {
 
     public static SafepointNode create() {
-        return new SafepointNodeGen();
+        return USE_GENERATED_NODES ? new SafepointNodeGen() : new SafepointNode();
     }
 
     protected SafepointNode() {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ShortCircuitOrNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ShortCircuitOrNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,7 +36,7 @@
     private double shortCircuitProbability;
 
     public static ShortCircuitOrNode create(LogicNode x, boolean xNegated, LogicNode y, boolean yNegated, double shortCircuitProbability) {
-        return new ShortCircuitOrNodeGen(x, xNegated, y, yNegated, shortCircuitProbability);
+        return USE_GENERATED_NODES ? new ShortCircuitOrNodeGen(x, xNegated, y, yNegated, shortCircuitProbability) : new ShortCircuitOrNode(x, xNegated, y, yNegated, shortCircuitProbability);
     }
 
     protected ShortCircuitOrNode(LogicNode x, boolean xNegated, LogicNode y, boolean yNegated, double shortCircuitProbability) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SimpleInfopointNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/SimpleInfopointNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -32,7 +32,7 @@
     private BytecodePosition position;
 
     public static SimpleInfopointNode create(InfopointReason reason, BytecodePosition position) {
-        return new SimpleInfopointNodeGen(reason, position);
+        return USE_GENERATED_NODES ? new SimpleInfopointNodeGen(reason, position) : new SimpleInfopointNode(reason, position);
     }
 
     protected SimpleInfopointNode(InfopointReason reason, BytecodePosition position) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StartNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/StartNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -32,7 +32,7 @@
 @NodeInfo(allowedUsageTypes = {InputType.Memory})
 public class StartNode extends BeginStateSplitNode implements MemoryCheckpoint.Single {
     public static StartNode create() {
-        return new StartNodeGen();
+        return USE_GENERATED_NODES ? new StartNodeGen() : new StartNode();
     }
 
     protected StartNode() {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/TypeProfileProxyNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -59,7 +59,7 @@
     }
 
     public static ValueNode create(ValueNode object, JavaTypeProfile profile) {
-        return new TypeProfileProxyNodeGen(object, profile);
+        return USE_GENERATED_NODES ? new TypeProfileProxyNodeGen(object, profile) : new TypeProfileProxyNode(object, profile);
     }
 
     TypeProfileProxyNode(ValueNode value, JavaTypeProfile profile) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/UnwindNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -40,7 +40,7 @@
     }
 
     public static UnwindNode create(ValueNode exception) {
-        return new UnwindNodeGen(exception);
+        return USE_GENERATED_NODES ? new UnwindNodeGen(exception) : new UnwindNode(exception);
     }
 
     protected UnwindNode(ValueNode exception) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValuePhiNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValuePhiNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -42,7 +42,7 @@
      * @param merge the merge that the new phi belongs to
      */
     public static ValuePhiNode create(Stamp stamp, MergeNode merge) {
-        return new ValuePhiNodeGen(stamp, merge);
+        return USE_GENERATED_NODES ? new ValuePhiNodeGen(stamp, merge) : new ValuePhiNode(stamp, merge);
     }
 
     protected ValuePhiNode(Stamp stamp, MergeNode merge) {
@@ -59,7 +59,7 @@
      * @param values the initial values of the phi
      */
     public static ValuePhiNode create(Stamp stamp, MergeNode merge, ValueNode[] values) {
-        return new ValuePhiNodeGen(stamp, merge, values);
+        return USE_GENERATED_NODES ? new ValuePhiNodeGen(stamp, merge, values) : new ValuePhiNode(stamp, merge, values);
     }
 
     protected ValuePhiNode(Stamp stamp, MergeNode merge, ValueNode[] values) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueProxyNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/ValueProxyNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
     @Input ValueNode value;
 
     public static ValueProxyNode create(ValueNode value, BeginNode proxyPoint) {
-        return new ValueProxyNodeGen(value, proxyPoint);
+        return USE_GENERATED_NODES ? new ValueProxyNodeGen(value, proxyPoint) : new ValueProxyNode(value, proxyPoint);
     }
 
     protected ValueProxyNode(ValueNode value, BeginNode proxyPoint) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/AndNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,11 +36,11 @@
 public class AndNode extends BitLogicNode implements NarrowableArithmeticNode {
 
     public static AndNode create(ValueNode x, ValueNode y) {
-        return new AndNodeGen(x, y);
+        return USE_GENERATED_NODES ? new AndNodeGen(x, y) : new AndNode(x, y);
     }
 
     public static Class<? extends AndNode> getGenClass() {
-        return AndNodeGen.class;
+        return USE_GENERATED_NODES ? AndNodeGen.class : AndNode.class;
     }
 
     AndNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConditionalNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ConditionalNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -49,7 +49,7 @@
     }
 
     public static ConditionalNode create(LogicNode condition) {
-        return new ConditionalNodeGen(condition);
+        return USE_GENERATED_NODES ? new ConditionalNodeGen(condition) : new ConditionalNode(condition);
     }
 
     protected ConditionalNode(LogicNode condition) {
@@ -57,7 +57,7 @@
     }
 
     public static ConditionalNode create(LogicNode condition, ValueNode trueValue, ValueNode falseValue) {
-        return new ConditionalNodeGen(condition, trueValue, falseValue);
+        return USE_GENERATED_NODES ? new ConditionalNodeGen(condition, trueValue, falseValue) : new ConditionalNode(condition, trueValue, falseValue);
     }
 
     protected ConditionalNode(LogicNode condition, ValueNode trueValue, ValueNode falseValue) {
@@ -128,7 +128,7 @@
     }
 
     public static ConditionalNode create(@InjectedNodeParameter StructuredGraph graph, Condition condition, ValueNode x, ValueNode y) {
-        return new ConditionalNodeGen(graph, condition, x, y);
+        return USE_GENERATED_NODES ? new ConditionalNodeGen(graph, condition, x, y) : new ConditionalNode(graph, condition, x, y);
     }
 
     ConditionalNode(StructuredGraph graph, Condition condition, ValueNode x, ValueNode y) {
@@ -136,7 +136,7 @@
     }
 
     public static ConditionalNode create(ValueNode type, ValueNode object) {
-        return new ConditionalNodeGen(type, object);
+        return USE_GENERATED_NODES ? new ConditionalNodeGen(type, object) : new ConditionalNode(type, object);
     }
 
     ConditionalNode(ValueNode type, ValueNode object) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatAddNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatAddNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,11 +34,11 @@
 public class FloatAddNode extends FloatArithmeticNode {
 
     public static FloatAddNode create(ValueNode x, ValueNode y, boolean isStrictFP) {
-        return new FloatAddNodeGen(x, y, isStrictFP);
+        return USE_GENERATED_NODES ? new FloatAddNodeGen(x, y, isStrictFP) : new FloatAddNode(x, y, isStrictFP);
     }
 
     public static Class<? extends FloatAddNode> getGenClass() {
-        return FloatAddNodeGen.class;
+        return USE_GENERATED_NODES ? FloatAddNodeGen.class : FloatAddNode.class;
     }
 
     protected FloatAddNode(ValueNode x, ValueNode y, boolean isStrictFP) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatConvertNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -42,7 +42,7 @@
     private final FloatConvert op;
 
     public static FloatConvertNode create(FloatConvert op, ValueNode input) {
-        return new FloatConvertNodeGen(op, input);
+        return USE_GENERATED_NODES ? new FloatConvertNodeGen(op, input) : new FloatConvertNode(op, input);
     }
 
     protected FloatConvertNode(FloatConvert op, ValueNode input) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatDivNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatDivNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
 public class FloatDivNode extends FloatArithmeticNode {
 
     public static FloatDivNode create(ValueNode x, ValueNode y, boolean isStrictFP) {
-        return new FloatDivNodeGen(x, y, isStrictFP);
+        return USE_GENERATED_NODES ? new FloatDivNodeGen(x, y, isStrictFP) : new FloatDivNode(x, y, isStrictFP);
     }
 
     protected FloatDivNode(ValueNode x, ValueNode y, boolean isStrictFP) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatEqualsNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatEqualsNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -40,7 +40,7 @@
      * @param y the instruction that produces the second input to this instruction
      */
     public static FloatEqualsNode create(ValueNode x, ValueNode y) {
-        return new FloatEqualsNodeGen(x, y);
+        return USE_GENERATED_NODES ? new FloatEqualsNodeGen(x, y) : new FloatEqualsNode(x, y);
     }
 
     protected FloatEqualsNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatLessThanNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatLessThanNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -44,7 +44,7 @@
      *            a "true" result
      */
     public static FloatLessThanNode create(ValueNode x, ValueNode y, boolean unorderedIsTrue) {
-        return new FloatLessThanNodeGen(x, y, unorderedIsTrue);
+        return USE_GENERATED_NODES ? new FloatLessThanNodeGen(x, y, unorderedIsTrue) : new FloatLessThanNode(x, y, unorderedIsTrue);
     }
 
     protected FloatLessThanNode(ValueNode x, ValueNode y, boolean unorderedIsTrue) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatMulNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatMulNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,11 +34,11 @@
 public class FloatMulNode extends FloatArithmeticNode {
 
     public static FloatMulNode create(ValueNode x, ValueNode y, boolean isStrictFP) {
-        return new FloatMulNodeGen(x, y, isStrictFP);
+        return USE_GENERATED_NODES ? new FloatMulNodeGen(x, y, isStrictFP) : new FloatMulNode(x, y, isStrictFP);
     }
 
     public static Class<? extends FloatMulNode> getGenClass() {
-        return FloatMulNodeGen.class;
+        return USE_GENERATED_NODES ? FloatMulNodeGen.class : FloatMulNode.class;
     }
 
     protected FloatMulNode(ValueNode x, ValueNode y, boolean isStrictFP) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatRemNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatRemNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
 public class FloatRemNode extends FloatArithmeticNode implements Lowerable {
 
     public static FloatRemNode create(ValueNode x, ValueNode y, boolean isStrictFP) {
-        return new FloatRemNodeGen(x, y, isStrictFP);
+        return USE_GENERATED_NODES ? new FloatRemNodeGen(x, y, isStrictFP) : new FloatRemNode(x, y, isStrictFP);
     }
 
     protected FloatRemNode(ValueNode x, ValueNode y, boolean isStrictFP) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatSubNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/FloatSubNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -35,11 +35,11 @@
 public class FloatSubNode extends FloatArithmeticNode {
 
     public static FloatSubNode create(ValueNode x, ValueNode y, boolean isStrictFP) {
-        return new FloatSubNodeGen(x, y, isStrictFP);
+        return USE_GENERATED_NODES ? new FloatSubNodeGen(x, y, isStrictFP) : new FloatSubNode(x, y, isStrictFP);
     }
 
     public static Class<? extends FloatSubNode> getGenClass() {
-        return FloatSubNodeGen.class;
+        return USE_GENERATED_NODES ? FloatSubNodeGen.class : FloatSubNode.class;
     }
 
     protected FloatSubNode(ValueNode x, ValueNode y, boolean isStrictFP) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerAddNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerAddNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -35,11 +35,11 @@
 public class IntegerAddNode extends IntegerArithmeticNode implements NarrowableArithmeticNode {
 
     public static IntegerAddNode create(ValueNode x, ValueNode y) {
-        return new IntegerAddNodeGen(x, y);
+        return USE_GENERATED_NODES ? new IntegerAddNodeGen(x, y) : new IntegerAddNode(x, y);
     }
 
     public static Class<? extends IntegerAddNode> getGenClass() {
-        return IntegerAddNodeGen.class;
+        return USE_GENERATED_NODES ? IntegerAddNodeGen.class : IntegerAddNode.class;
     }
 
     protected IntegerAddNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerBelowNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerBelowNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
      * @param y the instruction that produces the second input to this instruction
      */
     public static IntegerBelowNode create(ValueNode x, ValueNode y) {
-        return new IntegerBelowNodeGen(x, y);
+        return USE_GENERATED_NODES ? new IntegerBelowNodeGen(x, y) : new IntegerBelowNode(x, y);
     }
 
     protected IntegerBelowNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerDivNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerDivNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -35,7 +35,7 @@
 public class IntegerDivNode extends FixedBinaryNode implements Lowerable, LIRLowerable {
 
     public static IntegerDivNode create(ValueNode x, ValueNode y) {
-        return new IntegerDivNodeGen(x, y);
+        return USE_GENERATED_NODES ? new IntegerDivNodeGen(x, y) : new IntegerDivNode(x, y);
     }
 
     protected IntegerDivNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerEqualsNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerEqualsNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -41,7 +41,7 @@
      * @param y the instruction that produces the second input to this instruction
      */
     public static IntegerEqualsNode create(ValueNode x, ValueNode y) {
-        return new IntegerEqualsNodeGen(x, y);
+        return USE_GENERATED_NODES ? new IntegerEqualsNodeGen(x, y) : new IntegerEqualsNode(x, y);
     }
 
     protected IntegerEqualsNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerLessThanNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -41,7 +41,7 @@
      * @param y the instruction that produces the second input to this instruction
      */
     public static IntegerLessThanNode create(ValueNode x, ValueNode y) {
-        return new IntegerLessThanNodeGen(x, y);
+        return USE_GENERATED_NODES ? new IntegerLessThanNodeGen(x, y) : new IntegerLessThanNode(x, y);
     }
 
     protected IntegerLessThanNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerMulNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerMulNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -35,11 +35,11 @@
 public class IntegerMulNode extends IntegerArithmeticNode implements NarrowableArithmeticNode {
 
     public static IntegerMulNode create(ValueNode x, ValueNode y) {
-        return new IntegerMulNodeGen(x, y);
+        return USE_GENERATED_NODES ? new IntegerMulNodeGen(x, y) : new IntegerMulNode(x, y);
     }
 
     public static Class<? extends IntegerMulNode> getGenClass() {
-        return IntegerMulNodeGen.class;
+        return USE_GENERATED_NODES ? IntegerMulNodeGen.class : IntegerMulNode.class;
     }
 
     protected IntegerMulNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerRemNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerRemNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
 public class IntegerRemNode extends FixedBinaryNode implements Lowerable, LIRLowerable {
 
     public static IntegerRemNode create(ValueNode x, ValueNode y) {
-        return new IntegerRemNodeGen(x, y);
+        return USE_GENERATED_NODES ? new IntegerRemNodeGen(x, y) : new IntegerRemNode(x, y);
     }
 
     protected IntegerRemNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerSubNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerSubNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,11 +36,11 @@
 public class IntegerSubNode extends IntegerArithmeticNode implements NarrowableArithmeticNode {
 
     public static IntegerSubNode create(ValueNode x, ValueNode y) {
-        return new IntegerSubNodeGen(x, y);
+        return USE_GENERATED_NODES ? new IntegerSubNodeGen(x, y) : new IntegerSubNode(x, y);
     }
 
     public static Class<? extends IntegerSubNode> getGenClass() {
-        return IntegerSubNodeGen.class;
+        return USE_GENERATED_NODES ? IntegerSubNodeGen.class : IntegerSubNode.class;
     }
 
     protected IntegerSubNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerTestNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerTestNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -42,7 +42,7 @@
      * @param y the instruction that produces the second input to this instruction
      */
     public static IntegerTestNode create(ValueNode x, ValueNode y) {
-        return new IntegerTestNodeGen(x, y);
+        return USE_GENERATED_NODES ? new IntegerTestNodeGen(x, y) : new IntegerTestNode(x, y);
     }
 
     protected IntegerTestNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IsNullNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -42,7 +42,7 @@
      * @param object the instruction producing the object to check against null
      */
     public static IsNullNode create(ValueNode object) {
-        return new IsNullNodeGen(object);
+        return USE_GENERATED_NODES ? new IsNullNodeGen(object) : new IsNullNode(object);
     }
 
     protected IsNullNode(ValueNode object) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/LeftShiftNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
 public class LeftShiftNode extends ShiftNode {
 
     public static LeftShiftNode create(ValueNode x, ValueNode y) {
-        return new LeftShiftNodeGen(x, y);
+        return USE_GENERATED_NODES ? new LeftShiftNodeGen(x, y) : new LeftShiftNode(x, y);
     }
 
     protected LeftShiftNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NarrowNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -38,7 +38,7 @@
 public class NarrowNode extends IntegerConvertNode {
 
     public static NarrowNode create(ValueNode input, int resultBits) {
-        return new NarrowNodeGen(input, resultBits);
+        return USE_GENERATED_NODES ? new NarrowNodeGen(input, resultBits) : new NarrowNode(input, resultBits);
     }
 
     protected NarrowNode(ValueNode input, int resultBits) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NegateNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -48,7 +48,7 @@
      * @param value the instruction producing the value that is input to this instruction
      */
     public static NegateNode create(ValueNode value) {
-        return new NegateNodeGen(value);
+        return USE_GENERATED_NODES ? new NegateNodeGen(value) : new NegateNode(value);
     }
 
     protected NegateNode(ValueNode value) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NormalizeCompareNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -48,7 +48,7 @@
      *            less, false when greater.
      */
     public static NormalizeCompareNode create(ValueNode x, ValueNode y, boolean isUnorderedLess) {
-        return new NormalizeCompareNodeGen(x, y, isUnorderedLess);
+        return USE_GENERATED_NODES ? new NormalizeCompareNodeGen(x, y, isUnorderedLess) : new NormalizeCompareNode(x, y, isUnorderedLess);
     }
 
     protected NormalizeCompareNode(ValueNode x, ValueNode y, boolean isUnorderedLess) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/NotNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -54,7 +54,7 @@
      * @param x the instruction producing the value that is input to this instruction
      */
     public static NotNode create(ValueNode x) {
-        return new NotNodeGen(x);
+        return USE_GENERATED_NODES ? new NotNodeGen(x) : new NotNode(x);
     }
 
     protected NotNode(ValueNode x) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -41,7 +41,7 @@
      * @param y the instruction that produces the second input to this instruction
      */
     public static ObjectEqualsNode create(ValueNode x, ValueNode y) {
-        return new ObjectEqualsNodeGen(x, y);
+        return USE_GENERATED_NODES ? new ObjectEqualsNodeGen(x, y) : new ObjectEqualsNode(x, y);
     }
 
     protected ObjectEqualsNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/OrNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,11 +36,11 @@
 public class OrNode extends BitLogicNode {
 
     public static OrNode create(ValueNode x, ValueNode y) {
-        return new OrNodeGen(x, y);
+        return USE_GENERATED_NODES ? new OrNodeGen(x, y) : new OrNode(x, y);
     }
 
     public static Class<? extends OrNode> getGenClass() {
-        return OrNodeGen.class;
+        return USE_GENERATED_NODES ? OrNodeGen.class : OrNode.class;
     }
 
     OrNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ReinterpretNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -40,7 +40,7 @@
 public class ReinterpretNode extends UnaryNode implements ArithmeticLIRLowerable {
 
     public static ReinterpretNode create(Kind to, ValueNode value) {
-        return new ReinterpretNodeGen(to, value);
+        return USE_GENERATED_NODES ? new ReinterpretNodeGen(to, value) : new ReinterpretNode(to, value);
     }
 
     ReinterpretNode(Kind to, ValueNode value) {
@@ -48,7 +48,7 @@
     }
 
     public static ReinterpretNode create(Stamp to, ValueNode value) {
-        return new ReinterpretNodeGen(to, value);
+        return USE_GENERATED_NODES ? new ReinterpretNodeGen(to, value) : new ReinterpretNode(to, value);
     }
 
     protected ReinterpretNode(Stamp to, ValueNode value) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/RightShiftNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -35,7 +35,7 @@
 public class RightShiftNode extends ShiftNode {
 
     public static RightShiftNode create(ValueNode x, ValueNode y) {
-        return new RightShiftNodeGen(x, y);
+        return USE_GENERATED_NODES ? new RightShiftNodeGen(x, y) : new RightShiftNode(x, y);
     }
 
     protected RightShiftNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/SignExtendNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -38,7 +38,7 @@
 public class SignExtendNode extends IntegerConvertNode {
 
     public static SignExtendNode create(ValueNode input, int resultBits) {
-        return new SignExtendNodeGen(input, resultBits);
+        return USE_GENERATED_NODES ? new SignExtendNodeGen(input, resultBits) : new SignExtendNode(input, resultBits);
     }
 
     protected SignExtendNode(ValueNode input, int resultBits) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedDivNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedDivNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
 public class UnsignedDivNode extends FixedBinaryNode implements Lowerable, LIRLowerable {
 
     public static UnsignedDivNode create(ValueNode x, ValueNode y) {
-        return new UnsignedDivNodeGen(x, y);
+        return USE_GENERATED_NODES ? new UnsignedDivNodeGen(x, y) : new UnsignedDivNode(x, y);
     }
 
     protected UnsignedDivNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRemNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRemNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
 public class UnsignedRemNode extends FixedBinaryNode implements Lowerable, LIRLowerable {
 
     public static UnsignedRemNode create(ValueNode x, ValueNode y) {
-        return new UnsignedRemNodeGen(x, y);
+        return USE_GENERATED_NODES ? new UnsignedRemNodeGen(x, y) : new UnsignedRemNode(x, y);
     }
 
     protected UnsignedRemNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/UnsignedRightShiftNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
 public class UnsignedRightShiftNode extends ShiftNode {
 
     public static UnsignedRightShiftNode create(ValueNode x, ValueNode y) {
-        return new UnsignedRightShiftNodeGen(x, y);
+        return USE_GENERATED_NODES ? new UnsignedRightShiftNodeGen(x, y) : new UnsignedRightShiftNode(x, y);
     }
 
     protected UnsignedRightShiftNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/XorNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,11 +36,11 @@
 public class XorNode extends BitLogicNode {
 
     public static XorNode create(ValueNode x, ValueNode y) {
-        return new XorNodeGen(x, y);
+        return USE_GENERATED_NODES ? new XorNodeGen(x, y) : new XorNode(x, y);
     }
 
     public static Class<? extends XorNode> getGenClass() {
-        return XorNodeGen.class;
+        return USE_GENERATED_NODES ? XorNodeGen.class : XorNode.class;
     }
 
     protected XorNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ZeroExtendNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
 public class ZeroExtendNode extends IntegerConvertNode {
 
     public static ZeroExtendNode create(ValueNode input, int resultBits) {
-        return new ZeroExtendNodeGen(input, resultBits);
+        return USE_GENERATED_NODES ? new ZeroExtendNodeGen(input, resultBits) : new ZeroExtendNode(input, resultBits);
     }
 
     protected ZeroExtendNode(ValueNode input, int resultBits) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/DynamicCounterNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -45,7 +45,7 @@
     private final boolean withContext;
 
     public static DynamicCounterNode create(String name, String group, ValueNode increment, boolean withContext) {
-        return new DynamicCounterNodeGen(name, group, increment, withContext);
+        return USE_GENERATED_NODES ? new DynamicCounterNodeGen(name, group, increment, withContext) : new DynamicCounterNode(name, group, increment, withContext);
     }
 
     DynamicCounterNode(String name, String group, ValueNode increment, boolean withContext) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/WeakCounterNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/debug/WeakCounterNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
     @Input ValueNode checkedValue;
 
     public static WeakCounterNode create(String group, String name, ValueNode increment, boolean addContext, ValueNode checkedValue) {
-        return new WeakCounterNodeGen(group, name, increment, addContext, checkedValue);
+        return USE_GENERATED_NODES ? new WeakCounterNodeGen(group, name, increment, addContext, checkedValue) : new WeakCounterNode(group, name, increment, addContext, checkedValue);
     }
 
     WeakCounterNode(String group, String name, ValueNode increment, boolean addContext, ValueNode checkedValue) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/AddLocationNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -57,7 +57,7 @@
     }
 
     public static AddLocationNode create(ValueNode x, ValueNode y) {
-        return new AddLocationNodeGen(x, y);
+        return USE_GENERATED_NODES ? new AddLocationNodeGen(x, y) : new AddLocationNode(x, y);
     }
 
     AddLocationNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BoxNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -45,7 +45,7 @@
     private final Kind boxingKind;
 
     public static BoxNode create(ValueNode value, ResolvedJavaType resultType, Kind boxingKind) {
-        return new BoxNodeGen(value, resultType, boxingKind);
+        return USE_GENERATED_NODES ? new BoxNodeGen(value, resultType, boxingKind) : new BoxNode(value, resultType, boxingKind);
     }
 
     BoxNode(ValueNode value, ResolvedJavaType resultType, Kind boxingKind) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BranchProbabilityNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BranchProbabilityNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -54,7 +54,7 @@
     @Input ValueNode condition;
 
     public static BranchProbabilityNode create(ValueNode probability, ValueNode condition) {
-        return new BranchProbabilityNodeGen(probability, condition);
+        return USE_GENERATED_NODES ? new BranchProbabilityNodeGen(probability, condition) : new BranchProbabilityNode(probability, condition);
     }
 
     BranchProbabilityNode(ValueNode probability, ValueNode condition) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/BytecodeExceptionNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -40,7 +40,7 @@
     @Input NodeInputList<ValueNode> arguments;
 
     public static BytecodeExceptionNode create(MetaAccessProvider metaAccess, Class<? extends Throwable> exceptionClass, ValueNode... arguments) {
-        return new BytecodeExceptionNodeGen(metaAccess, exceptionClass, arguments);
+        return USE_GENERATED_NODES ? new BytecodeExceptionNodeGen(metaAccess, exceptionClass, arguments) : new BytecodeExceptionNode(metaAccess, exceptionClass, arguments);
     }
 
     BytecodeExceptionNode(MetaAccessProvider metaAccess, Class<? extends Throwable> exceptionClass, ValueNode... arguments) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ComputeAddressNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ComputeAddressNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -44,7 +44,7 @@
     }
 
     public static ComputeAddressNode create(ValueNode object, ValueNode location, Stamp stamp) {
-        return new ComputeAddressNodeGen(object, location, stamp);
+        return USE_GENERATED_NODES ? new ComputeAddressNodeGen(object, location, stamp) : new ComputeAddressNode(object, location, stamp);
     }
 
     ComputeAddressNode(ValueNode object, ValueNode location, Stamp stamp) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ConstantLocationNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -45,7 +45,7 @@
     }
 
     public static ConstantLocationNode create(LocationIdentity identity, Kind kind, long displacement) {
-        return new ConstantLocationNodeGen(identity, kind, displacement);
+        return USE_GENERATED_NODES ? new ConstantLocationNodeGen(identity, kind, displacement) : new ConstantLocationNode(identity, kind, displacement);
     }
 
     ConstantLocationNode(LocationIdentity identity, Kind kind, long displacement) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedValueAnchorNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FixedValueAnchorNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -37,7 +37,7 @@
     }
 
     public static FixedValueAnchorNode create(ValueNode object) {
-        return new FixedValueAnchorNodeGen(object);
+        return USE_GENERATED_NODES ? new FixedValueAnchorNodeGen(object) : new FixedValueAnchorNode(object);
     }
 
     FixedValueAnchorNode(ValueNode object) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/FloatingReadNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -40,7 +40,7 @@
     @OptionalInput(InputType.Memory) MemoryNode lastLocationAccess;
 
     public static FloatingReadNode create(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp) {
-        return new FloatingReadNodeGen(object, location, lastLocationAccess, stamp);
+        return USE_GENERATED_NODES ? new FloatingReadNodeGen(object, location, lastLocationAccess, stamp) : new FloatingReadNode(object, location, lastLocationAccess, stamp);
     }
 
     FloatingReadNode(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp) {
@@ -48,7 +48,7 @@
     }
 
     public static FloatingReadNode create(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp, GuardingNode guard) {
-        return new FloatingReadNodeGen(object, location, lastLocationAccess, stamp, guard);
+        return USE_GENERATED_NODES ? new FloatingReadNodeGen(object, location, lastLocationAccess, stamp, guard) : new FloatingReadNode(object, location, lastLocationAccess, stamp, guard);
     }
 
     FloatingReadNode(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp, GuardingNode guard) {
@@ -56,7 +56,7 @@
     }
 
     public static FloatingReadNode create(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp, GuardingNode guard, BarrierType barrierType) {
-        return new FloatingReadNodeGen(object, location, lastLocationAccess, stamp, guard, barrierType);
+        return USE_GENERATED_NODES ? new FloatingReadNodeGen(object, location, lastLocationAccess, stamp, guard, barrierType) : new FloatingReadNode(object, location, lastLocationAccess, stamp, guard, barrierType);
     }
 
     FloatingReadNode(ValueNode object, LocationNode location, MemoryNode lastLocationAccess, Stamp stamp, GuardingNode guard, BarrierType barrierType) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ForeignCallNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -45,7 +45,7 @@
     private final ForeignCallDescriptor descriptor;
 
     public static ForeignCallNode create(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, ValueNode... arguments) {
-        return new ForeignCallNodeGen(foreignCalls, descriptor, arguments);
+        return USE_GENERATED_NODES ? new ForeignCallNodeGen(foreignCalls, descriptor, arguments) : new ForeignCallNode(foreignCalls, descriptor, arguments);
     }
 
     ForeignCallNode(ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, ValueNode... arguments) {
@@ -56,7 +56,7 @@
     }
 
     public static ForeignCallNode create(ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, List<ValueNode> arguments) {
-        return new ForeignCallNodeGen(foreignCalls, descriptor, arguments);
+        return USE_GENERATED_NODES ? new ForeignCallNodeGen(foreignCalls, descriptor, arguments) : new ForeignCallNode(foreignCalls, descriptor, arguments);
     }
 
     ForeignCallNode(ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, List<ValueNode> arguments) {
@@ -64,7 +64,7 @@
     }
 
     public static ForeignCallNode create(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, Stamp stamp, List<ValueNode> arguments) {
-        return new ForeignCallNodeGen(foreignCalls, descriptor, stamp, arguments);
+        return USE_GENERATED_NODES ? new ForeignCallNodeGen(foreignCalls, descriptor, stamp, arguments) : new ForeignCallNode(foreignCalls, descriptor, stamp, arguments);
     }
 
     ForeignCallNode(ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, Stamp stamp, List<ValueNode> arguments) {
@@ -75,7 +75,7 @@
     }
 
     public static ForeignCallNode create(@InjectedNodeParameter ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, Stamp stamp) {
-        return new ForeignCallNodeGen(foreignCalls, descriptor, stamp);
+        return USE_GENERATED_NODES ? new ForeignCallNodeGen(foreignCalls, descriptor, stamp) : new ForeignCallNode(foreignCalls, descriptor, stamp);
     }
 
     protected ForeignCallNode(ForeignCallsProvider foreignCalls, ForeignCallDescriptor descriptor, Stamp stamp) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IndexedLocationNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -70,7 +70,7 @@
     }
 
     public static IndexedLocationNode create(LocationIdentity identity, Kind kind, long displacement, ValueNode index, int indexScaling) {
-        return new IndexedLocationNodeGen(identity, kind, displacement, index, indexScaling);
+        return USE_GENERATED_NODES ? new IndexedLocationNodeGen(identity, kind, displacement, index, indexScaling) : new IndexedLocationNode(identity, kind, displacement, index, indexScaling);
     }
 
     IndexedLocationNode(LocationIdentity identity, Kind kind, long displacement, ValueNode index, int indexScaling) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/IntegerSwitchNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -52,7 +52,7 @@
      * @param keySuccessors the successor index for each key
      */
     public static IntegerSwitchNode create(ValueNode value, BeginNode[] successors, int[] keys, double[] keyProbabilities, int[] keySuccessors) {
-        return new IntegerSwitchNodeGen(value, successors, keys, keyProbabilities, keySuccessors);
+        return USE_GENERATED_NODES ? new IntegerSwitchNodeGen(value, successors, keys, keyProbabilities, keySuccessors) : new IntegerSwitchNode(value, successors, keys, keyProbabilities, keySuccessors);
     }
 
     IntegerSwitchNode(ValueNode value, BeginNode[] successors, int[] keys, double[] keyProbabilities, int[] keySuccessors) {
@@ -82,7 +82,7 @@
      * @param keySuccessors the successor index for each key
      */
     public static IntegerSwitchNode create(ValueNode value, int successorCount, int[] keys, double[] keyProbabilities, int[] keySuccessors) {
-        return new IntegerSwitchNodeGen(value, successorCount, keys, keyProbabilities, keySuccessors);
+        return USE_GENERATED_NODES ? new IntegerSwitchNodeGen(value, successorCount, keys, keyProbabilities, keySuccessors) : new IntegerSwitchNode(value, successorCount, keys, keyProbabilities, keySuccessors);
     }
 
     IntegerSwitchNode(ValueNode value, int successorCount, int[] keys, double[] keyProbabilities, int[] keySuccessors) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaReadNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -37,7 +37,7 @@
     private final boolean compressible;
 
     public static JavaReadNode create(ValueNode object, LocationNode location, BarrierType barrierType, boolean compressible) {
-        return new JavaReadNodeGen(object, location, barrierType, compressible);
+        return USE_GENERATED_NODES ? new JavaReadNodeGen(object, location, barrierType, compressible) : new JavaReadNode(object, location, barrierType, compressible);
     }
 
     JavaReadNode(ValueNode object, LocationNode location, BarrierType barrierType, boolean compressible) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/JavaWriteNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,7 +36,7 @@
     private final boolean compressible;
 
     public static JavaWriteNode create(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, boolean compressible, boolean initialization) {
-        return new JavaWriteNodeGen(object, value, location, barrierType, compressible, initialization);
+        return USE_GENERATED_NODES ? new JavaWriteNodeGen(object, value, location, barrierType, compressible, initialization) : new JavaWriteNode(object, value, location, barrierType, compressible, initialization);
     }
 
     JavaWriteNode(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, boolean compressible, boolean initialization) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadHubNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -44,7 +44,7 @@
     }
 
     public static LoadHubNode create(ValueNode value, Kind kind) {
-        return new LoadHubNodeGen(value, kind);
+        return USE_GENERATED_NODES ? new LoadHubNodeGen(value, kind) : new LoadHubNode(value, kind);
     }
 
     LoadHubNode(ValueNode value, Kind kind) {
@@ -53,7 +53,7 @@
     }
 
     public static LoadHubNode create(ValueNode value, Kind kind, ValueNode guard) {
-        return new LoadHubNodeGen(value, kind, guard);
+        return USE_GENERATED_NODES ? new LoadHubNodeGen(value, kind, guard) : new LoadHubNode(value, kind, guard);
     }
 
     LoadHubNode(ValueNode value, Kind kind, ValueNode guard) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/LoadMethodNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -46,7 +46,7 @@
     }
 
     public static LoadMethodNode create(ResolvedJavaMethod method, ResolvedJavaType receiverType, ValueNode hub, Kind kind) {
-        return new LoadMethodNodeGen(method, receiverType, hub, kind);
+        return USE_GENERATED_NODES ? new LoadMethodNodeGen(method, receiverType, hub, kind) : new LoadMethodNode(method, receiverType, hub, kind);
     }
 
     LoadMethodNode(ResolvedJavaMethod method, ResolvedJavaType receiverType, ValueNode hub, Kind kind) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/MembarNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/MembarNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -48,7 +48,7 @@
      * @param barriers a mask of the barrier constants defined in {@link MemoryBarriers}
      */
     public static MembarNode create(int barriers) {
-        return new MembarNodeGen(barriers);
+        return USE_GENERATED_NODES ? new MembarNodeGen(barriers) : new MembarNode(barriers);
     }
 
     MembarNode(int barriers) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/NullCheckNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/NullCheckNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
     @Input ValueNode object;
 
     public static NullCheckNode create(ValueNode object) {
-        return new NullCheckNodeGen(object);
+        return USE_GENERATED_NODES ? new NullCheckNodeGen(object) : new NullCheckNode(object);
     }
 
     NullCheckNode(ValueNode object) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRLocalNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRLocalNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -31,7 +31,7 @@
 public class OSRLocalNode extends AbstractLocalNode implements IterableNodeType {
 
     public static OSRLocalNode create(int index, Stamp stamp) {
-        return new OSRLocalNodeGen(index, stamp);
+        return USE_GENERATED_NODES ? new OSRLocalNodeGen(index, stamp) : new OSRLocalNode(index, stamp);
     }
 
     OSRLocalNode(int index, Stamp stamp) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRStartNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/OSRStartNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -30,7 +30,7 @@
 @NodeInfo
 public class OSRStartNode extends StartNode implements Lowerable {
     public static OSRStartNode create() {
-        return new OSRStartNodeGen();
+        return USE_GENERATED_NODES ? new OSRStartNodeGen() : new OSRStartNode();
     }
 
     OSRStartNode() {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ReadNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
 public class ReadNode extends FloatableAccessNode implements LIRLowerable, Canonicalizable, PiPushable, Virtualizable, GuardingNode {
 
     public static ReadNode create(ValueNode object, ValueNode location, Stamp stamp, BarrierType barrierType) {
-        return new ReadNodeGen(object, location, stamp, barrierType);
+        return USE_GENERATED_NODES ? new ReadNodeGen(object, location, stamp, barrierType) : new ReadNode(object, location, stamp, barrierType);
     }
 
     ReadNode(ValueNode object, ValueNode location, Stamp stamp, BarrierType barrierType) {
@@ -47,7 +47,7 @@
     }
 
     public static ReadNode create(ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType) {
-        return new ReadNodeGen(object, location, stamp, guard, barrierType);
+        return USE_GENERATED_NODES ? new ReadNodeGen(object, location, stamp, guard, barrierType) : new ReadNode(object, location, stamp, guard, barrierType);
     }
 
     ReadNode(ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType) {
@@ -55,7 +55,7 @@
     }
 
     public static ReadNode create(ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType, boolean nullCheck, FrameState stateBefore) {
-        return new ReadNodeGen(object, location, stamp, guard, barrierType, nullCheck, stateBefore);
+        return USE_GENERATED_NODES ? new ReadNodeGen(object, location, stamp, guard, barrierType, nullCheck, stateBefore) : new ReadNode(object, location, stamp, guard, barrierType, nullCheck, stateBefore);
     }
 
     ReadNode(ValueNode object, ValueNode location, Stamp stamp, GuardingNode guard, BarrierType barrierType, boolean nullCheck, FrameState stateBefore) {
@@ -63,7 +63,7 @@
     }
 
     public static ReadNode create(ValueNode object, ValueNode location, ValueNode guard, BarrierType barrierType) {
-        return new ReadNodeGen(object, location, guard, barrierType);
+        return USE_GENERATED_NODES ? new ReadNodeGen(object, location, guard, barrierType) : new ReadNode(object, location, guard, barrierType);
     }
 
     ReadNode(ValueNode object, ValueNode location, ValueNode guard, BarrierType barrierType) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/StoreHubNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/StoreHubNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -42,7 +42,7 @@
     }
 
     public static StoreHubNode create(ValueNode object, ValueNode value) {
-        return new StoreHubNodeGen(object, value);
+        return USE_GENERATED_NODES ? new StoreHubNodeGen(object, value) : new StoreHubNode(object, value);
     }
 
     StoreHubNode(ValueNode object, ValueNode value) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnboxNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,7 +36,7 @@
     private final Kind boxingKind;
 
     public static UnboxNode create(ValueNode value, Kind boxingKind) {
-        return new UnboxNodeGen(value, boxingKind);
+        return USE_GENERATED_NODES ? new UnboxNodeGen(value, boxingKind) : new UnboxNode(value, boxingKind);
     }
 
     UnboxNode(ValueNode value, Kind boxingKind) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeCastNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -43,7 +43,7 @@
     @Input ValueNode object;
 
     public static UnsafeCastNode create(ValueNode object, Stamp stamp) {
-        return new UnsafeCastNodeGen(object, stamp);
+        return USE_GENERATED_NODES ? new UnsafeCastNodeGen(object, stamp) : new UnsafeCastNode(object, stamp);
     }
 
     UnsafeCastNode(ValueNode object, Stamp stamp) {
@@ -52,7 +52,7 @@
     }
 
     public static UnsafeCastNode create(ValueNode object, Stamp stamp, ValueNode anchor) {
-        return new UnsafeCastNodeGen(object, stamp, anchor);
+        return USE_GENERATED_NODES ? new UnsafeCastNodeGen(object, stamp, anchor) : new UnsafeCastNode(object, stamp, anchor);
     }
 
     UnsafeCastNode(ValueNode object, Stamp stamp, ValueNode anchor) {
@@ -61,7 +61,7 @@
     }
 
     public static UnsafeCastNode create(ValueNode object, ResolvedJavaType toType, boolean exactType, boolean nonNull) {
-        return new UnsafeCastNodeGen(object, toType, exactType, nonNull);
+        return USE_GENERATED_NODES ? new UnsafeCastNodeGen(object, toType, exactType, nonNull) : new UnsafeCastNode(object, toType, exactType, nonNull);
     }
 
     UnsafeCastNode(ValueNode object, ResolvedJavaType toType, boolean exactType, boolean nonNull) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeLoadNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -40,7 +40,7 @@
     @OptionalInput(InputType.Condition) LogicNode guardingCondition;
 
     public static UnsafeLoadNode create(ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity) {
-        return new UnsafeLoadNodeGen(object, offset, accessKind, locationIdentity);
+        return USE_GENERATED_NODES ? new UnsafeLoadNodeGen(object, offset, accessKind, locationIdentity) : new UnsafeLoadNode(object, offset, accessKind, locationIdentity);
     }
 
     UnsafeLoadNode(ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity) {
@@ -48,7 +48,7 @@
     }
 
     public static UnsafeLoadNode create(ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity, LogicNode condition) {
-        return new UnsafeLoadNodeGen(object, offset, accessKind, locationIdentity, condition);
+        return USE_GENERATED_NODES ? new UnsafeLoadNodeGen(object, offset, accessKind, locationIdentity, condition) : new UnsafeLoadNode(object, offset, accessKind, locationIdentity, condition);
     }
 
     UnsafeLoadNode(ValueNode object, ValueNode offset, Kind accessKind, LocationIdentity locationIdentity, LogicNode condition) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/UnsafeStoreNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -42,7 +42,7 @@
     @OptionalInput(InputType.State) FrameState stateAfter;
 
     public static UnsafeStoreNode create(ValueNode object, ValueNode offset, ValueNode value, Kind accessKind, LocationIdentity locationIdentity) {
-        return new UnsafeStoreNodeGen(object, offset, value, accessKind, locationIdentity);
+        return USE_GENERATED_NODES ? new UnsafeStoreNodeGen(object, offset, value, accessKind, locationIdentity) : new UnsafeStoreNode(object, offset, value, accessKind, locationIdentity);
     }
 
     UnsafeStoreNode(ValueNode object, ValueNode offset, ValueNode value, Kind accessKind, LocationIdentity locationIdentity) {
@@ -50,7 +50,7 @@
     }
 
     public static UnsafeStoreNode create(ValueNode object, ValueNode offset, ValueNode value, Kind accessKind, LocationIdentity locationIdentity, FrameState stateAfter) {
-        return new UnsafeStoreNodeGen(object, offset, value, accessKind, locationIdentity, stateAfter);
+        return USE_GENERATED_NODES ? new UnsafeStoreNodeGen(object, offset, value, accessKind, locationIdentity, stateAfter) : new UnsafeStoreNode(object, offset, value, accessKind, locationIdentity, stateAfter);
     }
 
     UnsafeStoreNode(ValueNode object, ValueNode offset, ValueNode value, Kind accessKind, LocationIdentity locationIdentity, FrameState stateAfter) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/ValueAnchorNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
     @OptionalInput(InputType.Guard) ValueNode anchored;
 
     public static ValueAnchorNode create(ValueNode value) {
-        return new ValueAnchorNodeGen(value);
+        return USE_GENERATED_NODES ? new ValueAnchorNodeGen(value) : new ValueAnchorNode(value);
     }
 
     ValueAnchorNode(ValueNode value) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/extended/WriteNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -37,7 +37,7 @@
 public class WriteNode extends AbstractWriteNode implements LIRLowerable, Simplifiable, Virtualizable {
 
     public static WriteNode create(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType) {
-        return new WriteNodeGen(object, value, location, barrierType);
+        return USE_GENERATED_NODES ? new WriteNodeGen(object, value, location, barrierType) : new WriteNode(object, value, location, barrierType);
     }
 
     WriteNode(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType) {
@@ -45,7 +45,7 @@
     }
 
     public static WriteNode create(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, boolean initialization) {
-        return new WriteNodeGen(object, value, location, barrierType, initialization);
+        return USE_GENERATED_NODES ? new WriteNodeGen(object, value, location, barrierType, initialization) : new WriteNode(object, value, location, barrierType, initialization);
     }
 
     WriteNode(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, boolean initialization) {
@@ -53,7 +53,7 @@
     }
 
     public static WriteNode create(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, GuardingNode guard, boolean initialization) {
-        return new WriteNodeGen(object, value, location, barrierType, guard, initialization);
+        return USE_GENERATED_NODES ? new WriteNodeGen(object, value, location, barrierType, guard, initialization) : new WriteNode(object, value, location, barrierType, guard, initialization);
     }
 
     WriteNode(ValueNode object, ValueNode value, ValueNode location, BarrierType barrierType, GuardingNode guard, boolean initialization) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewArrayNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewArrayNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -49,7 +49,7 @@
      * @param fillContents determines whether the array elements should be initialized to zero/null.
      */
     public static AbstractNewArrayNode create(Stamp stamp, ValueNode length, boolean fillContents) {
-        return new AbstractNewArrayNodeGen(stamp, length, fillContents);
+        return USE_GENERATED_NODES ? new AbstractNewArrayNodeGen(stamp, length, fillContents) : new AbstractNewArrayNode(stamp, length, fillContents);
     }
 
     protected AbstractNewArrayNode(Stamp stamp, ValueNode length, boolean fillContents) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AbstractNewObjectNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -47,7 +47,7 @@
      * @param fillContents determines if the object's contents should be initialized to zero/null.
      */
     public static AbstractNewObjectNode create(Stamp stamp, boolean fillContents) {
-        return new AbstractNewObjectNodeGen(stamp, fillContents);
+        return USE_GENERATED_NODES ? new AbstractNewObjectNodeGen(stamp, fillContents) : new AbstractNewObjectNode(stamp, fillContents);
     }
 
     protected AbstractNewObjectNode(Stamp stamp, boolean fillContents) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ArrayLengthNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ArrayLengthNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -47,7 +47,7 @@
     }
 
     public static ArrayLengthNode create(ValueNode array) {
-        return new ArrayLengthNodeGen(array);
+        return USE_GENERATED_NODES ? new ArrayLengthNodeGen(array) : new ArrayLengthNode(array);
     }
 
     ArrayLengthNode(ValueNode array) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndAddNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndAddNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -45,7 +45,7 @@
     private final LocationIdentity locationIdentity;
 
     public static AtomicReadAndAddNode create(ValueNode object, ValueNode offset, ValueNode delta, LocationIdentity locationIdentity) {
-        return new AtomicReadAndAddNodeGen(object, offset, delta, locationIdentity);
+        return USE_GENERATED_NODES ? new AtomicReadAndAddNodeGen(object, offset, delta, locationIdentity) : new AtomicReadAndAddNode(object, offset, delta, locationIdentity);
     }
 
     AtomicReadAndAddNode(ValueNode object, ValueNode offset, ValueNode delta, LocationIdentity locationIdentity) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/AtomicReadAndWriteNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -47,7 +47,7 @@
     private final LocationIdentity locationIdentity;
 
     public static AtomicReadAndWriteNode create(ValueNode object, ValueNode offset, ValueNode newValue, Kind valueKind, LocationIdentity locationIdentity) {
-        return new AtomicReadAndWriteNodeGen(object, offset, newValue, valueKind, locationIdentity);
+        return USE_GENERATED_NODES ? new AtomicReadAndWriteNodeGen(object, offset, newValue, valueKind, locationIdentity) : new AtomicReadAndWriteNode(object, offset, newValue, valueKind, locationIdentity);
     }
 
     AtomicReadAndWriteNode(ValueNode object, ValueNode offset, ValueNode newValue, Kind valueKind, LocationIdentity locationIdentity) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastDynamicNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -50,7 +50,7 @@
      * @param object the object being cast
      */
     public static CheckCastDynamicNode create(ValueNode hub, ValueNode object, boolean forStoreCheck) {
-        return new CheckCastDynamicNodeGen(hub, object, forStoreCheck);
+        return USE_GENERATED_NODES ? new CheckCastDynamicNodeGen(hub, object, forStoreCheck) : new CheckCastDynamicNode(hub, object, forStoreCheck);
     }
 
     CheckCastDynamicNode(ValueNode hub, ValueNode object, boolean forStoreCheck) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CheckCastNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -60,7 +60,7 @@
      * @param object the instruction producing the object
      */
     public static CheckCastNode create(ResolvedJavaType type, ValueNode object, JavaTypeProfile profile, boolean forStoreCheck) {
-        return new CheckCastNodeGen(type, object, profile, forStoreCheck);
+        return USE_GENERATED_NODES ? new CheckCastNodeGen(type, object, profile, forStoreCheck) : new CheckCastNode(type, object, profile, forStoreCheck);
     }
 
     CheckCastNode(ResolvedJavaType type, ValueNode object, JavaTypeProfile profile, boolean forStoreCheck) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CompareAndSwapNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/CompareAndSwapNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -47,7 +47,7 @@
     private final LocationIdentity locationIdentity;
 
     public static CompareAndSwapNode create(ValueNode object, ValueNode offset, ValueNode expected, ValueNode newValue, Kind valueKind, LocationIdentity locationIdentity) {
-        return new CompareAndSwapNodeGen(object, offset, expected, newValue, valueKind, locationIdentity);
+        return USE_GENERATED_NODES ? new CompareAndSwapNodeGen(object, offset, expected, newValue, valueKind, locationIdentity) : new CompareAndSwapNode(object, offset, expected, newValue, valueKind, locationIdentity);
     }
 
     CompareAndSwapNode(ValueNode object, ValueNode offset, ValueNode expected, ValueNode newValue, Kind valueKind, LocationIdentity locationIdentity) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewArrayNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -43,7 +43,7 @@
     @Input ValueNode elementType;
 
     public static DynamicNewArrayNode create(ValueNode elementType, ValueNode length) {
-        return new DynamicNewArrayNodeGen(elementType, length);
+        return USE_GENERATED_NODES ? new DynamicNewArrayNodeGen(elementType, length) : new DynamicNewArrayNode(elementType, length);
     }
 
     DynamicNewArrayNode(ValueNode elementType, ValueNode length) {
@@ -51,7 +51,7 @@
     }
 
     public static DynamicNewArrayNode create(ValueNode elementType, ValueNode length, boolean fillContents) {
-        return new DynamicNewArrayNodeGen(elementType, length, fillContents);
+        return USE_GENERATED_NODES ? new DynamicNewArrayNodeGen(elementType, length, fillContents) : new DynamicNewArrayNode(elementType, length, fillContents);
     }
 
     DynamicNewArrayNode(ValueNode elementType, ValueNode length, boolean fillContents) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewInstanceNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/DynamicNewInstanceNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -35,7 +35,7 @@
     @Input ValueNode clazz;
 
     public static DynamicNewInstanceNode create(ValueNode clazz, boolean fillContents) {
-        return new DynamicNewInstanceNodeGen(clazz, fillContents);
+        return USE_GENERATED_NODES ? new DynamicNewInstanceNodeGen(clazz, fillContents) : new DynamicNewInstanceNode(clazz, fillContents);
     }
 
     DynamicNewInstanceNode(ValueNode clazz, boolean fillContents) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ExceptionObjectNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/ExceptionObjectNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -37,7 +37,7 @@
 public class ExceptionObjectNode extends DispatchBeginNode implements Lowerable, MemoryCheckpoint.Single {
 
     public static ExceptionObjectNode create(MetaAccessProvider metaAccess) {
-        return new ExceptionObjectNodeGen(metaAccess);
+        return USE_GENERATED_NODES ? new ExceptionObjectNodeGen(metaAccess) : new ExceptionObjectNode(metaAccess);
     }
 
     ExceptionObjectNode(MetaAccessProvider metaAccess) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfDynamicNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -45,7 +45,7 @@
      * @param object the object being tested
      */
     public static InstanceOfDynamicNode create(ValueNode mirror, ValueNode object) {
-        return new InstanceOfDynamicNodeGen(mirror, object);
+        return USE_GENERATED_NODES ? new InstanceOfDynamicNodeGen(mirror, object) : new InstanceOfDynamicNode(mirror, object);
     }
 
     InstanceOfDynamicNode(ValueNode mirror, ValueNode object) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/InstanceOfNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -46,7 +46,7 @@
      * @param object the object being tested by the instanceof
      */
     public static InstanceOfNode create(ResolvedJavaType type, ValueNode object, JavaTypeProfile profile) {
-        return new InstanceOfNodeGen(type, object, profile);
+        return USE_GENERATED_NODES ? new InstanceOfNodeGen(type, object, profile) : new InstanceOfNode(type, object, profile);
     }
 
     InstanceOfNode(ResolvedJavaType type, ValueNode object, JavaTypeProfile profile) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadExceptionObjectNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadExceptionObjectNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -31,7 +31,7 @@
 public class LoadExceptionObjectNode extends AbstractStateSplit implements Lowerable {
 
     public static LoadExceptionObjectNode create(Stamp stamp) {
-        return new LoadExceptionObjectNodeGen(stamp);
+        return USE_GENERATED_NODES ? new LoadExceptionObjectNodeGen(stamp) : new LoadExceptionObjectNode(stamp);
     }
 
     LoadExceptionObjectNode(Stamp stamp) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -46,7 +46,7 @@
      * @param field the compiler interface field
      */
     public static LoadFieldNode create(ValueNode object, ResolvedJavaField field) {
-        return new LoadFieldNodeGen(object, field);
+        return USE_GENERATED_NODES ? new LoadFieldNodeGen(object, field) : new LoadFieldNode(object, field);
     }
 
     protected LoadFieldNode(ValueNode object, ResolvedJavaField field) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadIndexedNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -43,7 +43,7 @@
      * @param elementKind the element type
      */
     public static LoadIndexedNode create(ValueNode array, ValueNode index, Kind elementKind) {
-        return new LoadIndexedNodeGen(array, index, elementKind);
+        return USE_GENERATED_NODES ? new LoadIndexedNodeGen(array, index, elementKind) : new LoadIndexedNode(array, index, elementKind);
     }
 
     LoadIndexedNode(ValueNode array, ValueNode index, Kind elementKind) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredAtomicReadAndWriteNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredAtomicReadAndWriteNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -41,7 +41,7 @@
     @OptionalInput(InputType.State) FrameState stateAfter;
 
     public static LoweredAtomicReadAndWriteNode create(ValueNode object, LocationNode location, ValueNode newValue, BarrierType barrierType) {
-        return new LoweredAtomicReadAndWriteNodeGen(object, location, newValue, barrierType);
+        return USE_GENERATED_NODES ? new LoweredAtomicReadAndWriteNodeGen(object, location, newValue, barrierType) : new LoweredAtomicReadAndWriteNode(object, location, newValue, barrierType);
     }
 
     LoweredAtomicReadAndWriteNode(ValueNode object, LocationNode location, ValueNode newValue, BarrierType barrierType) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoweredCompareAndSwapNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -62,7 +62,7 @@
     }
 
     public static LoweredCompareAndSwapNode create(ValueNode object, LocationNode location, ValueNode expectedValue, ValueNode newValue, BarrierType barrierType) {
-        return new LoweredCompareAndSwapNodeGen(object, location, expectedValue, newValue, barrierType);
+        return USE_GENERATED_NODES ? new LoweredCompareAndSwapNodeGen(object, location, expectedValue, newValue, barrierType) : new LoweredCompareAndSwapNode(object, location, expectedValue, newValue, barrierType);
     }
 
     LoweredCompareAndSwapNode(ValueNode object, LocationNode location, ValueNode expectedValue, ValueNode newValue, BarrierType barrierType) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MethodCallTargetNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -38,7 +38,7 @@
      * @param arguments
      */
     public static MethodCallTargetNode create(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType) {
-        return new MethodCallTargetNodeGen(invokeKind, targetMethod, arguments, returnType);
+        return USE_GENERATED_NODES ? new MethodCallTargetNodeGen(invokeKind, targetMethod, arguments, returnType) : new MethodCallTargetNode(invokeKind, targetMethod, arguments, returnType);
     }
 
     MethodCallTargetNode(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorEnterNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorEnterNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -41,7 +41,7 @@
      * @param object the instruction producing the object
      */
     public static MonitorEnterNode create(ValueNode object, MonitorIdNode monitorId) {
-        return new MonitorEnterNodeGen(object, monitorId);
+        return USE_GENERATED_NODES ? new MonitorEnterNodeGen(object, monitorId) : new MonitorEnterNode(object, monitorId);
     }
 
     MonitorEnterNode(ValueNode object, MonitorIdNode monitorId) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorExitNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorExitNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -45,7 +45,7 @@
      * Creates a new MonitorExitNode.
      */
     public static MonitorExitNode create(ValueNode object, MonitorIdNode monitorId, ValueNode escapedReturnValue) {
-        return new MonitorExitNodeGen(object, monitorId, escapedReturnValue);
+        return USE_GENERATED_NODES ? new MonitorExitNodeGen(object, monitorId, escapedReturnValue) : new MonitorExitNode(object, monitorId, escapedReturnValue);
     }
 
     MonitorExitNode(ValueNode object, MonitorIdNode monitorId, ValueNode escapedReturnValue) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorIdNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/MonitorIdNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
     private int lockDepth;
 
     public static MonitorIdNode create(int lockDepth) {
-        return new MonitorIdNodeGen(lockDepth);
+        return USE_GENERATED_NODES ? new MonitorIdNodeGen(lockDepth) : new MonitorIdNode(lockDepth);
     }
 
     MonitorIdNode(int lockDepth) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewArrayNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -48,7 +48,7 @@
      * @param fillContents determines whether the array elements should be initialized to zero/null.
      */
     public static NewArrayNode create(ResolvedJavaType elementType, ValueNode length, boolean fillContents) {
-        return new NewArrayNodeGen(elementType, length, fillContents);
+        return USE_GENERATED_NODES ? new NewArrayNodeGen(elementType, length, fillContents) : new NewArrayNode(elementType, length, fillContents);
     }
 
     NewArrayNode(ResolvedJavaType elementType, ValueNode length, boolean fillContents) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewInstanceNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewInstanceNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -48,7 +48,7 @@
      *            zero/null.
      */
     public static NewInstanceNode create(ResolvedJavaType type, boolean fillContents) {
-        return new NewInstanceNodeGen(type, fillContents);
+        return USE_GENERATED_NODES ? new NewInstanceNodeGen(type, fillContents) : new NewInstanceNode(type, fillContents);
     }
 
     NewInstanceNode(ResolvedJavaType type, boolean fillContents) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewMultiArrayNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/NewMultiArrayNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -57,7 +57,7 @@
      * @param dimensions the node which produce the dimensions for this array
      */
     public static NewMultiArrayNode create(ResolvedJavaType type, ValueNode[] dimensions) {
-        return new NewMultiArrayNodeGen(type, dimensions);
+        return USE_GENERATED_NODES ? new NewMultiArrayNodeGen(type, dimensions) : new NewMultiArrayNode(type, dimensions);
     }
 
     NewMultiArrayNode(ResolvedJavaType type, ValueNode[] dimensions) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/RegisterFinalizerNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -42,7 +42,7 @@
     @Input ValueNode value;
 
     public static RegisterFinalizerNode create(ValueNode value) {
-        return new RegisterFinalizerNodeGen(value);
+        return USE_GENERATED_NODES ? new RegisterFinalizerNodeGen(value) : new RegisterFinalizerNode(value);
     }
 
     RegisterFinalizerNode(ValueNode value) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/SelfReplacingMethodCallTargetNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/SelfReplacingMethodCallTargetNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -46,7 +46,7 @@
 
     public static SelfReplacingMethodCallTargetNode create(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType,
                     ResolvedJavaMethod replacementTargetMethod, ValueNode[] replacementArguments, JavaType replacementReturnType) {
-        return new SelfReplacingMethodCallTargetNodeGen(invokeKind, targetMethod, arguments, returnType, replacementTargetMethod, replacementArguments, replacementReturnType);
+        return USE_GENERATED_NODES ? new SelfReplacingMethodCallTargetNodeGen(invokeKind, targetMethod, arguments, returnType, replacementTargetMethod, replacementArguments, replacementReturnType) : new SelfReplacingMethodCallTargetNode(invokeKind, targetMethod, arguments, returnType, replacementTargetMethod, replacementArguments, replacementReturnType);
     }
 
     SelfReplacingMethodCallTargetNode(InvokeKind invokeKind, ResolvedJavaMethod targetMethod, ValueNode[] arguments, JavaType returnType, ResolvedJavaMethod replacementTargetMethod,
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreFieldNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreFieldNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -64,7 +64,7 @@
      * @param value the node representing the value to store to the field
      */
     public static StoreFieldNode create(ValueNode object, ResolvedJavaField field, ValueNode value) {
-        return new StoreFieldNodeGen(object, field, value);
+        return USE_GENERATED_NODES ? new StoreFieldNodeGen(object, field, value) : new StoreFieldNode(object, field, value);
     }
 
     StoreFieldNode(ValueNode object, ResolvedJavaField field, ValueNode value) {
@@ -73,7 +73,7 @@
     }
 
     public static StoreFieldNode create(ValueNode object, ResolvedJavaField field, ValueNode value, FrameState stateAfter) {
-        return new StoreFieldNodeGen(object, field, value, stateAfter);
+        return USE_GENERATED_NODES ? new StoreFieldNodeGen(object, field, value, stateAfter) : new StoreFieldNode(object, field, value, stateAfter);
     }
 
     StoreFieldNode(ValueNode object, ResolvedJavaField field, ValueNode value, FrameState stateAfter) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreIndexedNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/StoreIndexedNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -65,7 +65,7 @@
      * @param value the value to store into the array
      */
     public static StoreIndexedNode create(ValueNode array, ValueNode index, Kind elementKind, ValueNode value) {
-        return new StoreIndexedNodeGen(array, index, elementKind, value);
+        return USE_GENERATED_NODES ? new StoreIndexedNodeGen(array, index, elementKind, value) : new StoreIndexedNode(array, index, elementKind, value);
     }
 
     StoreIndexedNode(ValueNode array, ValueNode index, Kind elementKind, ValueNode value) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/TypeSwitchNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -54,7 +54,7 @@
      * @param keySuccessors the successor index for each key
      */
     public static TypeSwitchNode create(ValueNode value, BeginNode[] successors, ResolvedJavaType[] keys, double[] keyProbabilities, int[] keySuccessors) {
-        return new TypeSwitchNodeGen(value, successors, keys, keyProbabilities, keySuccessors);
+        return USE_GENERATED_NODES ? new TypeSwitchNodeGen(value, successors, keys, keyProbabilities, keySuccessors) : new TypeSwitchNode(value, successors, keys, keyProbabilities, keySuccessors);
     }
 
     TypeSwitchNode(ValueNode value, BeginNode[] successors, ResolvedJavaType[] keys, double[] keyProbabilities, int[] keySuccessors) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/AllocatedObjectNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/AllocatedObjectNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
     @Input(InputType.Extension) CommitAllocationNode commit;
 
     public static AllocatedObjectNode create(VirtualObjectNode virtualObject) {
-        return new AllocatedObjectNodeGen(virtualObject);
+        return USE_GENERATED_NODES ? new AllocatedObjectNodeGen(virtualObject) : new AllocatedObjectNode(virtualObject);
     }
 
     AllocatedObjectNode(VirtualObjectNode virtualObject) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/CommitAllocationNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -41,7 +41,7 @@
     private ArrayList<Integer> lockIndexes = new ArrayList<>(Arrays.asList(0));
 
     public static CommitAllocationNode create() {
-        return new CommitAllocationNodeGen();
+        return USE_GENERATED_NODES ? new CommitAllocationNodeGen() : new CommitAllocationNode();
     }
 
     CommitAllocationNode() {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualArrayNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualArrayNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,7 +36,7 @@
     private final int length;
 
     public static VirtualArrayNode create(ResolvedJavaType componentType, int length) {
-        return new VirtualArrayNodeGen(componentType, length);
+        return USE_GENERATED_NODES ? new VirtualArrayNodeGen(componentType, length) : new VirtualArrayNode(componentType, length);
     }
 
     VirtualArrayNode(ResolvedJavaType componentType, int length) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualBoxingNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
     private final Kind boxingKind;
 
     public static VirtualBoxingNode create(ResolvedJavaType type, Kind boxingKind) {
-        return new VirtualBoxingNodeGen(type, boxingKind);
+        return USE_GENERATED_NODES ? new VirtualBoxingNodeGen(type, boxingKind) : new VirtualBoxingNode(type, boxingKind);
     }
 
     VirtualBoxingNode(ResolvedJavaType type, Kind boxingKind) {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/virtual/VirtualInstanceNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
     private final ResolvedJavaField[] fields;
 
     public static VirtualInstanceNode create(ResolvedJavaType type, boolean hasIdentity) {
-        return new VirtualInstanceNodeGen(type, hasIdentity);
+        return USE_GENERATED_NODES ? new VirtualInstanceNodeGen(type, hasIdentity) : new VirtualInstanceNode(type, hasIdentity);
     }
 
     VirtualInstanceNode(ResolvedJavaType type, boolean hasIdentity) {
@@ -41,7 +41,7 @@
     }
 
     public static VirtualInstanceNode create(ResolvedJavaType type, ResolvedJavaField[] fields, boolean hasIdentity) {
-        return new VirtualInstanceNodeGen(type, fields, hasIdentity);
+        return USE_GENERATED_NODES ? new VirtualInstanceNodeGen(type, fields, hasIdentity) : new VirtualInstanceNode(type, fields, hasIdentity);
     }
 
     protected VirtualInstanceNode(ResolvedJavaType type, ResolvedJavaField[] fields, boolean hasIdentity) {
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/LoweringPhase.java	Mon Aug 25 13:45:12 2014 +0200
@@ -52,7 +52,7 @@
         @Input(InputType.Guard) GuardingNode guard;
 
         public static DummyGuardHandle create(GuardingNode guard) {
-            return new LoweringPhase_DummyGuardHandleGen(guard);
+            return USE_GENERATED_NODES ? new LoweringPhase_DummyGuardHandleGen(guard) : new DummyGuardHandle(guard);
         }
 
         protected DummyGuardHandle(GuardingNode guard) {
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/TailDuplicationPhase.java	Mon Aug 25 13:45:12 2014 +0200
@@ -64,7 +64,7 @@
     @NodeInfo
     static class DummyAnchorNode extends FixedWithNextNode implements GuardingNode {
         public static DummyAnchorNode create() {
-            return new TailDuplicationPhase_DummyAnchorNodeGen();
+            return USE_GENERATED_NODES ? new TailDuplicationPhase_DummyAnchorNodeGen() : new DummyAnchorNode();
         }
 
         protected DummyAnchorNode() {
--- a/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements.amd64/src/com/oracle/graal/replacements/amd64/AMD64FloatConvertNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -44,7 +44,7 @@
     private final FloatConvert op;
 
     public static AMD64FloatConvertNode create(Stamp stamp, FloatConvert op, ValueNode value) {
-        return new AMD64FloatConvertNodeGen(stamp, op, value);
+        return USE_GENERATED_NODES ? new AMD64FloatConvertNodeGen(stamp, op, value) : new AMD64FloatConvertNode(stamp, op, value);
     }
 
     protected AMD64FloatConvertNode(Stamp stamp, FloatConvert op, ValueNode value) {
--- a/graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements.hsail/src/com/oracle/graal/replacements/hsail/HSAILMathIntrinsicsNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -76,7 +76,7 @@
      * @param op the math operation
      */
     public static HSAILMathIntrinsicsNode create(ValueNode x, HSAILArithmetic op) {
-        return new HSAILMathIntrinsicsNodeGen(x, op);
+        return USE_GENERATED_NODES ? new HSAILMathIntrinsicsNodeGen(x, op) : new HSAILMathIntrinsicsNode(x, op);
     }
 
     protected HSAILMathIntrinsicsNode(ValueNode x, HSAILArithmetic op) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java	Mon Aug 25 13:45:12 2014 +0200
@@ -361,7 +361,7 @@
         final Varargs varargs;
 
         public static VarargsPlaceholderNode create(Varargs varargs, MetaAccessProvider metaAccess) {
-            return new SnippetTemplate_VarargsPlaceholderNodeGen(varargs, metaAccess);
+            return USE_GENERATED_NODES ? new SnippetTemplate_VarargsPlaceholderNodeGen(varargs, metaAccess) : new VarargsPlaceholderNode(varargs, metaAccess);
         }
 
         protected VarargsPlaceholderNode(Varargs varargs, MetaAccessProvider metaAccess) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ArrayEqualsNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -51,7 +51,7 @@
     @Input ValueNode length;
 
     public static ArrayEqualsNode create(ValueNode array1, ValueNode array2, ValueNode length) {
-        return new ArrayEqualsNodeGen(array1, array2, length);
+        return USE_GENERATED_NODES ? new ArrayEqualsNodeGen(array1, array2, length) : new ArrayEqualsNode(array1, array2, length);
     }
 
     protected ArrayEqualsNode(ValueNode array1, ValueNode array2, ValueNode length) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/AssertionNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/AssertionNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -44,7 +44,7 @@
     private final String message;
 
     public static AssertionNode create(boolean compileTimeAssertion, ValueNode value, String message) {
-        return new AssertionNodeGen(compileTimeAssertion, value, message);
+        return USE_GENERATED_NODES ? new AssertionNodeGen(compileTimeAssertion, value, message) : new AssertionNode(compileTimeAssertion, value, message);
     }
 
     protected AssertionNode(boolean compileTimeAssertion, ValueNode value, String message) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitCountNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitCountNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
 public class BitCountNode extends UnaryNode implements LIRLowerable {
 
     public static BitCountNode create(ValueNode value) {
-        return new BitCountNodeGen(value);
+        return USE_GENERATED_NODES ? new BitCountNodeGen(value) : new BitCountNode(value);
     }
 
     protected BitCountNode(ValueNode value) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanForwardNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -38,7 +38,7 @@
 public class BitScanForwardNode extends UnaryNode implements LIRLowerable {
 
     public static BitScanForwardNode create(ValueNode value) {
-        return new BitScanForwardNodeGen(value);
+        return USE_GENERATED_NODES ? new BitScanForwardNodeGen(value) : new BitScanForwardNode(value);
     }
 
     protected BitScanForwardNode(ValueNode value) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanReverseNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/BitScanReverseNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -38,7 +38,7 @@
 public class BitScanReverseNode extends UnaryNode implements LIRLowerable {
 
     public static BitScanReverseNode create(ValueNode value) {
-        return new BitScanReverseNodeGen(value);
+        return USE_GENERATED_NODES ? new BitScanReverseNodeGen(value) : new BitScanReverseNode(value);
     }
 
     protected BitScanReverseNode(ValueNode value) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectObjectStoreNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -44,7 +44,7 @@
     private final LocationIdentity locationIdentity;
 
     public static DirectObjectStoreNode create(ValueNode object, int displacement, ValueNode offset, ValueNode value, LocationIdentity locationIdentity) {
-        return new DirectObjectStoreNodeGen(object, displacement, offset, value, locationIdentity);
+        return USE_GENERATED_NODES ? new DirectObjectStoreNodeGen(object, displacement, offset, value, locationIdentity) : new DirectObjectStoreNode(object, displacement, offset, value, locationIdentity);
     }
 
     protected DirectObjectStoreNode(ValueNode object, int displacement, ValueNode offset, ValueNode value, LocationIdentity locationIdentity) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectReadNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -42,7 +42,7 @@
     private final Kind readKind;
 
     public static DirectReadNode create(ValueNode address, Kind readKind) {
-        return new DirectReadNodeGen(address, readKind);
+        return USE_GENERATED_NODES ? new DirectReadNodeGen(address, readKind) : new DirectReadNode(address, readKind);
     }
 
     protected DirectReadNode(ValueNode address, Kind readKind) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/DirectStoreNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -43,7 +43,7 @@
     private final Kind kind;
 
     public static DirectStoreNode create(ValueNode address, ValueNode value, Kind kind) {
-        return new DirectStoreNodeGen(address, value, kind);
+        return USE_GENERATED_NODES ? new DirectStoreNodeGen(address, value, kind) : new DirectStoreNode(address, value, kind);
     }
 
     protected DirectStoreNode(ValueNode address, ValueNode value, Kind kind) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ExplodeLoopNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ExplodeLoopNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -40,7 +40,7 @@
 public class ExplodeLoopNode extends FixedWithNextNode {
 
     public static ExplodeLoopNode create() {
-        return new ExplodeLoopNodeGen();
+        return USE_GENERATED_NODES ? new ExplodeLoopNodeGen() : new ExplodeLoopNode();
     }
 
     protected ExplodeLoopNode() {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/LoadSnippetVarargParameterNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/LoadSnippetVarargParameterNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -40,7 +40,7 @@
     @Input NodeInputList<ParameterNode> parameters;
 
     public static LoadSnippetVarargParameterNode create(ParameterNode[] locals, ValueNode index, Stamp stamp) {
-        return new LoadSnippetVarargParameterNodeGen(locals, index, stamp);
+        return USE_GENERATED_NODES ? new LoadSnippetVarargParameterNodeGen(locals, index, stamp) : new LoadSnippetVarargParameterNode(locals, index, stamp);
     }
 
     protected LoadSnippetVarargParameterNode(ParameterNode[] locals, ValueNode index, Stamp stamp) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -67,7 +67,7 @@
     private final InvokeKind invokeKind;
 
     public static MacroNode create(Invoke invoke) {
-        return new MacroNodeGen(invoke);
+        return USE_GENERATED_NODES ? new MacroNodeGen(invoke) : new MacroNode(invoke);
     }
 
     protected MacroNode(Invoke invoke) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroStateSplitNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MacroStateSplitNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -40,7 +40,7 @@
     @OptionalInput(InputType.State) protected FrameState stateAfter;
 
     public static MacroStateSplitNode create(Invoke invoke) {
-        return new MacroStateSplitNodeGen(invoke);
+        return USE_GENERATED_NODES ? new MacroStateSplitNodeGen(invoke) : new MacroStateSplitNode(invoke);
     }
 
     protected MacroStateSplitNode(Invoke invoke) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MathIntrinsicNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -52,7 +52,7 @@
     }
 
     public static MathIntrinsicNode create(ValueNode value, Operation op) {
-        return new MathIntrinsicNodeGen(value, op);
+        return USE_GENERATED_NODES ? new MathIntrinsicNodeGen(value, op) : new MathIntrinsicNode(value, op);
     }
 
     protected MathIntrinsicNode(ValueNode value, Operation op) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MemoryAnchorNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/MemoryAnchorNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
 public class MemoryAnchorNode extends FixedWithNextNode implements LIRLowerable, MemoryNode, Canonicalizable {
 
     public static MemoryAnchorNode create() {
-        return new MemoryAnchorNodeGen();
+        return USE_GENERATED_NODES ? new MemoryAnchorNodeGen() : new MemoryAnchorNode();
     }
 
     protected MemoryAnchorNode() {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReadRegisterNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -54,7 +54,7 @@
     private final boolean incoming;
 
     public static ReadRegisterNode create(Register register, Kind kind, boolean directUse, boolean incoming) {
-        return new ReadRegisterNodeGen(register, kind, directUse, incoming);
+        return USE_GENERATED_NODES ? new ReadRegisterNodeGen(register, kind, directUse, incoming) : new ReadRegisterNode(register, kind, directUse, incoming);
     }
 
     protected ReadRegisterNode(Register register, Kind kind, boolean directUse, boolean incoming) {
@@ -70,7 +70,7 @@
      * definition.
      */
     public static ReadRegisterNode create(Register register, boolean directUse, boolean incoming) {
-        return new ReadRegisterNodeGen(register, directUse, incoming);
+        return USE_GENERATED_NODES ? new ReadRegisterNodeGen(register, directUse, incoming) : new ReadRegisterNode(register, directUse, incoming);
     }
 
     protected ReadRegisterNode(Register register, boolean directUse, boolean incoming) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReverseBytesNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/ReverseBytesNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -35,7 +35,7 @@
 public class ReverseBytesNode extends UnaryNode implements LIRLowerable {
 
     public static ReverseBytesNode create(ValueNode value) {
-        return new ReverseBytesNodeGen(value);
+        return USE_GENERATED_NODES ? new ReverseBytesNodeGen(value) : new ReverseBytesNode(value);
     }
 
     protected ReverseBytesNode(ValueNode value) {
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/WriteRegisterNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/nodes/WriteRegisterNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -46,7 +46,7 @@
     @Input ValueNode value;
 
     public static WriteRegisterNode create(Register register, ValueNode value) {
-        return new WriteRegisterNodeGen(register, value);
+        return USE_GENERATED_NODES ? new WriteRegisterNodeGen(register, value) : new WriteRegisterNode(register, value);
     }
 
     protected WriteRegisterNode(Register register, ValueNode value) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/AssumptionNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -38,7 +38,7 @@
 public class AssumptionNode extends MacroNode implements com.oracle.graal.graph.IterableNodeType, Simplifiable {
 
     public static AssumptionNode create(Invoke invoke) {
-        return new AssumptionNodeGen(invoke);
+        return USE_GENERATED_NODES ? new AssumptionNodeGen(invoke) : new AssumptionNode(invoke);
     }
 
     protected AssumptionNode(Invoke invoke) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/BailoutNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/BailoutNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -34,7 +34,7 @@
 public class BailoutNode extends MacroNode implements Canonicalizable {
 
     public static BailoutNode create(Invoke invoke) {
-        return new BailoutNodeGen(invoke);
+        return USE_GENERATED_NODES ? new BailoutNodeGen(invoke) : new BailoutNode(invoke);
     }
 
     protected BailoutNode(Invoke invoke) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/LoadIndexedFinalNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/LoadIndexedFinalNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -46,7 +46,7 @@
      * @param elementKind the element type
      */
     public static LoadIndexedFinalNode create(ValueNode array, ValueNode index, Kind elementKind) {
-        return new LoadIndexedFinalNodeGen(array, index, elementKind);
+        return USE_GENERATED_NODES ? new LoadIndexedFinalNodeGen(array, index, elementKind) : new LoadIndexedFinalNode(array, index, elementKind);
     }
 
     protected LoadIndexedFinalNode(ValueNode array, ValueNode index, Kind elementKind) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -40,7 +40,7 @@
 public class IntegerAddExactNode extends IntegerAddNode implements IntegerExactArithmeticNode {
 
     public static IntegerAddExactNode create(ValueNode x, ValueNode y) {
-        return new IntegerAddExactNodeGen(x, y);
+        return USE_GENERATED_NODES ? new IntegerAddExactNodeGen(x, y) : new IntegerAddExactNode(x, y);
     }
 
     protected IntegerAddExactNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactSplitNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerAddExactSplitNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -32,7 +32,7 @@
 public class IntegerAddExactSplitNode extends IntegerExactArithmeticSplitNode {
 
     public static IntegerAddExactSplitNode create(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) {
-        return new IntegerAddExactSplitNodeGen(stamp, x, y, next, overflowSuccessor);
+        return USE_GENERATED_NODES ? new IntegerAddExactSplitNodeGen(stamp, x, y, next, overflowSuccessor) : new IntegerAddExactSplitNode(stamp, x, y, next, overflowSuccessor);
     }
 
     protected IntegerAddExactSplitNode(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
 public class IntegerMulExactNode extends IntegerMulNode implements IntegerExactArithmeticNode {
 
     public static IntegerMulExactNode create(ValueNode x, ValueNode y) {
-        return new IntegerMulExactNodeGen(x, y);
+        return USE_GENERATED_NODES ? new IntegerMulExactNodeGen(x, y) : new IntegerMulExactNode(x, y);
     }
 
     protected IntegerMulExactNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactSplitNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulExactSplitNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -32,7 +32,7 @@
 public class IntegerMulExactSplitNode extends IntegerExactArithmeticSplitNode {
 
     public static IntegerMulExactSplitNode create(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) {
-        return new IntegerMulExactSplitNodeGen(stamp, x, y, next, overflowSuccessor);
+        return USE_GENERATED_NODES ? new IntegerMulExactSplitNodeGen(stamp, x, y, next, overflowSuccessor) : new IntegerMulExactSplitNode(stamp, x, y, next, overflowSuccessor);
     }
 
     protected IntegerMulExactSplitNode(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulHighNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerMulHighNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
 public class IntegerMulHighNode extends IntegerArithmeticNode {
 
     public static IntegerMulHighNode create(ValueNode x, ValueNode y) {
-        return new IntegerMulHighNodeGen(x, y);
+        return USE_GENERATED_NODES ? new IntegerMulHighNodeGen(x, y) : new IntegerMulHighNode(x, y);
     }
 
     protected IntegerMulHighNode(ValueNode x, ValueNode y) {
@@ -47,7 +47,7 @@
     }
 
     public static IntegerMulHighNode create(Stamp stamp, ValueNode x, ValueNode y) {
-        return new IntegerMulHighNodeGen(stamp, x, y);
+        return USE_GENERATED_NODES ? new IntegerMulHighNodeGen(stamp, x, y) : new IntegerMulHighNode(stamp, x, y);
     }
 
     protected IntegerMulHighNode(Stamp stamp, ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -41,7 +41,7 @@
 public class IntegerSubExactNode extends IntegerSubNode implements IntegerExactArithmeticNode {
 
     public static IntegerSubExactNode create(ValueNode x, ValueNode y) {
-        return new IntegerSubExactNodeGen(x, y);
+        return USE_GENERATED_NODES ? new IntegerSubExactNodeGen(x, y) : new IntegerSubExactNode(x, y);
     }
 
     protected IntegerSubExactNode(ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactSplitNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/IntegerSubExactSplitNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -32,7 +32,7 @@
 public class IntegerSubExactSplitNode extends IntegerExactArithmeticSplitNode {
 
     public static IntegerSubExactSplitNode create(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) {
-        return new IntegerSubExactSplitNodeGen(stamp, x, y, next, overflowSuccessor);
+        return USE_GENERATED_NODES ? new IntegerSubExactSplitNodeGen(stamp, x, y, next, overflowSuccessor) : new IntegerSubExactSplitNode(stamp, x, y, next, overflowSuccessor);
     }
 
     protected IntegerSubExactSplitNode(Stamp stamp, ValueNode x, ValueNode y, BeginNode next, BeginNode overflowSuccessor) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/UnsignedMulHighNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/arithmetic/UnsignedMulHighNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -39,7 +39,7 @@
 public class UnsignedMulHighNode extends IntegerArithmeticNode {
 
     public static UnsignedMulHighNode create(ValueNode x, ValueNode y) {
-        return new UnsignedMulHighNodeGen(x, y);
+        return USE_GENERATED_NODES ? new UnsignedMulHighNodeGen(x, y) : new UnsignedMulHighNode(x, y);
     }
 
     protected UnsignedMulHighNode(ValueNode x, ValueNode y) {
@@ -47,7 +47,7 @@
     }
 
     public static UnsignedMulHighNode create(Stamp stamp, ValueNode x, ValueNode y) {
-        return new UnsignedMulHighNodeGen(stamp, x, y);
+        return USE_GENERATED_NODES ? new UnsignedMulHighNodeGen(stamp, x, y) : new UnsignedMulHighNode(stamp, x, y);
     }
 
     protected UnsignedMulHighNode(Stamp stamp, ValueNode x, ValueNode y) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/CompilationConstantNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/CompilationConstantNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -31,7 +31,7 @@
 public class CompilationConstantNode extends NeverPartOfCompilationNode implements Canonicalizable {
 
     public static CompilationConstantNode create(Invoke invoke) {
-        return new CompilationConstantNodeGen(invoke);
+        return USE_GENERATED_NODES ? new CompilationConstantNodeGen(invoke) : new CompilationConstantNode(invoke);
     }
 
     protected CompilationConstantNode(Invoke invoke) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverInlineMacroNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverInlineMacroNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -31,7 +31,7 @@
 public class NeverInlineMacroNode extends MacroStateSplitNode implements com.oracle.graal.graph.IterableNodeType {
 
     public static NeverInlineMacroNode create(Invoke invoke) {
-        return new NeverInlineMacroNodeGen(invoke);
+        return USE_GENERATED_NODES ? new NeverInlineMacroNodeGen(invoke) : new NeverInlineMacroNode(invoke);
     }
 
     protected NeverInlineMacroNode(Invoke invoke) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/asserts/NeverPartOfCompilationNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
     private final String message;
 
     public static NeverPartOfCompilationNode create(Invoke invoke) {
-        return new NeverPartOfCompilationNodeGen(invoke);
+        return USE_GENERATED_NODES ? new NeverPartOfCompilationNodeGen(invoke) : new NeverPartOfCompilationNode(invoke);
     }
 
     protected NeverPartOfCompilationNode(Invoke invoke) {
@@ -41,7 +41,7 @@
     }
 
     public static NeverPartOfCompilationNode create(Invoke invoke, String message) {
-        return new NeverPartOfCompilationNodeGen(invoke, message);
+        return USE_GENERATED_NODES ? new NeverPartOfCompilationNodeGen(invoke, message) : new NeverPartOfCompilationNode(invoke, message);
     }
 
     protected NeverPartOfCompilationNode(Invoke invoke, String message) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/ForceMaterializeNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/ForceMaterializeNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -33,7 +33,7 @@
     @Input ValueNode object;
 
     public static ForceMaterializeNode create(ValueNode object) {
-        return new ForceMaterializeNodeGen(object);
+        return USE_GENERATED_NODES ? new ForceMaterializeNodeGen(object) : new ForceMaterializeNode(object);
     }
 
     protected ForceMaterializeNode(ValueNode object) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/MaterializeFrameNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/MaterializeFrameNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -36,7 +36,7 @@
     @Input ValueNode frame;
 
     public static MaterializeFrameNode create(ValueNode frame) {
-        return new MaterializeFrameNodeGen(frame);
+        return USE_GENERATED_NODES ? new MaterializeFrameNodeGen(frame) : new MaterializeFrameNode(frame);
     }
 
     protected MaterializeFrameNode(ValueNode frame) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/frame/NewFrameNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -52,7 +52,7 @@
     @Input ValueNode arguments;
 
     public static NewFrameNode create(Stamp stamp, ValueNode descriptor, ValueNode arguments) {
-        return new NewFrameNodeGen(stamp, descriptor, arguments);
+        return USE_GENERATED_NODES ? new NewFrameNodeGen(stamp, descriptor, arguments) : new NewFrameNode(stamp, descriptor, arguments);
     }
 
     protected NewFrameNode(Stamp stamp, ValueNode descriptor, ValueNode arguments) {
@@ -62,7 +62,7 @@
     }
 
     public static NewFrameNode create(ResolvedJavaType frameType, ValueNode descriptor, ValueNode arguments) {
-        return new NewFrameNodeGen(frameType, descriptor, arguments);
+        return USE_GENERATED_NODES ? new NewFrameNodeGen(frameType, descriptor, arguments) : new NewFrameNode(frameType, descriptor, arguments);
     }
 
     protected NewFrameNode(ResolvedJavaType frameType, ValueNode descriptor, ValueNode arguments) {
@@ -109,7 +109,7 @@
         private boolean allowMaterialization;
 
         public static VirtualOnlyInstanceNode create(ResolvedJavaType type, ResolvedJavaField[] fields) {
-            return new NewFrameNode_VirtualOnlyInstanceNodeGen(type, fields);
+            return USE_GENERATED_NODES ? new NewFrameNode_VirtualOnlyInstanceNodeGen(type, fields) : new VirtualOnlyInstanceNode(type, fields);
         }
 
         VirtualOnlyInstanceNode(ResolvedJavaType type, ResolvedJavaField[] fields) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadFinalNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -49,7 +49,7 @@
     private final Kind accessKind;
 
     public static CustomizedUnsafeLoadFinalNode create(ValueNode object, ValueNode offset, ValueNode condition, ValueNode location, Kind accessKind) {
-        return new CustomizedUnsafeLoadFinalNodeGen(object, offset, condition, location, accessKind);
+        return USE_GENERATED_NODES ? new CustomizedUnsafeLoadFinalNodeGen(object, offset, condition, location, accessKind) : new CustomizedUnsafeLoadFinalNode(object, offset, condition, location, accessKind);
     }
 
     protected CustomizedUnsafeLoadFinalNode(ValueNode object, ValueNode offset, ValueNode condition, ValueNode location, Kind accessKind) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadMacroNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeLoadMacroNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -47,7 +47,7 @@
     private static final int LOCATION_ARGUMENT_INDEX = 3;
 
     public static CustomizedUnsafeLoadMacroNode create(Invoke invoke) {
-        return new CustomizedUnsafeLoadMacroNodeGen(invoke);
+        return USE_GENERATED_NODES ? new CustomizedUnsafeLoadMacroNodeGen(invoke) : new CustomizedUnsafeLoadMacroNode(invoke);
     }
 
     protected CustomizedUnsafeLoadMacroNode(Invoke invoke) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeStoreMacroNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/CustomizedUnsafeStoreMacroNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -44,7 +44,7 @@
     private static final int LOCATION_ARGUMENT_INDEX = 3;
 
     public static CustomizedUnsafeStoreMacroNode create(Invoke invoke) {
-        return new CustomizedUnsafeStoreMacroNodeGen(invoke);
+        return USE_GENERATED_NODES ? new CustomizedUnsafeStoreMacroNodeGen(invoke) : new CustomizedUnsafeStoreMacroNode(invoke);
     }
 
     protected CustomizedUnsafeStoreMacroNode(Invoke invoke) {
--- a/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/UnsafeTypeCastMacroNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.truffle/src/com/oracle/graal/truffle/nodes/typesystem/UnsafeTypeCastMacroNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -46,7 +46,7 @@
     private static final int ARGUMENT_COUNT = 4;
 
     public static UnsafeTypeCastMacroNode create(Invoke invoke) {
-        return new UnsafeTypeCastMacroNodeGen(invoke);
+        return USE_GENERATED_NODES ? new UnsafeTypeCastMacroNodeGen(invoke) : new UnsafeTypeCastMacroNode(invoke);
     }
 
     protected UnsafeTypeCastMacroNode(Invoke invoke) {
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializedObjectState.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/MaterializedObjectState.java	Mon Aug 25 13:45:12 2014 +0200
@@ -40,7 +40,7 @@
     }
 
     public static MaterializedObjectState create(VirtualObjectNode object, ValueNode materializedValue) {
-        return new MaterializedObjectStateGen(object, materializedValue);
+        return USE_GENERATED_NODES ? new MaterializedObjectStateGen(object, materializedValue) : new MaterializedObjectState(object, materializedValue);
     }
 
     protected MaterializedObjectState(VirtualObjectNode object, ValueNode materializedValue) {
--- a/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/VirtualObjectState.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.virtual/src/com/oracle/graal/virtual/nodes/VirtualObjectState.java	Mon Aug 25 13:45:12 2014 +0200
@@ -42,7 +42,7 @@
     }
 
     public static VirtualObjectState create(VirtualObjectNode object, ValueNode[] values) {
-        return new VirtualObjectStateGen(object, values);
+        return USE_GENERATED_NODES ? new VirtualObjectStateGen(object, values) : new VirtualObjectState(object, values);
     }
 
     protected VirtualObjectState(VirtualObjectNode object, ValueNode[] values) {
@@ -52,7 +52,7 @@
     }
 
     public static VirtualObjectState create(VirtualObjectNode object, List<ValueNode> values) {
-        return new VirtualObjectStateGen(object, values);
+        return USE_GENERATED_NODES ? new VirtualObjectStateGen(object, values) : new VirtualObjectState(object, values);
     }
 
     protected VirtualObjectState(VirtualObjectNode object, List<ValueNode> values) {
--- a/graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/SnippetLocationNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/SnippetLocationNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -60,7 +60,7 @@
     }
 
     public static SnippetLocationNode create(@InjectedNodeParameter SnippetReflectionProvider snippetReflection, ValueNode locationIdentity, ValueNode kind, ValueNode displacement) {
-        return new SnippetLocationNodeGen(snippetReflection, locationIdentity, kind, displacement);
+        return USE_GENERATED_NODES ? new SnippetLocationNodeGen(snippetReflection, locationIdentity, kind, displacement) : new SnippetLocationNode(snippetReflection, locationIdentity, kind, displacement);
     }
 
     SnippetLocationNode(@InjectedNodeParameter SnippetReflectionProvider snippetReflection, ValueNode locationIdentity, ValueNode kind, ValueNode displacement) {
@@ -69,7 +69,7 @@
 
     public static SnippetLocationNode create(@InjectedNodeParameter SnippetReflectionProvider snippetReflection, ValueNode locationIdentity, ValueNode kind, ValueNode displacement, ValueNode index,
                     ValueNode indexScaling) {
-        return new SnippetLocationNodeGen(snippetReflection, locationIdentity, kind, displacement, index, indexScaling);
+        return USE_GENERATED_NODES ? new SnippetLocationNodeGen(snippetReflection, locationIdentity, kind, displacement, index, indexScaling) : new SnippetLocationNode(snippetReflection, locationIdentity, kind, displacement, index, indexScaling);
     }
 
     SnippetLocationNode(SnippetReflectionProvider snippetReflection, ValueNode locationIdentity, ValueNode kind, ValueNode displacement, ValueNode index, ValueNode indexScaling) {
--- a/graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/WordCastNode.java	Mon Aug 25 12:57:49 2014 +0200
+++ b/graal/com.oracle.graal.word/src/com/oracle/graal/word/nodes/WordCastNode.java	Mon Aug 25 13:45:12 2014 +0200
@@ -51,7 +51,7 @@
     }
 
     public static WordCastNode create(Stamp stamp, ValueNode input) {
-        return new WordCastNodeGen(stamp, input);
+        return USE_GENERATED_NODES ? new WordCastNodeGen(stamp, input) : new WordCastNode(stamp, input);
     }
 
     WordCastNode(Stamp stamp, ValueNode input) {