93 __ encode_heap_oop(val);
94 }
95 __ movl(dst, val);
96 } else
97 #endif
98 {
99 __ movptr(dst, val);
100 }
101 }
102 } else {
103 assert(on_root, "why else?");
104 assert(val != noreg, "not supported");
105 __ movptr(dst, val);
106 }
107 break;
108 }
109 default: Unimplemented();
110 }
111 }
112
113 void BarrierSetAssembler::try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
114 Register obj, Register tmp, Label& slowpath) {
115 __ clear_jweak_tag(obj);
116 __ movptr(obj, Address(obj, 0));
117 }
|
93 __ encode_heap_oop(val);
94 }
95 __ movl(dst, val);
96 } else
97 #endif
98 {
99 __ movptr(dst, val);
100 }
101 }
102 } else {
103 assert(on_root, "why else?");
104 assert(val != noreg, "not supported");
105 __ movptr(dst, val);
106 }
107 break;
108 }
109 default: Unimplemented();
110 }
111 }
112
113 #ifndef _LP64
114 void BarrierSetAssembler::obj_equals(MacroAssembler* masm, DecoratorSet decorators,
115 Address obj1, jobject obj2) {
116 __ cmpoop_raw(obj1, obj2);
117 }
118
119 void BarrierSetAssembler::obj_equals(MacroAssembler* masm, DecoratorSet decorators,
120 Register obj1, jobject obj2) {
121 __ cmpoop_raw(obj1, obj2);
122 }
123 #endif
124 void BarrierSetAssembler::obj_equals(MacroAssembler* masm, DecoratorSet decorators,
125 Register obj1, Address obj2) {
126 __ cmpptr(obj1, obj2);
127 }
128
129 void BarrierSetAssembler::obj_equals(MacroAssembler* masm, DecoratorSet decorators,
130 Register obj1, Register obj2) {
131 __ cmpptr(obj1, obj2);
132 }
133
134 void BarrierSetAssembler::try_resolve_jobject_in_native(MacroAssembler* masm, Register jni_env,
135 Register obj, Register tmp, Label& slowpath) {
136 __ clear_jweak_tag(obj);
137 __ movptr(obj, Address(obj, 0));
138 }
|