diff options
author | Erlang/OTP <[email protected]> | 2010-05-12 04:04:59 +0000 |
---|---|---|
committer | Erlang/OTP <[email protected]> | 2010-05-12 04:04:59 +0000 |
commit | dd908223cbf62adfeaefac982c4087cd35bb1805 (patch) | |
tree | ce35140043845c72d0f1196f0a9a13dcef278286 /bootstrap/lib/kernel | |
parent | 3bcc56eb8f6034d73cbc6d1903785a278feae163 (diff) | |
parent | 84f65232d00de87042b11b07db4dad30cc7e1fa4 (diff) | |
download | otp-dd908223cbf62adfeaefac982c4087cd35bb1805.tar.gz otp-dd908223cbf62adfeaefac982c4087cd35bb1805.tar.bz2 otp-dd908223cbf62adfeaefac982c4087cd35bb1805.zip |
Merge branch 'bg/opt-receive' into dev
* bg/opt-receive:
Test that gen_server:call/2,3 are fast even with a huge message queue
erts: Add tests for the receive optimization
Update primary bootstrap
erts: Implement recv_mark/1 and recv_set/1 for real
compiler tests: Cover the error handling code in beam_receive
compiler test: Test optimization of receive statements
Optimize selective receives in the presence of a large message queue
Introduce the new recv_mark/1 and recv_mark/1 instructions
Compile tests that communicate with R12 nodes with the r12 option
Move p_run/2 to test_lib
gen: Inline wait_resp_mon/2 to help the compiler optimize
OTP-8623 bg/opt-receive
reveive statements that can only read out a newly created reference are now
specially optimized so that it will execute in constant time regardless of
the number of messages in the receive queue for the process. That
optimization will benefit calls to gen_server:call(). (See gen:do_call/4
for an example of a receive statement that will be optimized.)
Diffstat (limited to 'bootstrap/lib/kernel')
-rw-r--r-- | bootstrap/lib/kernel/ebin/code_server.beam | bin | 23784 -> 23788 bytes |
-rw-r--r-- | bootstrap/lib/kernel/ebin/global.beam | bin | 29500 -> 29508 bytes |
-rw-r--r-- | bootstrap/lib/kernel/ebin/inet_gethost_native.beam | bin | 9716 -> 9724 bytes |
-rw-r--r-- | bootstrap/lib/kernel/ebin/pg2.beam | bin | 6948 -> 6956 bytes |
4 files changed, 0 insertions, 0 deletions
diff --git a/bootstrap/lib/kernel/ebin/code_server.beam b/bootstrap/lib/kernel/ebin/code_server.beam Binary files differindex 894e6ca2ea..5bf9b13367 100644 --- a/bootstrap/lib/kernel/ebin/code_server.beam +++ b/bootstrap/lib/kernel/ebin/code_server.beam diff --git a/bootstrap/lib/kernel/ebin/global.beam b/bootstrap/lib/kernel/ebin/global.beam Binary files differindex b16334d8a2..4dc43450f0 100644 --- a/bootstrap/lib/kernel/ebin/global.beam +++ b/bootstrap/lib/kernel/ebin/global.beam diff --git a/bootstrap/lib/kernel/ebin/inet_gethost_native.beam b/bootstrap/lib/kernel/ebin/inet_gethost_native.beam Binary files differindex b46fd6ba87..e712d25405 100644 --- a/bootstrap/lib/kernel/ebin/inet_gethost_native.beam +++ b/bootstrap/lib/kernel/ebin/inet_gethost_native.beam diff --git a/bootstrap/lib/kernel/ebin/pg2.beam b/bootstrap/lib/kernel/ebin/pg2.beam Binary files differindex 38870b0f43..51912f2263 100644 --- a/bootstrap/lib/kernel/ebin/pg2.beam +++ b/bootstrap/lib/kernel/ebin/pg2.beam |