temporary addition of CompilerDirectives.transferToInterpreterAndInvalidate()
added support for unconditionally enabling a DebugTimer or DebugMetric, regardless of whether general Debug capabilities are enabled
made the BytecodesParsed and InlinedBytecodes metrics and CompilationTime timer be unconditionally enabled if -XX:+CITime
Use argument graph in BinaryNode smart constructors.
NewMemoryAwareScheduling: fix out of loop for FloatingReadNodes

--HG--
extra : rebase_source : eebf17b64efb96066081d11b290e4fffdfd2bf0e
NewMemoryAwareScheduling: rewrite to set based approach

--HG--
extra : rebase_source : 1b9df5e15ec3cf3c7595a13e715d04abdfc4c659
NewMemoryAwareScheduling: hide data structure behind wrapper class
enable -G:+NewMemoryAwareScheduling per default

--HG--
extra : amend_source : f90fb49b6fdc2c023d235b2d5d245525c8b1ee4f
added getCurrentValue() to both DebugTimer and DebugValue; added getTimeUnit() to DebugTimer
made Graal report its compilation info under -XX:+CITime in the same format as c1 and c2
removed deprecated mechanism for implementing -XX:+CITime in Graal
Merge.
Add RandomAccess interface to NodeList
HSAIL: fix some assert logic in the argument-gathering code that shows up in non-product builds
Contributed-by: Tom Deneau <tom.deneau@amd.com>

Summary:
    * computes parameter_count based on signature and uses that and parameter_index (set by the SignatureIterator) to tell if we are on the last parameter, which requires special handling whether it is an int or an object.
    * 	if signature says last parameter is an Object, checks that the real passed in parameter is an Object Array, but for non last-parameters, lets  objects go thru.
    *	if signature says last parameter is an int, nothing is pushed (no change to this logic)
use AccessController.doPrivileged to enqueue compilations and shutting down the compiler
peephole optimization to remove null checks at the LIR level
pass stack pointer register into monitorenter snippet instead of getting it from the host provider
get thread register from generator when lowering CurrentJavaThreadNode node instead of getting it from the host provider
pass thread register into monitorenter snippet instead of getting it from the host provider
pass thread register into allocation snippets instead of getting it from the host provider