equal
deleted
inserted
replaced
51 bool obj_int = type == T_OBJECT LP64_ONLY(&& UseCompressedOops); |
51 bool obj_int = type == T_OBJECT LP64_ONLY(&& UseCompressedOops); |
52 bool dest_uninitialized = (decorators & IS_DEST_UNINITIALIZED) != 0; |
52 bool dest_uninitialized = (decorators & IS_DEST_UNINITIALIZED) != 0; |
53 |
53 |
54 if (type == T_OBJECT || type == T_ARRAY) { |
54 if (type == T_OBJECT || type == T_ARRAY) { |
55 #ifdef _LP64 |
55 #ifdef _LP64 |
56 if (!checkcast && !obj_int) { |
56 if (!checkcast) { |
57 // Save count for barrier |
57 if (!obj_int) { |
58 __ movptr(r11, count); |
58 // Save count for barrier |
59 } else if (disjoint && obj_int) { |
59 __ movptr(r11, count); |
60 // Save dst in r11 in the disjoint case |
60 } else if (disjoint) { |
61 __ movq(r11, dst); |
61 // Save dst in r11 in the disjoint case |
|
62 __ movq(r11, dst); |
|
63 } |
62 } |
64 } |
63 #else |
65 #else |
64 if (disjoint) { |
66 if (disjoint) { |
65 __ mov(rdx, dst); // save 'to' |
67 __ mov(rdx, dst); // save 'to' |
66 } |
68 } |
121 bool obj_int = type == T_OBJECT LP64_ONLY(&& UseCompressedOops); |
123 bool obj_int = type == T_OBJECT LP64_ONLY(&& UseCompressedOops); |
122 Register tmp = rax; |
124 Register tmp = rax; |
123 |
125 |
124 if (type == T_OBJECT || type == T_ARRAY) { |
126 if (type == T_OBJECT || type == T_ARRAY) { |
125 #ifdef _LP64 |
127 #ifdef _LP64 |
126 if (!checkcast && !obj_int) { |
128 if (!checkcast) { |
127 // Save count for barrier |
129 if (!obj_int) { |
128 count = r11; |
130 // Save count for barrier |
129 } else if (disjoint && obj_int) { |
131 count = r11; |
130 // Use the saved dst in the disjoint case |
132 } else if (disjoint && obj_int) { |
131 dst = r11; |
133 // Use the saved dst in the disjoint case |
132 } else if (checkcast) { |
134 dst = r11; |
|
135 } |
|
136 } else { |
133 tmp = rscratch1; |
137 tmp = rscratch1; |
134 } |
138 } |
135 #else |
139 #else |
136 if (disjoint) { |
140 if (disjoint) { |
137 __ mov(dst, rdx); // restore 'to' |
141 __ mov(dst, rdx); // restore 'to' |