equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 1998, 2019, 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. |
137 bool must_assert_null = false; |
137 bool must_assert_null = false; |
138 |
138 |
139 DecoratorSet decorators = IN_HEAP; |
139 DecoratorSet decorators = IN_HEAP; |
140 decorators |= is_vol ? MO_SEQ_CST : MO_UNORDERED; |
140 decorators |= is_vol ? MO_SEQ_CST : MO_UNORDERED; |
141 |
141 |
142 bool is_obj = bt == T_OBJECT || bt == T_ARRAY; |
142 bool is_obj = is_reference_type(bt); |
143 |
143 |
144 if (is_obj) { |
144 if (is_obj) { |
145 if (!field->type()->is_loaded()) { |
145 if (!field->type()->is_loaded()) { |
146 type = TypeInstPtr::BOTTOM; |
146 type = TypeInstPtr::BOTTOM; |
147 must_assert_null = true; |
147 must_assert_null = true; |
208 Node* val = type2size[bt] == 1 ? pop() : pop_pair(); |
208 Node* val = type2size[bt] == 1 ? pop() : pop_pair(); |
209 |
209 |
210 DecoratorSet decorators = IN_HEAP; |
210 DecoratorSet decorators = IN_HEAP; |
211 decorators |= is_vol ? MO_SEQ_CST : MO_UNORDERED; |
211 decorators |= is_vol ? MO_SEQ_CST : MO_UNORDERED; |
212 |
212 |
213 bool is_obj = bt == T_OBJECT || bt == T_ARRAY; |
213 bool is_obj = is_reference_type(bt); |
214 |
214 |
215 // Store the value. |
215 // Store the value. |
216 const Type* field_type; |
216 const Type* field_type; |
217 if (!field->type()->is_loaded()) { |
217 if (!field->type()->is_loaded()) { |
218 field_type = TypeInstPtr::BOTTOM; |
218 field_type = TypeInstPtr::BOTTOM; |