hotspot/src/share/vm/opto/library_call.cpp
changeset 40010 e32d5e545789
parent 39718 d2e74700faf9
child 40093 f94d179a730b
equal deleted inserted replaced
40009:626aa0715fe4 40010:e32d5e545789
  3302   result_val->init_req(no_int_result_path, intcon(0));
  3302   result_val->init_req(no_int_result_path, intcon(0));
  3303 
  3303 
  3304   // drop through to next case
  3304   // drop through to next case
  3305   set_control( _gvn.transform(new IfTrueNode(iff_bit)));
  3305   set_control( _gvn.transform(new IfTrueNode(iff_bit)));
  3306 
  3306 
  3307 #ifndef TARGET_OS_FAMILY_windows
  3307 #ifndef _WINDOWS
  3308   // (c) Or, if interrupt bit is set and clear_int is false, use 2nd fast path.
  3308   // (c) Or, if interrupt bit is set and clear_int is false, use 2nd fast path.
  3309   Node* clr_arg = argument(1);
  3309   Node* clr_arg = argument(1);
  3310   Node* cmp_arg = _gvn.transform(new CmpINode(clr_arg, intcon(0)));
  3310   Node* cmp_arg = _gvn.transform(new CmpINode(clr_arg, intcon(0)));
  3311   Node* bol_arg = _gvn.transform(new BoolNode(cmp_arg, BoolTest::ne));
  3311   Node* bol_arg = _gvn.transform(new BoolNode(cmp_arg, BoolTest::ne));
  3312   IfNode* iff_arg = create_and_map_if(control(), bol_arg, PROB_FAIR, COUNT_UNKNOWN);
  3312   IfNode* iff_arg = create_and_map_if(control(), bol_arg, PROB_FAIR, COUNT_UNKNOWN);
  3319   // drop through to next case
  3319   // drop through to next case
  3320   set_control( _gvn.transform(new IfTrueNode(iff_arg)));
  3320   set_control( _gvn.transform(new IfTrueNode(iff_arg)));
  3321 #else
  3321 #else
  3322   // To return true on Windows you must read the _interrupted field
  3322   // To return true on Windows you must read the _interrupted field
  3323   // and check the event state i.e. take the slow path.
  3323   // and check the event state i.e. take the slow path.
  3324 #endif // TARGET_OS_FAMILY_windows
  3324 #endif // _WINDOWS
  3325 
  3325 
  3326   // (d) Otherwise, go to the slow path.
  3326   // (d) Otherwise, go to the slow path.
  3327   slow_region->add_req(control());
  3327   slow_region->add_req(control());
  3328   set_control( _gvn.transform(slow_region));
  3328   set_control( _gvn.transform(slow_region));
  3329 
  3329