570 bool unaligned = false, |
570 bool unaligned = false, |
571 bool mismatched = false); |
571 bool mismatched = false); |
572 |
572 |
573 // Perform decorated accesses |
573 // Perform decorated accesses |
574 |
574 |
575 Node* access_store_at(Node* ctl, |
575 Node* access_store_at(Node* obj, // containing obj |
576 Node* obj, // containing obj |
|
577 Node* adr, // actual adress to store val at |
576 Node* adr, // actual adress to store val at |
578 const TypePtr* adr_type, |
577 const TypePtr* adr_type, |
579 Node* val, |
578 Node* val, |
580 const Type* val_type, |
579 const Type* val_type, |
581 BasicType bt, |
580 BasicType bt, |
591 Node* access_load(Node* adr, // actual adress to load val at |
590 Node* access_load(Node* adr, // actual adress to load val at |
592 const Type* val_type, |
591 const Type* val_type, |
593 BasicType bt, |
592 BasicType bt, |
594 DecoratorSet decorators); |
593 DecoratorSet decorators); |
595 |
594 |
596 Node* access_atomic_cmpxchg_val_at(Node* ctl, |
595 Node* access_atomic_cmpxchg_val_at(Node* obj, |
597 Node* obj, |
|
598 Node* adr, |
596 Node* adr, |
599 const TypePtr* adr_type, |
597 const TypePtr* adr_type, |
600 int alias_idx, |
598 int alias_idx, |
601 Node* expected_val, |
599 Node* expected_val, |
602 Node* new_val, |
600 Node* new_val, |
603 const Type* value_type, |
601 const Type* value_type, |
604 BasicType bt, |
602 BasicType bt, |
605 DecoratorSet decorators); |
603 DecoratorSet decorators); |
606 |
604 |
607 Node* access_atomic_cmpxchg_bool_at(Node* ctl, |
605 Node* access_atomic_cmpxchg_bool_at(Node* obj, |
608 Node* obj, |
|
609 Node* adr, |
606 Node* adr, |
610 const TypePtr* adr_type, |
607 const TypePtr* adr_type, |
611 int alias_idx, |
608 int alias_idx, |
612 Node* expected_val, |
609 Node* expected_val, |
613 Node* new_val, |
610 Node* new_val, |
614 const Type* value_type, |
611 const Type* value_type, |
615 BasicType bt, |
612 BasicType bt, |
616 DecoratorSet decorators); |
613 DecoratorSet decorators); |
617 |
614 |
618 Node* access_atomic_xchg_at(Node* ctl, |
615 Node* access_atomic_xchg_at(Node* obj, |
619 Node* obj, |
|
620 Node* adr, |
616 Node* adr, |
621 const TypePtr* adr_type, |
617 const TypePtr* adr_type, |
622 int alias_idx, |
618 int alias_idx, |
623 Node* new_val, |
619 Node* new_val, |
624 const Type* value_type, |
620 const Type* value_type, |
625 BasicType bt, |
621 BasicType bt, |
626 DecoratorSet decorators); |
622 DecoratorSet decorators); |
627 |
623 |
628 Node* access_atomic_add_at(Node* ctl, |
624 Node* access_atomic_add_at(Node* obj, |
629 Node* obj, |
|
630 Node* adr, |
625 Node* adr, |
631 const TypePtr* adr_type, |
626 const TypePtr* adr_type, |
632 int alias_idx, |
627 int alias_idx, |
633 Node* new_val, |
628 Node* new_val, |
634 const Type* value_type, |
629 const Type* value_type, |
635 BasicType bt, |
630 BasicType bt, |
636 DecoratorSet decorators); |
631 DecoratorSet decorators); |
637 |
632 |
638 void access_clone(Node* ctl, Node* src, Node* dst, Node* size, bool is_array); |
633 void access_clone(Node* src, Node* dst, Node* size, bool is_array); |
639 |
634 |
640 Node* access_resolve(Node* n, DecoratorSet decorators); |
635 Node* access_resolve(Node* n, DecoratorSet decorators); |
641 |
636 |
642 // Return addressing for an array element. |
637 // Return addressing for an array element. |
643 Node* array_element_address(Node* ary, Node* idx, BasicType elembt, |
638 Node* array_element_address(Node* ary, Node* idx, BasicType elembt, |
847 Node* new_array(Node* klass_node, Node* count_val, int nargs, |
842 Node* new_array(Node* klass_node, Node* count_val, int nargs, |
848 Node* *return_size_val = NULL, |
843 Node* *return_size_val = NULL, |
849 bool deoptimize_on_exception = false); |
844 bool deoptimize_on_exception = false); |
850 |
845 |
851 // java.lang.String helpers |
846 // java.lang.String helpers |
852 Node* load_String_length(Node* ctrl, Node* str); |
847 Node* load_String_length(Node* str, bool set_ctrl); |
853 Node* load_String_value(Node* ctrl, Node* str); |
848 Node* load_String_value(Node* str, bool set_ctrl); |
854 Node* load_String_coder(Node* ctrl, Node* str); |
849 Node* load_String_coder(Node* str, bool set_ctrl); |
855 void store_String_value(Node* ctrl, Node* str, Node* value); |
850 void store_String_value(Node* str, Node* value); |
856 void store_String_coder(Node* ctrl, Node* str, Node* value); |
851 void store_String_coder(Node* str, Node* value); |
857 Node* capture_memory(const TypePtr* src_type, const TypePtr* dst_type); |
852 Node* capture_memory(const TypePtr* src_type, const TypePtr* dst_type); |
858 Node* compress_string(Node* src, const TypeAryPtr* src_type, Node* dst, Node* count); |
853 Node* compress_string(Node* src, const TypeAryPtr* src_type, Node* dst, Node* count); |
859 void inflate_string(Node* src, Node* dst, const TypeAryPtr* dst_type, Node* count); |
854 void inflate_string(Node* src, Node* dst, const TypeAryPtr* dst_type, Node* count); |
860 void inflate_string_slow(Node* src, Node* dst, Node* start, Node* count); |
855 void inflate_string_slow(Node* src, Node* dst, Node* start, Node* count); |
861 |
856 |