pass caller to natives as this
at last, we can raise exceptions from within natives
implement arraycopy