Mercurial > hg > truffle
view graal/com.oracle.graal.graph/overview.html @ 10769:395d34c10e26
HSAIL backend changes
Contributed-by: Tom Deneau <tom.deneau@amd.com>
* 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)
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 15 Jul 2013 18:22:25 +0200 |
parents | 6f2ccb483d96 |
children |
line wrap: on
line source
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <html> <head> <!-- Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. This code is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2 only, as published by the Free Software Foundation. Oracle designates this particular file as subject to the "Classpath" exception as provided by Oracle in the LICENSE file that accompanied this code. This code is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License version 2 for more details (a copy is included in the LICENSE file that accompanied this code). You should have received a copy of the GNU General Public License version 2 along with this work; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA or visit www.oracle.com if you need additional information or have any questions. --> </head> <body> Documentation for the <code>com.oracle.graal.graph</code> project. </body> </html>