< prev index next >

src/share/vm/opto/callnode.hpp

Print this page

        

*** 894,903 **** --- 894,917 ---- // are defined in graphKit.cpp, which sets up the bidirectional relation.) InitializeNode* initialization(); // Convenience for initialization->maybe_set_complete(phase) bool maybe_set_complete(PhaseGVN* phase); + + #ifdef AARCH64 + // Return true if allocation doesn't escape thread, its escape state + // needs be noEscape or ArgEscape. InitializeNode._does_not_escape + // is true when its allocation's escape state is noEscape or + // ArgEscape. In case allocation's InitializeNode is NULL, check + // AlllocateNode._is_non_escaping flag. + // AlllocateNode._is_non_escaping is true when its escape state is + // noEscape. + bool does_not_escape_thread() { + InitializeNode* init = NULL; + return _is_non_escaping || (((init = initialization()) != NULL) && init->does_not_escape()); + } + #endif }; //------------------------------AllocateArray--------------------------------- // // High-level array allocation
< prev index next >