Mercurial > hg > truffle
comparison src/share/vm/opto/matcher.hpp @ 6275:957c266d8bc5
Merge with http://hg.openjdk.java.net/hsx/hsx24/hotspot/
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Tue, 21 Aug 2012 10:39:19 +0200 |
parents | 8c92982cbbc4 |
children | da91efe96a93 |
comparison
equal
deleted
inserted
replaced
5891:fd8832ae511d | 6275:957c266d8bc5 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 2012, 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. |
248 // Used to determine if we have fast l2f conversion | 248 // Used to determine if we have fast l2f conversion |
249 // USII has it, USIII doesn't | 249 // USII has it, USIII doesn't |
250 static const bool convL2FSupported(void); | 250 static const bool convL2FSupported(void); |
251 | 251 |
252 // Vector width in bytes | 252 // Vector width in bytes |
253 static const uint vector_width_in_bytes(void); | 253 static const int vector_width_in_bytes(BasicType bt); |
254 | |
255 // Limits on vector size (number of elements). | |
256 static const int max_vector_size(const BasicType bt); | |
257 static const int min_vector_size(const BasicType bt); | |
258 static const bool vector_size_supported(const BasicType bt, int size) { | |
259 return (Matcher::max_vector_size(bt) >= size && | |
260 Matcher::min_vector_size(bt) <= size); | |
261 } | |
254 | 262 |
255 // Vector ideal reg | 263 // Vector ideal reg |
256 static const uint vector_ideal_reg(void); | 264 static const int vector_ideal_reg(int len); |
265 | |
266 // CPU supports misaligned vectors store/load. | |
267 static const bool misaligned_vectors_ok(); | |
257 | 268 |
258 // Used to determine a "low complexity" 64-bit constant. (Zero is simple.) | 269 // Used to determine a "low complexity" 64-bit constant. (Zero is simple.) |
259 // The standard of comparison is one (StoreL ConL) vs. two (StoreI ConI). | 270 // The standard of comparison is one (StoreL ConL) vs. two (StoreI ConI). |
260 // Depends on the details of 64-bit constant generation on the CPU. | 271 // Depends on the details of 64-bit constant generation on the CPU. |
261 static const bool isSimpleConstant64(jlong con); | 272 static const bool isSimpleConstant64(jlong con); |