new parameter on Snippet annotation to remove all frame states

--HG--
extra : source : 4532522db29de757cc20805eec30117b1609e2d8
fix, simplify and enable ObjectClone intrinsification

--HG--
extra : source : 26632cad51f045623f29ab776555c74ea3cb8406
remove unused option

--HG--
extra : source : 002fc658d363924d7283a81f3c6f7a6a3229d87c
in-depth profiling of allocations and monitors

--HG--
extra : source : 5eea1e5d4d6011d657bc3a0831fe41c26e5416b0
some more javadoc for benchmark counters

--HG--
extra : source : b25f442011fc86fc2cc1b7befb5cebaa72951774
don't tail duplicate object allocations

--HG--
extra : source : f3a7f969d3da68367250dd766d69601846af3bfc
InvokeWithException: make next successor a special begin node which has the same locationidentity as the invoke

InvokeWithExceptionNode has the unpleasant property that it is a ControlSplit
and MemoryCheckPoint at the same time.  In terms of scheduling, a node cannot
be placed after a ControlSplit node as it denotes the end of a block.  Thus,
instead of connecting a FloatingReadNode to the InvokeWithException node
directly (as lastLocationAccess), we point rather to the BeginNode
(non-exceptional case) or ExceptionBeginNode.

To preserve consistency regarding memory dependencies, the former node must be
also a MemoryCheckPoint.

--HG--
extra : rebase_source : 0c579401f122da5d146765b78348260007e7efdf
FloatingReadNode: add verify(), make sure that lastLocationAccess is always a MemoryCheckpoint

--HG--
extra : rebase_source : e9eced1e8bbe06ce25cf42f5a10f2c7ff348185b
CodeCacheProvider.encodeDeoptActionAndReason now returns a Constant

--HG--
extra : rebase_source : 7771a04c159187633f0145779fd6bed4cb9037ac
SpeculationLog gives back the necessary Constant when calling maySpeculate. Remove the deoptimizationReasonfrom the DebugInfo
Remove the speculationLog from LIR, it can be passed through a context to the phases that need it.

--HG--
extra : rebase_source : ba9b7b3a1b684d4ac9bc4afb4f791cb573139a82
Remove DeoptimizingNode.getDeoptimizationReason

--HG--
extra : rebase_source : eff3f93bca3b3aec9e16d1b42d6d715baac0f89f
Fix copyright date in NodeWithState

--HG--
extra : rebase_source : b64cf08c59dca1b573239e745054e6c8634414ac
Add a DynamicDeoptimizeNode where the action and reason is a input node.

--HG--
extra : rebase_source : 75a944c60106b4d59585a33aeff45dc69c26489b
Use ControlSplitNode and ControlSinkNode in GraphBuilderPhase.isBlockEnd
Remove Util.isFixed/isFloating

--HG--
extra : rebase_source : 8098312c007a51d45fd3e880d64c41e0f2c01f87
PTX single-threaded array store, Warp annotation
PTX: one-dimensional parallel warp invocation, ParallelOver annotation
AMD64HotSpot: emit jump to IC miss handler directly instead of emitting it inside verfied_entry

for empty methods we emitted something like this if a inline cache is needed:

    prefix:
        00:    < IC check >
               ...
        0b:    jne <ic_miss_call>
        11:    nop
               ...
    verified_entry:
        20:    ret
    ic_miss_call:
        21:    jmp <entry of runtime function>


when a method is deoptimized, HotSpot patches the verified_entry (0x20) with a
jump to a stub that handles call-sites that has been made non-entrant. since this jump
is 5 bytes long, it will overwrite ic_miss_call and blow up every caller that
calls this method via the unverified entry (prefix).

the fix is to emit the jump to the runtime function inside the unverfied entry:

    prefix:
        00:    < IC check >
               ...
        0b:    je  <verified_entry>
        11:    jeq <entry of runtime function>
        16:    nop
               ...
    verified_entry:
        20:    ret

--HG--
extra : rebase_source : f189d42bb5dbe59ce74c227a19505f98b1192633
improved documentation and testing for ResolvedJavaType.resolveMethod() (GRAAL-489)
improved javadoc for ResolvedJavaField.readConstantValue and .readValue
omit canonicalization in IncrementalCanonicalizerPhase if none of the contained phases changed the graph