@@ -1956,7 +1956,7 @@ vm_exec_handle_exception(rb_execution_context_t *ec, enum ruby_tag_type state,
1956
1956
else {
1957
1957
ct = cfp -> iseq -> body -> catch_table ;
1958
1958
if (ct ) for (i = 0 ; i < ct -> size ; i ++ ) {
1959
- entry = & ct -> entries [i ];
1959
+ entry = UNALIGNED_MEMBER_PTR ( ct , entries [i ]) ;
1960
1960
if (entry -> start < epc && entry -> end >= epc ) {
1961
1961
if (entry -> type == CATCH_TYPE_ENSURE ) {
1962
1962
catch_iseq = entry -> iseq ;
@@ -1992,7 +1992,7 @@ vm_exec_handle_exception(rb_execution_context_t *ec, enum ruby_tag_type state,
1992
1992
if (state == TAG_RAISE ) {
1993
1993
ct = cfp -> iseq -> body -> catch_table ;
1994
1994
if (ct ) for (i = 0 ; i < ct -> size ; i ++ ) {
1995
- entry = & ct -> entries [i ];
1995
+ entry = UNALIGNED_MEMBER_PTR ( ct , entries [i ]) ;
1996
1996
if (entry -> start < epc && entry -> end >= epc ) {
1997
1997
1998
1998
if (entry -> type == CATCH_TYPE_RESCUE ||
@@ -2008,7 +2008,7 @@ vm_exec_handle_exception(rb_execution_context_t *ec, enum ruby_tag_type state,
2008
2008
else if (state == TAG_RETRY ) {
2009
2009
ct = cfp -> iseq -> body -> catch_table ;
2010
2010
if (ct ) for (i = 0 ; i < ct -> size ; i ++ ) {
2011
- entry = & ct -> entries [i ];
2011
+ entry = UNALIGNED_MEMBER_PTR ( ct , entries [i ]) ;
2012
2012
if (entry -> start < epc && entry -> end >= epc ) {
2013
2013
2014
2014
if (entry -> type == CATCH_TYPE_ENSURE ) {
@@ -2035,7 +2035,7 @@ vm_exec_handle_exception(rb_execution_context_t *ec, enum ruby_tag_type state,
2035
2035
search_restart_point :
2036
2036
ct = cfp -> iseq -> body -> catch_table ;
2037
2037
if (ct ) for (i = 0 ; i < ct -> size ; i ++ ) {
2038
- entry = & ct -> entries [i ];
2038
+ entry = UNALIGNED_MEMBER_PTR ( ct , entries [i ]) ;
2039
2039
2040
2040
if (entry -> start < epc && entry -> end >= epc ) {
2041
2041
if (entry -> type == CATCH_TYPE_ENSURE ) {
@@ -2073,7 +2073,7 @@ vm_exec_handle_exception(rb_execution_context_t *ec, enum ruby_tag_type state,
2073
2073
else {
2074
2074
ct = cfp -> iseq -> body -> catch_table ;
2075
2075
if (ct ) for (i = 0 ; i < ct -> size ; i ++ ) {
2076
- entry = & ct -> entries [i ];
2076
+ entry = UNALIGNED_MEMBER_PTR ( ct , entries [i ]) ;
2077
2077
if (entry -> start < epc && entry -> end >= epc ) {
2078
2078
2079
2079
if (entry -> type == CATCH_TYPE_ENSURE ) {
0 commit comments