Mercurial > hg > graal-jvmci-8
comparison src/share/vm/opto/memnode.cpp @ 23614:32b682649973 jdk8u75-b04
8132051: Better byte behavior
Reviewed-by: coleenp, roland
author | kevinw |
---|---|
date | Fri, 15 Jan 2016 22:33:15 +0000 |
parents | c1c199dde5c9 |
children | b5f3a471e646 |
comparison
equal
deleted
inserted
replaced
23613:b374548dcb48 | 23614:32b682649973 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. | 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * | 4 * |
5 * This code is free software; you can redistribute it and/or modify it | 5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as | 6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. | 7 * published by the Free Software Foundation. |
2368 Compile* C = gvn.C; | 2368 Compile* C = gvn.C; |
2369 assert(C->get_alias_index(adr_type) != Compile::AliasIdxRaw || | 2369 assert(C->get_alias_index(adr_type) != Compile::AliasIdxRaw || |
2370 ctl != NULL, "raw memory operations should have control edge"); | 2370 ctl != NULL, "raw memory operations should have control edge"); |
2371 | 2371 |
2372 switch (bt) { | 2372 switch (bt) { |
2373 case T_BOOLEAN: | 2373 case T_BOOLEAN: val = gvn.transform(new (C) AndINode(val, gvn.intcon(0x1))); // Fall through to T_BYTE case |
2374 case T_BYTE: return new (C) StoreBNode(ctl, mem, adr, adr_type, val, mo); | 2374 case T_BYTE: return new (C) StoreBNode(ctl, mem, adr, adr_type, val, mo); |
2375 case T_INT: return new (C) StoreINode(ctl, mem, adr, adr_type, val, mo); | 2375 case T_INT: return new (C) StoreINode(ctl, mem, adr, adr_type, val, mo); |
2376 case T_CHAR: | 2376 case T_CHAR: |
2377 case T_SHORT: return new (C) StoreCNode(ctl, mem, adr, adr_type, val, mo); | 2377 case T_SHORT: return new (C) StoreCNode(ctl, mem, adr, adr_type, val, mo); |
2378 case T_LONG: return new (C) StoreLNode(ctl, mem, adr, adr_type, val, mo); | 2378 case T_LONG: return new (C) StoreLNode(ctl, mem, adr, adr_type, val, mo); |