Unsafe.getFieldMap() is an essential method of the alternate substitutability test method, but its cost is very high compared to the fields comparison itself, sometimes taking 50% of the time needed to perform the substitutability test.
The main reason of this cost is that it is a call to the JVM runtime. But the method itself is very simple, fetching an offset in the InlineKlass instance, and using it to return the content of a reference field stored at this offset in the class mirror. It could easily be transformed into an intrinsic in both C1 and C2.