auto metadataAddress = computeBaseAddressForMetadata<4>(bytecode, metadataGPR);
auto resolveTypeAddress = metadataAddress.withOffset(Metadata::offsetOfResolveType());
auto globalLexicalBindingEpochAddress = metadataAddress.withOffset(Metadata::offsetOfGlobalLexicalBindingEpoch());
// FIXME: This code is weird when caching fails because it goes to a slow path that will check the exact same condition before falling into the C++ slow path.
// It's unclear if that makes a meaningful difference for perf but we should consider doing something smarter.
// FIXME: Why do we generate the cases for the thunks we already emitted in the fast path. It seems like those should just go straight to the generic slow path thunk.
if (profiledResolveType == ClosureVarWithVarInjectionChecks)