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