Separate stamp for metaspace pointers.

--HG--
extra : rebase_source : 3abc3a2387ff0583b2bde6727737ef0fcb8debd2
Support constant folding of pointer reads.

--HG--
extra : rebase_source : a3196576659d4756ec1c7a45bd0d632b29cc93ef
Introduce PointerEqualsNode for metaspace pointer comparison.

--HG--
rename : graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/ObjectEqualsNode.java => graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/PointerEqualsNode.java
extra : rebase_source : 025ef984998c994061a3c02509b446cd6aafc0e0
Split getEncoding into two methods.

--HG--
extra : rebase_source : 289e552bb20a4473d2580da7b1dae54c037d28d0
extra : amend_source : 94bd9fc6fe566ef58d55bc98ad6b9201c702a8b9
Use pointer stamps in LoadHub and LoadMethod.
Introduce explicit casts between Word and metaspace pointers.

--HG--
extra : rebase_source : 92188593c63335f6f66024ce61140a177dfafbfd
Fix assertion in SPARC backend.
Remove StampProvider interface.

--HG--
extra : rebase_source : d3f3779a64cc16c6b697633d623a843bb5ba6bb1
extra : amend_source : 47f45f4d3d2f127c0d87bfc3edd5c3cc0493b1bc
expanded support for shared globals (i.e., values that must be retrieved from static fields instead of being copied in replay/remote compilation)
fixed HotSpotResolvedJavaMethodImpl.equals
try harder to avoid side-effects that perturb replay compilation testing
made compilation replay testing less strict by default
Truffle: make NodeInterface a pure marker interface

--HG--
extra : rebase_source : 384bfb97856fc9502aaee86afd3e13902b11aa7b
Make the @Fold annotation a top-level interface in the api project. It is not tied to the Snippet class where it was located before.
Make GraphMaker a static inner class to allow subclassing it independently from ReplacementsImpl
Add default implementation for Kind accessors of Signature and JavaField
Use the base class Executable (introduced in Java 8) to unify the handling of Method and Constructor in MetaAccessProvider
Eliminated the need for Signature.getParameterSlots()