New S390 prologue analyzer.
authorJim Blandy <jimb@codesourcery.com>
Wed, 2 Jul 2003 19:05:56 +0000 (19:05 +0000)
committerJim Blandy <jimb@codesourcery.com>
Wed, 2 Jul 2003 19:05:56 +0000 (19:05 +0000)
commit4bc8c58814033f909eb73c7c9f4886236440a545
treefa014ab0bf3fff6c603da3d17c532529d59a6408
parentf0861129d52b00fe57beb4fb0efca668faa3939a
New S390 prologue analyzer.
* s390-tdep.c (struct prologue_value, enum pv_boolean): New types.
(pv_set_to_unknown, pv_set_to_constant, pv_set_to_register,
pv_constant_last, pv_add, pv_add_constant, pv_subtract,
pv_logical_and, pv_is_identical, pv_is_register, pv_is_array_ref,
compute_x_addr, s390_on_stack, s390_store,
s390_get_signal_frame_info): New functions.
(S390_NUM_SPILL_SLOTS): New macro.
(s390_get_frame_info): Rewritten.
(is_arg_reg): Deleted.

Break out the decoding of S/390 instructions into separate
functions, to make it more legible, and easier to check
against the spec.
* s390-tdep.c (is_ri, is_ril, is_rr, is_rre, is_rs, is_rse,
is_rx, is_rxe): New functions.
(op1_aghi, op2_aghi, op1_ahi, op2_ahi, op_ar, op_basr, op1_bras,
op2_bras, op_l, op_la, op1_larl, op2_larl, op_lgr, op1_lghi,
op2_lghi, op1_lhi, op2_lhi, op_lr, op_nr, op_ngr, op_s, op_st,
op_std, op1_stg, op2_stg, op_stm, op1_stmg, op2_stmg, op_svc): New
enums for opcode values.  (Is this an improvement?)
gdb/ChangeLog
gdb/s390-tdep.c