equal
deleted
inserted
replaced
67 } |
67 } |
68 |
68 |
69 const TypeAryPtr* adr_type = TypeAryPtr::get_array_body_type(bt); |
69 const TypeAryPtr* adr_type = TypeAryPtr::get_array_body_type(bt); |
70 |
70 |
71 Node* ld = access_load_at(array, adr, adr_type, elemtype, bt, |
71 Node* ld = access_load_at(array, adr, adr_type, elemtype, bt, |
72 IN_HEAP | IN_HEAP_ARRAY | C2_CONTROL_DEPENDENT_LOAD); |
72 IN_HEAP | IS_ARRAY | C2_CONTROL_DEPENDENT_LOAD); |
73 if (big_val) { |
73 if (big_val) { |
74 push_pair(ld); |
74 push_pair(ld); |
75 } else { |
75 } else { |
76 push(ld); |
76 push(ld); |
77 } |
77 } |
102 elemtype = _gvn.type(array)->is_aryptr()->elem()->make_oopptr(); |
102 elemtype = _gvn.type(array)->is_aryptr()->elem()->make_oopptr(); |
103 } |
103 } |
104 |
104 |
105 const TypeAryPtr* adr_type = TypeAryPtr::get_array_body_type(bt); |
105 const TypeAryPtr* adr_type = TypeAryPtr::get_array_body_type(bt); |
106 |
106 |
107 access_store_at(control(), array, adr, adr_type, val, elemtype, bt, MO_UNORDERED | IN_HEAP | IN_HEAP_ARRAY); |
107 access_store_at(control(), array, adr, adr_type, val, elemtype, bt, MO_UNORDERED | IN_HEAP | IS_ARRAY); |
108 } |
108 } |
109 |
109 |
110 |
110 |
111 //------------------------------array_addressing------------------------------- |
111 //------------------------------array_addressing------------------------------- |
112 // Pull array and index from the stack. Compute pointer-to-element. |
112 // Pull array and index from the stack. Compute pointer-to-element. |