#1439: pbc_dump: Mark branch targets in -d mode
-----------------------------+----------------------------------------------
 Reporter:  Austin_Hastings  |       Owner:       
     Type:  todo             |      Status:  new  
 Priority:  normal           |   Milestone:       
Component:  none             |     Version:  2.0.0
 Severity:  medium           |    Keywords:       
     Lang:                   |       Patch:       
 Platform:                   |  
-----------------------------+----------------------------------------------
 pbc_dump -d shows opcodes but does not indicate branch targets:
 {{{
  012b:  0000001b 00000001 00000046                            unless_p_ic
  012e:  00000348 00000002 00000001                            shift_p_p
  0131:  00000023 00000004                                     set_args_pc
  0134:  00000024 00000004
 get_results_pc
  0137:  000002c4 00000002 00000044
 callmethodcc_p_sc
  013a:  00000367 00000009 00000007                            iter_p_p
  013d:  0000001b 00000009 ffffffee                            unless_p_ic
  0140:  00000347 00000001 00000009                            shift_s_p
  0143:  000003d1 00000003 00000007 00000049                   set_p_p_kc
  0147:  000002d5 00000000 00000003 00000043                   isa_i_p_sc
  014b:  00000014 00000000 fffffff2                            if_i_ic
 }}}

 While backwards branching means that marking branch targets in the output
 stream as labels would be a two pass operation, it should be possible to
 do the match and indicate the target offset as part of the opcode:

 {{{
  012b:  0000001b 00000001 00000046                            unless_p_ic
 0171
  ...
  013d:  0000001b 00000009 ffffffee                            unless_p_ic
 012b
  ...
  014b:  00000014 00000000 fffffff2                            if_i_ic 013d
 }}}

 Note: I make no guarantee those offsets are right.

-- 
Ticket URL: <https://trac.parrot.org/parrot/ticket/1439>
Parrot <https://trac.parrot.org/parrot/>
Parrot Development
_______________________________________________
parrot-tickets mailing list
[email protected]
http://lists.parrot.org/mailman/listinfo/parrot-tickets

Reply via email to