diff options
author | Patrik Nyblom <[email protected]> | 2010-02-09 17:21:28 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2010-03-10 14:25:21 +0100 |
commit | c591f7b2a78b44ab321d0b99c100b349c8606c15 (patch) | |
tree | 492533e735efed799bb8ddd427594835bd41e142 /erts/emulator/beam/beam_emu.c | |
parent | 64415f09de0691c2ccdf65df169a211b7917728b (diff) | |
download | otp-c591f7b2a78b44ab321d0b99c100b349c8606c15.tar.gz otp-c591f7b2a78b44ab321d0b99c100b349c8606c15.tar.bz2 otp-c591f7b2a78b44ab321d0b99c100b349c8606c15.zip |
Make tracing and distribution work
Rewrite trace code and external coding. Also slightly correct
the interface to the match-spec engine to make tracing work.
That will make the test suites runnable.
Diffstat (limited to 'erts/emulator/beam/beam_emu.c')
-rw-r--r-- | erts/emulator/beam/beam_emu.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c index 8113e78583..1078478ed9 100644 --- a/erts/emulator/beam/beam_emu.c +++ b/erts/emulator/beam/beam_emu.c @@ -2621,6 +2621,7 @@ void process_main(void) SWAPOUT; reg[0] = r(0); + next = call_fun(c_p, Arg(0), reg, THE_NON_VALUE); SWAPIN; if (next != NULL) { @@ -6049,8 +6050,12 @@ call_fun(Process* p, /* Current process. */ } } } else if (is_export_header(hdr)) { - Export* ep = *((Export **) (export_val(fun) + 1)); - int actual_arity = (int) ep->code[2]; + Export *ep; + int actual_arity; + + ep = *((Export **) (export_val(fun) + 1)); + actual_arity = (int) ep->code[2]; + if (arity == actual_arity) { return ep->address; } else { |