That is unknown, or at least undocumented, and the answer can depend upon the MATLAB version. It depends in part on how effective Just In Time (JIT) has been for scripts, taking into consideration that for scripts it was historically considered valid to invoke something that creates new variables or redefines variables to have very different meanings. More recent versions of MATLAB (R2015a I think it was) have made explicit that if a variable with the same name as a function is "poofed" into existence that the function will still be referred to. This implies some amount of parsing and buffering that was not present before, but gives no information about when the file might be checked.
There are some hints that MATLAB might potentially read from the file after executing each line. There are other hints that MATLAB might potentially read from the file after executing all of the top level commands started on a line. But those "potentially" are not guarantees.
Historically, if a .m script was updated while it was running, then because the line boundaries might not line up, MATLAB could end up reading into what is now the middle of a line when it thinks it is about to read from the beginning of a line.
Changing the very .m script that is running is not guaranteed to be stable.
The answer is different for functions, and the answer is different if the question is about writing a .m that is not currently in execution and one wants to be sure that the new version is used.