Lines Matching defs:region

123   void  set_result(RegionNode* region, PhiNode* value);
129 Node* generate_guard(Node* test, RegionNode* region, float true_prob);
130 Node* generate_slow_guard(Node* test, RegionNode* region);
131 Node* generate_fair_guard(Node* test, RegionNode* region);
132 Node* generate_negative_guard(Node* index, RegionNode* region,
140 RegionNode* region);
146 RegionNode* region, int null_path,
149 RegionNode* region, int null_path) {
152 region, null_path,
156 RegionNode* region, int null_path) {
159 region, null_path,
164 RegionNode* region);
165 Node* generate_interface_guard(Node* kls, RegionNode* region);
166 Node* generate_array_guard(Node* kls, RegionNode* region) {
167 return generate_array_guard_common(kls, region, false, false);
169 Node* generate_non_array_guard(Node* kls, RegionNode* region) {
170 return generate_array_guard_common(kls, region, false, true);
172 Node* generate_objArray_guard(Node* kls, RegionNode* region) {
173 return generate_array_guard_common(kls, region, true, false);
175 Node* generate_non_objArray_guard(Node* kls, RegionNode* region) {
176 return generate_array_guard_common(kls, region, true, true);
178 Node* generate_array_guard_common(Node* kls, RegionNode* region,
840 void LibraryCallKit::set_result(RegionNode* region, PhiNode* value) {
841 record_for_igvn(region);
842 set_control(_gvn.transform(region));
855 // Also, if region and the slow control are not NULL, the slow edge
856 // is appended to the region.
857 Node* LibraryCallKit::generate_guard(Node* test, RegionNode* region, float true_prob) {
878 if (region != NULL)
879 region->add_req(if_slow);
887 inline Node* LibraryCallKit::generate_slow_guard(Node* test, RegionNode* region) {
888 return generate_guard(test, region, PROB_UNLIKELY_MAG(3));
890 inline Node* LibraryCallKit::generate_fair_guard(Node* test, RegionNode* region) {
891 return generate_guard(test, region, PROB_FAIR);
894 inline Node* LibraryCallKit::generate_negative_guard(Node* index, RegionNode* region,
902 Node* is_neg = generate_guard(bol_lt, region, PROB_MIN);
948 RegionNode* region) {
959 Node* is_over = generate_guard(bol_lt, region, PROB_MIN);
1081 RegionNode* region = new (C) RegionNode(5);
1082 Node* phi = new (C) PhiNode(region, TypeInt::BOOL);
1092 region->init_req(2, if_eq);
1108 region->init_req(3, inst_false);
1144 region->init_req(4, if_ne);
1152 region->init_req(1, control());
1157 set_control(_gvn.transform(region));
1158 record_for_igvn(region);
1682 // There are four possible paths to region node and phi node
1695 // Fast path taken; set region slot 3
3063 // and branch to the given path on the region.
3066 // If the region is NULL, force never_see_null = true.
3069 RegionNode* region,
3072 if (region == NULL) never_see_null = true;
3078 if (region != NULL) {
3079 // Set region->in(null_path) if the mirror is a primitive (e.g, int.class).
3080 region->init_req(null_path, null_ctl);
3090 Node* LibraryCallKit::generate_access_flags_guard(Node* kls, int modifier_mask, int modifier_bits, RegionNode* region) {
3092 // Like generate_guard, adds a new path onto the region.
3100 return generate_fair_guard(bol, region);
3102 Node* LibraryCallKit::generate_interface_guard(Node* kls, RegionNode* region) {
3103 return generate_access_flags_guard(kls, JVM_ACC_INTERFACE, 0, region);
3172 RegionNode* region = new (C) RegionNode(PATH_LIMIT);
3173 record_for_igvn(region);
3174 PhiNode* phi = new (C) PhiNode(region, return_type);
3190 // Side-effects region with the control path if the klass is null.
3191 Node* kls = load_klass_from_mirror(mirror, never_see_null, region, _prim_path);
3194 if (stopped()) { set_result(region, phi); return true; }
3215 if (generate_interface_guard(kls, region) != NULL)
3224 if (generate_array_guard(kls, region) != NULL)
3242 if (generate_interface_guard(kls, region) != NULL)
3245 if (generate_array_guard(kls, region) != NULL)
3255 region->add_req(null_ctl);
3264 if (generate_array_guard(kls, region) != NULL) {
3266 Node* is_array_ctrl = region->in(region->req()-1);
3286 region->init_req(1, control());
3289 set_result(region, phi);
3315 RegionNode* region = new (C) RegionNode(PATH_LIMIT);
3316 Node* phi = new (C) PhiNode(region, TypeInt::BOOL);
3317 record_for_igvn(region);
3343 region->init_req(prim_path, null_ctl);
3352 region->set_req(_both_ref_path, gen_subtype_check(subk, superk));
3354 region->set_req(_ref_subtype_path, control());
3360 set_control(region->in(_prim_0_path)); // go back to first null check
3365 generate_guard(bol_eq, region, PROB_FAIR);
3366 if (region->req() == PATH_LIMIT+1) {
3368 region->swap_edges(PATH_LIMIT, _prim_same_path);
3369 region->del_req(PATH_LIMIT);
3371 region->set_req(_prim_0_path, control()); // Not equal after all.
3379 assert(region->req() == PATH_LIMIT, "sane region");
3380 for (uint i = 1; i < region->req(); i++) {
3381 Node* ctl = region->in(i);
3383 region->set_req(i, top());
3390 set_control(_gvn.transform(region));
3396 Node* LibraryCallKit::generate_array_guard_common(Node* kls, RegionNode* region,
3407 // Like generate_guard, adds a new path onto the region.
3418 if (region != NULL)
3419 region->add_req(always_branch);
3434 return generate_fair_guard(bol, region);
5611 RegionNode* region = new(C) RegionNode(3);
5612 region->init_req(1, instof_false);
5618 region->init_req(2, src_dest_conjoint);
5620 record_for_igvn(region);
5621 return _gvn.transform(region);