Change the catch handler address to 32 bits

Follow commit 7150c67539 .
This commit is contained in:
dearblue
2020-11-28 14:44:34 +09:00
parent 6d07d9b3d7
commit b0cea30f32
5 changed files with 14 additions and 11 deletions
+6 -3
View File
@@ -47,9 +47,9 @@ enum mrb_catch_type {
struct mrb_irep_catch_handler {
uint8_t type; /* enum mrb_catch_type */
uint8_t begin[2]; /* The starting address to match the hander. Includes this. */
uint8_t end[2]; /* The endpoint address that matches the hander. Not Includes this. */
uint8_t target[2]; /* The address to jump to if a match is made. */
uint8_t begin[4]; /* The starting address to match the hander. Includes this. */
uint8_t end[4]; /* The endpoint address that matches the hander. Not Includes this. */
uint8_t target[4]; /* The address to jump to if a match is made. */
};
/* Program data array struct */
@@ -139,6 +139,9 @@ mrb_irep_catch_handler_table(const struct mrb_irep *irep)
}
}
#define mrb_irep_catch_handler_pack(n, v) uint32_to_bin(n, v)
#define mrb_irep_catch_handler_unpack(v) bin_to_uint32(v)
MRB_END_DECL
#endif /* MRUBY_IREP_H */