* stackslot mapping was incorrect when combinations of 32-bit and 64-bit stores were generated. StackSlot alignment in HSAILTargetDescription set to 8. * compressedOops support in various heap size configurations (with or without either of shift or heap base). So we don't need XX:-UseCompressedOops anymore. * some support for unsigned shifts, long shifts, logical ops for long datatype. * a new GraalOption, InlineEverything. Some HSAIL targets are not able to handle HSAIL function calls yet, plus we are still working on emitting HSAIL function calls in the compiler. * hack for emitForeignCall special cases of createOutOfBoundsException or createNullPointerException. (We just emit a comment. Real exception handling still pending). These nodes came about when we more aggressively inlined, although this has not been explained yet. * support HSAILAddressValues as operands for arithmetic ops. Use HSAIL lda instruction to get address into a register. Used in particular for USHR for card-marking. * Added some new junit tests. (some ported from their lambda versions) * StaticNBodyCallTest which would fail with default inlining (since we don't yet generate HSAIL calls). It uses junit.assumeTrue and tests whether InlineEverything is set. It (and also some lambda-based junit tests not part of this webrev) do pass nicely when InlineEverything is set true. * tests for storing an object, which test being able to handle the card-marking logic, as well as the encoding and decoding of a compressed oop. * some 2D matrix tests that showed a problem before the stackslot change above. (have a mixture of 32-bit and 64-bit stackslot spills)