call vm::dynamicCall directly, instead of through System