equal
deleted
inserted
replaced
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 |