< prev index next >

src/hotspot/share/opto/library_call.hpp

Print this page
@@ -132,11 +132,14 @@
    Node* generate_limit_guard(Node* offset, Node* subseq_length,
                               Node* array_length,
                               RegionNode* region);
    void  generate_string_range_check(Node* array, Node* offset,
                                      Node* length, bool char_count);
+   Node* current_thread_helper(Node* &tls_output, ByteSize handle_offset,
+                               bool is_immutable);
    Node* generate_current_thread(Node* &tls_output);
+   Node* generate_virtual_thread(Node* threadObj);
    Node* load_mirror_from_klass(Node* klass);
    Node* load_klass_from_mirror_common(Node* mirror, bool never_see_null,
                                        RegionNode* region, int null_path,
                                        int offset);
    Node* load_klass_from_mirror(Node* mirror, bool never_see_null,

@@ -179,12 +182,12 @@
      return generate_method_call(method_id, false, true);
    }
    CallJavaNode* generate_method_call_virtual(vmIntrinsics::ID method_id) {
      return generate_method_call(method_id, true, false);
    }
-   Node* load_field_from_object(Node* fromObj, const char* fieldName, const char* fieldTypeString, DecoratorSet decorators, bool is_static, ciInstanceKlass* fromKls);
-   Node* field_address_from_object(Node* fromObj, const char* fieldName, const char* fieldTypeString, bool is_exact, bool is_static, ciInstanceKlass* fromKls);
+   Node* load_field_from_object(Node* fromObj, const char* fieldName, const char* fieldTypeString, DecoratorSet decorators = IN_HEAP, bool is_static = false, ciInstanceKlass* fromKls = NULL);
+   Node* field_address_from_object(Node* fromObj, const char* fieldName, const char* fieldTypeString, bool is_exact = true, bool is_static = false, ciInstanceKlass* fromKls = NULL);
  
    Node* make_string_method_node(int opcode, Node* str1_start, Node* cnt1, Node* str2_start, Node* cnt2, StrIntrinsicNode::ArgEnc ae);
    bool inline_string_compareTo(StrIntrinsicNode::ArgEnc ae);
    bool inline_string_indexOf(StrIntrinsicNode::ArgEnc ae);
    bool inline_string_indexOfI(StrIntrinsicNode::ArgEnc ae);

@@ -228,11 +231,16 @@
    bool inline_unsafe_allocate();
    bool inline_unsafe_newArray(bool uninitialized);
    bool inline_unsafe_writeback0();
    bool inline_unsafe_writebackSync0(bool is_pre);
    bool inline_unsafe_copyMemory();
+   bool inline_native_currentThread0();
+   bool inline_native_scopeLocalCache();
+   Node* scopeLocalCache_helper();
+   bool inline_native_setScopeLocalCache();
    bool inline_native_currentThread();
+   bool inline_native_setCurrentThread();
  
    bool inline_native_time_funcs(address method, const char* funcName);
  #ifdef JFR_HAVE_INTRINSICS
    bool inline_native_classID();
    bool inline_native_getEventWriter();

@@ -309,10 +317,12 @@
    Node* inline_galoisCounterMode_AESCrypt_predicate();
  
    bool inline_profileBoolean();
    bool inline_isCompileConstant();
  
+   bool inline_continuation_do_yield();
+ 
    // Vector API support
    bool inline_vector_nary_operation(int n);
    bool inline_vector_broadcast_coerced();
    bool inline_vector_shuffle_to_vector();
    bool inline_vector_shuffle_iota();
< prev index next >