diff options
author | Björn-Egil Dahlberg <[email protected]> | 2016-07-26 10:19:31 +0200 |
---|---|---|
committer | Björn-Egil Dahlberg <[email protected]> | 2016-08-01 10:58:59 +0200 |
commit | a2359927ca4e7c315e9849deec3375b1f2ae4170 (patch) | |
tree | 02858a93132a7da7acbd1487877259f63955445c /erts/emulator/beam/erl_gc.c | |
parent | 8d4560198239256587ccc55895eb8fe2b214e971 (diff) | |
download | otp-a2359927ca4e7c315e9849deec3375b1f2ae4170.tar.gz otp-a2359927ca4e7c315e9849deec3375b1f2ae4170.tar.bz2 otp-a2359927ca4e7c315e9849deec3375b1f2ae4170.zip |
erts: Remove the need for copying of literals
* Literals are not copied between processes for messages or spawn
Increases performance of message sent and processes spawned when
literals are involved in messages or arguments.
Diffstat (limited to 'erts/emulator/beam/erl_gc.c')
-rw-r--r-- | erts/emulator/beam/erl_gc.c | 8 |
1 files changed, 0 insertions, 8 deletions
diff --git a/erts/emulator/beam/erl_gc.c b/erts/emulator/beam/erl_gc.c index a224383493..22a7d430c8 100644 --- a/erts/emulator/beam/erl_gc.c +++ b/erts/emulator/beam/erl_gc.c @@ -2155,26 +2155,18 @@ copy_one_frag(Eterm** hpp, ErlOffHeap* off_heap, *hp++ = val; break; case TAG_PRIMARY_LIST: -#ifdef SHCOPY_SEND if (erts_is_literal(val,list_val(val))) { *hp++ = val; } else { *hp++ = offset_ptr(val, offs); } -#else - *hp++ = offset_ptr(val, offs); -#endif break; case TAG_PRIMARY_BOXED: -#ifdef SHCOPY_SEND if (erts_is_literal(val,boxed_val(val))) { *hp++ = val; } else { *hp++ = offset_ptr(val, offs); } -#else - *hp++ = offset_ptr(val, offs); -#endif break; case TAG_PRIMARY_HEADER: *hp++ = val; |