comparison c1x4hotspotsrc/HotSpotVM/src/com/sun/hotspot/c1x/HotSpotRegisterConfig.java @ 2061:c0b1d6a44a02

Implemented fast inline array allocation.
author Thomas Wuerthinger <wuerthinger@ssw.jku.at>
date Sat, 22 Jan 2011 14:37:43 +0100
parents cb04e4217df0
children
comparison
equal deleted inserted replaced
2060:40bcc41390e4 2061:c0b1d6a44a02
37 */ 37 */
38 public class HotSpotRegisterConfig implements RiRegisterConfig { 38 public class HotSpotRegisterConfig implements RiRegisterConfig {
39 39
40 // be careful - the contents of this array are duplicated in c1x_CodeInstaller.cpp 40 // be careful - the contents of this array are duplicated in c1x_CodeInstaller.cpp
41 private final CiRegister[] allocatable = { 41 private final CiRegister[] allocatable = {
42 rax, rbx, rcx, rdx, rsi, rdi, r8, r9, /* r10, */r11, r12, r13, r14, 42 rax, rbx, rcx, rdx, rsi, rdi, r8, r9, /* r10, */r11, r12, r13, r14, /*r15*/
43 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7, 43 xmm0, xmm1, xmm2, xmm3, xmm4, xmm5, xmm6, xmm7,
44 xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15 44 xmm8, xmm9, xmm10, xmm11, xmm12, xmm13, xmm14, xmm15
45 }; 45 };
46 46
47 private final EnumMap<RegisterFlag, CiRegister[]> categorized = CiRegister.categorize(allocatable); 47 private final EnumMap<RegisterFlag, CiRegister[]> categorized = CiRegister.categorize(allocatable);