static A vm_generalMap_getOrCreate(O key, F0 create) {
ret vm_generalMap_getOrCreate(key, f0ToIF0(create));
}
static A vm_generalMap_getOrCreate(O key, IF0 create) {
Map generalMap = vm_generalMap();
if (generalMap == null) null; // must be x30 init
synchronized(generalMap) { // should switch to locks here
A a = cast vm_generalMap_get(key);
if (a == null)
vm_generalMap_put(key, a = create?!);
ret a;
}
}