[core] gc engine: use pointer as paramater instead of several values from pointer