Added a FunctionCompilerContext to easily transfer all required variables to opcodes codegen functions.