Mercurial > hg > truffle
comparison src/cpu/x86/vm/stubRoutines_x86_64.hpp @ 11080:b800986664f4
7088419: Use x86 Hardware CRC32 Instruction with java.util.zip.CRC32
Summary: add intrinsics using new instruction to interpreter, C1, C2, for suitable x86; add test
Reviewed-by: kvn, twisti
author | drchase |
---|---|
date | Tue, 02 Jul 2013 20:42:12 -0400 |
parents | a3ecd773a7b9 |
children | 0f57ccdb9084 |
comparison
equal
deleted
inserted
replaced
11079:738e04fb1232 | 11080:b800986664f4 |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2003, 2012, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2003, 2013, 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. |
40 friend class StubGenerator; | 40 friend class StubGenerator; |
41 | 41 |
42 private: | 42 private: |
43 static address _get_previous_fp_entry; | 43 static address _get_previous_fp_entry; |
44 static address _get_previous_sp_entry; | 44 static address _get_previous_sp_entry; |
45 static address _verify_mxcsr_entry; | |
46 | 45 |
47 static address _f2i_fixup; | 46 static address _f2i_fixup; |
48 static address _f2l_fixup; | 47 static address _f2l_fixup; |
49 static address _d2i_fixup; | 48 static address _d2i_fixup; |
50 static address _d2l_fixup; | 49 static address _d2l_fixup; |
52 static address _float_sign_mask; | 51 static address _float_sign_mask; |
53 static address _float_sign_flip; | 52 static address _float_sign_flip; |
54 static address _double_sign_mask; | 53 static address _double_sign_mask; |
55 static address _double_sign_flip; | 54 static address _double_sign_flip; |
56 static address _mxcsr_std; | 55 static address _mxcsr_std; |
57 // shuffle mask for fixing up 128-bit words consisting of big-endian 32-bit integers | |
58 static address _key_shuffle_mask_addr; | |
59 | 56 |
60 public: | 57 public: |
61 | 58 |
62 static address get_previous_fp_entry() | 59 static address get_previous_fp_entry() |
63 { | 60 { |
65 } | 62 } |
66 | 63 |
67 static address get_previous_sp_entry() | 64 static address get_previous_sp_entry() |
68 { | 65 { |
69 return _get_previous_sp_entry; | 66 return _get_previous_sp_entry; |
70 } | |
71 | |
72 static address verify_mxcsr_entry() | |
73 { | |
74 return _verify_mxcsr_entry; | |
75 } | 67 } |
76 | 68 |
77 static address f2i_fixup() | 69 static address f2i_fixup() |
78 { | 70 { |
79 return _f2i_fixup; | 71 return _f2i_fixup; |
117 static address mxcsr_std() | 109 static address mxcsr_std() |
118 { | 110 { |
119 return _mxcsr_std; | 111 return _mxcsr_std; |
120 } | 112 } |
121 | 113 |
122 static address key_shuffle_mask_addr() { return _key_shuffle_mask_addr; } | 114 # include "stubRoutines_x86.hpp" |
123 | 115 |
124 }; | 116 }; |
125 | 117 |
126 #endif // CPU_X86_VM_STUBROUTINES_X86_64_HPP | 118 #endif // CPU_X86_VM_STUBROUTINES_X86_64_HPP |