src/hotspot/share/opto/graphKit.hpp
changeset 51880 ec4c3c287ca7
parent 51705 8123901bc3d1
child 52074 755b367c2134
equal deleted inserted replaced
51879:6ffa38b8da65 51880:ec4c3c287ca7
   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