Mercurial > hg > truffle
comparison src/cpu/x86/vm/c1_FrameMap_x86.hpp @ 6948:e522a00b91aa
Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/ after NPG - C++ build works
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Mon, 12 Nov 2012 23:14:12 +0100 |
parents | d804e148cff8 |
children | 7944aba7ba41 |
comparison
equal
deleted
inserted
replaced
6711:ae13cc658b80 | 6948:e522a00b91aa |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1999, 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. |
71 static LIR_Opr rdi_oop_opr; | 71 static LIR_Opr rdi_oop_opr; |
72 static LIR_Opr rbx_oop_opr; | 72 static LIR_Opr rbx_oop_opr; |
73 static LIR_Opr rax_oop_opr; | 73 static LIR_Opr rax_oop_opr; |
74 static LIR_Opr rdx_oop_opr; | 74 static LIR_Opr rdx_oop_opr; |
75 static LIR_Opr rcx_oop_opr; | 75 static LIR_Opr rcx_oop_opr; |
76 | |
77 static LIR_Opr rsi_metadata_opr; | |
78 static LIR_Opr rdi_metadata_opr; | |
79 static LIR_Opr rbx_metadata_opr; | |
80 static LIR_Opr rax_metadata_opr; | |
81 static LIR_Opr rdx_metadata_opr; | |
82 static LIR_Opr rcx_metadata_opr; | |
83 | |
76 #ifdef _LP64 | 84 #ifdef _LP64 |
77 | 85 |
78 static LIR_Opr r8_opr; | 86 static LIR_Opr r8_opr; |
79 static LIR_Opr r9_opr; | 87 static LIR_Opr r9_opr; |
80 static LIR_Opr r10_opr; | 88 static LIR_Opr r10_opr; |
89 | 97 |
90 static LIR_Opr r11_oop_opr; | 98 static LIR_Opr r11_oop_opr; |
91 static LIR_Opr r12_oop_opr; | 99 static LIR_Opr r12_oop_opr; |
92 static LIR_Opr r13_oop_opr; | 100 static LIR_Opr r13_oop_opr; |
93 static LIR_Opr r14_oop_opr; | 101 static LIR_Opr r14_oop_opr; |
102 | |
103 static LIR_Opr r8_metadata_opr; | |
104 static LIR_Opr r9_metadata_opr; | |
105 | |
106 static LIR_Opr r11_metadata_opr; | |
107 static LIR_Opr r12_metadata_opr; | |
108 static LIR_Opr r13_metadata_opr; | |
109 static LIR_Opr r14_metadata_opr; | |
94 | 110 |
95 #endif // _LP64 | 111 #endif // _LP64 |
96 | 112 |
97 static LIR_Opr long0_opr; | 113 static LIR_Opr long0_opr; |
98 static LIR_Opr long1_opr; | 114 static LIR_Opr long1_opr; |
130 return _caller_save_xmm_regs[i]; | 146 return _caller_save_xmm_regs[i]; |
131 } | 147 } |
132 | 148 |
133 static int adjust_reg_range(int range) { | 149 static int adjust_reg_range(int range) { |
134 // Reduce the number of available regs (to free r12) in case of compressed oops | 150 // Reduce the number of available regs (to free r12) in case of compressed oops |
135 if (UseCompressedOops) return range - 1; | 151 if (UseCompressedOops || UseCompressedKlassPointers) return range - 1; |
136 return range; | 152 return range; |
137 } | 153 } |
138 | 154 |
139 static int nof_caller_save_cpu_regs() { return adjust_reg_range(pd_nof_caller_save_cpu_regs_frame_map); } | 155 static int nof_caller_save_cpu_regs() { return adjust_reg_range(pd_nof_caller_save_cpu_regs_frame_map); } |
140 static int last_cpu_reg() { return adjust_reg_range(pd_last_cpu_reg); } | 156 static int last_cpu_reg() { return adjust_reg_range(pd_last_cpu_reg); } |