Rodrigo Mesquita pushed to branch wip/romes/step-out-8 at Glasgow Haskell Compiler / GHC

Commits:

1 changed file:

Changes:

  • rts/Interpreter.c
    ... ... @@ -1506,11 +1506,11 @@ run_BCO:
    1506 1506
     
    
    1507 1507
                    // stop the current thread if either `stop_next_breakpoint` is
    
    1508 1508
                    // true OR if the ignore count for this particular breakpoint is zero
    
    1509
    -               StgInt ignore_count = ((StgInt*)breakPoints->payload)[BCO_LIT(arg6_tick_index)];
    
    1509
    +               StgInt ignore_count = ((StgInt*)breakPoints->payload)[BCO_LIT(arg4_info_index)];
    
    1510 1510
                    if (stop_next_breakpoint == false && ignore_count > 0)
    
    1511 1511
                    {
    
    1512 1512
                       // decrement and write back ignore count
    
    1513
    -                  ((StgInt*)breakPoints->payload)[arg6_tick_index] = --ignore_count;
    
    1513
    +                  ((StgInt*)breakPoints->payload)[BCO_LIT(arg4_info_index)] = --ignore_count;
    
    1514 1514
                    }
    
    1515 1515
                    else if (stop_next_breakpoint == true || ignore_count == 0)
    
    1516 1516
                    {
    
    ... ... @@ -1544,10 +1544,7 @@ run_BCO:
    1544 1544
                       // Arrange the stack to call the breakpoint IO action, and
    
    1545 1545
                       // continue execution of this BCO when the IO action returns.
    
    1546 1546
                       //
    
    1547
    -                  // ioAction :: Addr#       -- the breakpoint tick module
    
    1548
    -                  //          -> Addr#       -- the breakpoint tick module unit id
    
    1549
    -                  //          -> Int#        -- the breakpoint tick index
    
    1550
    -                  //          -> Addr#       -- the breakpoint info module
    
    1547
    +                  // ioAction :: Addr#       -- the breakpoint info module
    
    1551 1548
                       //          -> Addr#       -- the breakpoint info module unit id
    
    1552 1549
                       //          -> Int#        -- the breakpoint info index
    
    1553 1550
                       //          -> Bool        -- exception?
    
    ... ... @@ -1557,23 +1554,17 @@ run_BCO:
    1557 1554
                       ioAction = (StgClosure *) deRefStablePtr (
    
    1558 1555
                           rts_breakpoint_io_action);
    
    1559 1556
     
    
    1560
    -                  Sp_subW(19);
    
    1561
    -                  SpW(18) = (W_)obj;
    
    1562
    -                  SpW(17) = (W_)&stg_apply_interp_info;
    
    1563
    -                  SpW(16) = (W_)new_aps;
    
    1564
    -                  SpW(15) = (W_)False_closure;         // True <=> an exception
    
    1565
    -                  SpW(14) = (W_)&stg_ap_ppv_info;
    
    1566
    -                  SpW(13)  = (W_)arg7_info_index;
    
    1567
    -                  SpW(12)  = (W_)&stg_ap_n_info;
    
    1568
    -                  SpW(11)  = (W_)BCO_LIT(arg5_info_mod_id);
    
    1569
    -                  SpW(10)  = (W_)&stg_ap_n_info;
    
    1570
    -                  SpW(9)  = (W_)BCO_LIT(arg3_info_mod);
    
    1571
    -                  SpW(8)  = (W_)&stg_ap_n_info;
    
    1572
    -                  SpW(7)  = (W_)arg6_tick_index;
    
    1557
    +                  Sp_subW(13);
    
    1558
    +                  SpW(12) = (W_)obj;
    
    1559
    +                  SpW(11) = (W_)&stg_apply_interp_info;
    
    1560
    +                  SpW(10) = (W_)new_aps;
    
    1561
    +                  SpW(9) = (W_)False_closure;         // True <=> an exception
    
    1562
    +                  SpW(8) = (W_)&stg_ap_ppv_info;
    
    1563
    +                  SpW(7)  = (W_)BCO_LIT(arg4_info_index);
    
    1573 1564
                       SpW(6)  = (W_)&stg_ap_n_info;
    
    1574
    -                  SpW(5)  = (W_)BCO_LIT(arg4_tick_mod_id);
    
    1565
    +                  SpW(5)  = (W_)BCO_LIT(arg3_info_mod_id);
    
    1575 1566
                       SpW(4)  = (W_)&stg_ap_n_info;
    
    1576
    -                  SpW(3)  = (W_)BCO_LIT(arg2_tick_mod);
    
    1567
    +                  SpW(3)  = (W_)BCO_LIT(arg2_info_mod_name);
    
    1577 1568
                       SpW(2)  = (W_)&stg_ap_n_info;
    
    1578 1569
                       SpW(1)  = (W_)ioAction;
    
    1579 1570
                       SpW(0)  = (W_)&stg_enter_info;