manual inlining for decodeMap fast path