File tree Expand file tree Collapse file tree 2 files changed +11
-5
lines changed
Expand file tree Collapse file tree 2 files changed +11
-5
lines changed Original file line number Diff line number Diff line change @@ -142,10 +142,10 @@ static inline VALUE
142142VM_CF_BLOCK_HANDLER (const rb_control_frame_t * const cfp )
143143{
144144 const VALUE * ep ;
145- if (VM_FRAME_TYPE (cfp ) == VM_FRAME_MAGIC_TOP ) {
145+ if (VM_ENV_NAMESPACED_P (cfp -> ep ) ) {
146146 VM_ASSERT (VM_ENV_LOCAL_P (cfp -> ep ));
147- /* Never set black_handler for VM_FRAME_MAGIC_TOP
148- * and the specval is used for namespace (rb_namespace_t) in the case
147+ /* Never set black_handler for VM_FRAME_MAGIC_TOP or VM_FRAME_MAGIC_CLASS
148+ * and the specval is used for namespace (rb_namespace_t) in these case
149149 */
150150 return VM_BLOCK_HANDLER_NONE ;
151151 }
Original file line number Diff line number Diff line change @@ -1559,10 +1559,16 @@ VM_ENV_PREV_EP(const VALUE *ep)
15591559 return VM_ENV_PREV_EP_UNCHECKED (ep );
15601560}
15611561
1562+ static inline bool
1563+ VM_ENV_NAMESPACED_P (const VALUE * ep )
1564+ {
1565+ return VM_ENV_FRAME_TYPE_P (ep , VM_FRAME_MAGIC_CLASS ) || VM_ENV_FRAME_TYPE_P (ep , VM_FRAME_MAGIC_TOP );
1566+ }
1567+
15621568static inline VALUE
15631569VM_ENV_BLOCK_HANDLER (const VALUE * ep )
15641570{
1565- if (VM_ENV_FRAME_TYPE_P (ep , VM_FRAME_MAGIC_CLASS ) || VM_ENV_FRAME_TYPE_P ( ep , VM_FRAME_MAGIC_TOP )) {
1571+ if (VM_ENV_NAMESPACED_P (ep )) {
15661572 VM_ASSERT (VM_ENV_LOCAL_P (ep ));
15671573 return VM_BLOCK_HANDLER_NONE ;
15681574 }
@@ -1574,7 +1580,7 @@ VM_ENV_BLOCK_HANDLER(const VALUE *ep)
15741580static inline const rb_namespace_t *
15751581VM_ENV_NAMESPACE (const VALUE * ep )
15761582{
1577- VM_ASSERT (VM_ENV_FRAME_TYPE_P (ep , VM_FRAME_MAGIC_CLASS ) || VM_ENV_FRAME_TYPE_P ( ep , VM_FRAME_MAGIC_TOP ));
1583+ VM_ASSERT (VM_ENV_NAMESPACED_P (ep ));
15781584 VM_ASSERT (VM_ENV_LOCAL_P (ep ));
15791585 return (const rb_namespace_t * )GC_GUARDED_PTR_REF (ep [VM_ENV_DATA_INDEX_SPECVAL ]);
15801586}
You can’t perform that action at this time.
0 commit comments