You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Reorder module exceptions and notices for string-to-class conversion + dynamically referenced
Summary:
Class::resolve throws a module exception before returning the Class* used for the __DR check, but I misordered this in the JIT. String-to-class notice was raised before the module exception, since it doesn't actually need the Class* .
This made it so class-ptr tests had a divergence between interp and jit mode when running w/ EnforceModules=2, DynamicallyReferenced...=1.
Reorder the ClassGetC / FCallClsMethodM checks when cls input is string:
- Class::resolve
- Class::load -> Class*
- module check (exn when EnforceModules=2)
- DITCH checks:
- Normal: raise str-to-class
- ExplicitConversion: check __DR
As a result, we no longer raise the str-to-class notice when the class doesn't exist
Reviewed By: jtwarren
Differential Revision: D71159208
fbshipit-source-id: ab135a99371745cca0d3ab8be42db0fb8381e919
0 commit comments