Lines Matching defs:call

330       // Don't mark as processed since call's arguments have to be processed.
332 // Check if a call returns an object.
340 // Put this check here to process call arguments since some call nodes
436 // we are only interested in the oop result projection from a call
631 // we are only interested in the oop result projection from a call
736 void ConnectionGraph::add_call_node(CallNode* call) {
737 assert(call->returns_pointer(), "only for call which returns pointer");
738 uint call_idx = call->_idx;
739 if (call->is_Allocate()) {
740 Node* k = call->in(AllocateNode::KlassNode);
746 if (call->is_AllocateArray()) {
750 int length = call->in(AllocateNode::ALength)->find_int_con(-1);
763 add_java_object(call, es);
768 } else if (call->is_CallStaticJava()) {
771 // 1. CallDynamicJavaNode (what happened during call is unknown):
783 // during call is returned;
785 // which are returned and does not escape during call;
789 // For a static call, we know exactly what method is being called.
790 // Use bytecode estimator to record whether the call's return value escapes.
791 ciMethod* meth = call->as_CallJava()->method();
793 const char* name = call->as_CallStaticJava()->_name;
796 add_java_object(call, PointsToNode::NoEscape);
806 add_java_object(call, PointsToNode::NoEscape);
810 const TypeTuple* d = call->tf()->domain();
820 add_local_var(call, PointsToNode::ArgEscape);
823 map_ideal_node(call, phantom_obj);
828 // An other type of call, assume the worst case:
830 assert(call->Opcode() == Op_CallDynamicJava, "add failed case check");
831 map_ideal_node(call, phantom_obj);
835 void ConnectionGraph::process_call_arguments(CallNode *call) {
837 switch (call->Opcode()) {
847 is_arraycopy = (call->as_CallLeaf()->_name != NULL &&
848 strstr(call->as_CallLeaf()->_name, "arraycopy") != 0);
853 const TypeTuple * d = call->tf()->domain();
857 Node *arg = call->in(i);
896 (call->as_CallLeaf()->_name != NULL &&
897 (strcmp(call->as_CallLeaf()->_name, "g1_wb_pre") == 0 ||
898 strcmp(call->as_CallLeaf()->_name, "g1_wb_post") == 0 ||
899 strcmp(call->as_CallLeaf()->_name, "aescrypt_encryptBlock") == 0 ||
900 strcmp(call->as_CallLeaf()->_name, "aescrypt_decryptBlock") == 0 ||
901 strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_encryptAESCrypt") == 0 ||
902 strcmp(call->as_CallLeaf()->_name, "cipherBlockChaining_decryptAESCrypt") == 0)
904 call->dump();
905 fatal(err_msg_res("EA unexpected CallLeaf %s", call->as_CallLeaf()->_name));
917 Node* src = call->in(TypeFunc::Parms);
929 add_arraycopy(call, PointsToNode::ArgEscape, src_ptn, arg_ptn);
937 // For a static call, we know exactly what method is being called.
938 // Use bytecode estimator to record the call's escape affects
940 const char* name = call->as_CallStaticJava()->_name;
943 ciMethod* meth = call->as_CallJava()->method();
947 PointsToNode* call_ptn = ptnode_adr(call->_idx);
948 const TypeTuple* d = call->tf()->domain();
952 Node* arg = call->in(i);
956 // The call returns arguments.
957 if (call_ptn != NULL) { // Is call's result used?
978 // The call returns arguments.
990 // or some other type of call, assume the worst case: all arguments
992 const TypeTuple* d = call->tf()->domain();
996 Node* arg = call->in(i);
1386 // Non-escaped allocation returned from Java or runtime call have
1454 // dead branch of bimorphic call which is not eliminated yet.
1948 assert(!_collecting, "should not call when contructed graph");
2001 assert(!_collecting, "should not call during graph construction");
2125 // case #5. Raw object's field reference for arraycopy stub call:
2255 // for the instance type. Note: C++ will not remove it since the call
2534 // skip over a call which does not affect this memory slice
2540 CallNode *call = proj_in->as_Call();
2541 if (!call->may_modify(toop, igvn)) {
2542 result = call->in(TypeFunc::Memory);
2581 // Otherwise skip it (the call updated 'result' value).
2722 // copy escape information to call node
2725 // We have an allocation or call which returns a Java object,
2729 // Find CheckCastPP for the allocate or for the return value of a call
2777 // - a direct allocation (not a call returning an object)
3038 // during find_inst_mem() call when memory nodes were processed above.