Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-01-29 | compiler: Fix term order compiler for maps | Björn-Egil Dahlberg | |
2014-01-29 | erts: Optimize erts_map_update/remove | Sverker Eriksson | |
to not continue comparing keys once it has been found. | |||
2014-01-29 | erts: Fix bug in erts_maps_remove | Sverker Eriksson | |
HRelease was called with wrong arguments and left garbage on heap when key was not found. | |||
2014-01-29 | erts: Update maps serializing to use term order | Björn-Egil Dahlberg | |
* erlang:term_to_binary/1 * erlang:binary_to_term/1 | |||
2014-01-29 | erts: Update maps instructions to use term order | Björn-Egil Dahlberg | |
Maps internally uses term order to store keys in an ordered fashion. | |||
2014-01-29 | erts: Update maps BIFs to use term order | Björn-Egil Dahlberg | |
Maps internally uses term order to store keys in an ordered fashion. | |||
2014-01-29 | erts: Add BIF erts_internal:cmp_term/2 | Björn-Egil Dahlberg | |
Compares terms where integer() < float(). | |||
2014-01-29 | erts: Add cmp_term to compare | Björn-Egil Dahlberg | |
Uses total order of types meaning int < float | |||
2014-01-29 | erts: NIFs Map API fixup | Björn-Egil Dahlberg | |
2014-01-29 | erts: Test Maps with NIFs | Björn-Egil Dahlberg | |
2014-01-29 | erts: Add NIFs for Maps | Björn-Egil Dahlberg | |
- int enif_is_map(ErlNifEnv* env, ERL_NIF_TERM map) - int enif_get_map_size(ErlNifEnv *env, ERL_NIF_TERM, int*) - ERL_NIF_TERM enif_make_new_map(ErlNifEnv *env) - int enif_make_map_put(ErlNifEnv *env, ERL_NIF_TERM map_in, ERL_NIF_TERM key, ERL_NIF_TERM value, ERL_NIF_TERM* map_out) - int enif_get_map_value(ErlNifEnv *env, ERL_NIF_TERM map, ERL_NIF_TERM key, ERL_NIF_TERM* value) - int enif_find_map_value(ErlNifEnv *env, ERL_NIF_TERM map, ERL_NIF_TERM key, ERL_NIF_TERM* value) - int enif_make_map_update(ErlNifEnv *env, ERL_NIF_TERM map_in, ERL_NIF_TERM key, ERL_NIF_TERM value, ERL_NIF_TERM* map_out) - int enif_make_map_remove(ErlNifEnv *env, ERL_NIF_TERM map_in, ERL_NIF_TERM key, ERL_NIF_TERM* map_out) - int enif_map_iterator_create(ErlNifEnv *env, ERL_NIF_TERM map, ErlNifMapIterator *iter) - void enif_map_iterator_destroy(ErlNifEnv *env, ErlNifMapIterator *iter) - int enif_map_iterator_next(ErlNifEnv *env, ErlNifMapIterator *iter) - int enif_map_iterator_get_pair(ErlNifEnv *env, ErlNifMapIterator *iter, ERL_NIF_TERM *key, ERL_NIF_TERM *value) | |||
2014-01-28 | stdlib: Strengthen Map module with guards | Björn-Egil Dahlberg | |
This commit requires Map enabled bootstrap compiler. | |||
2014-01-28 | stdlib: Pretty print maps | Björn-Egil Dahlberg | |
Pretty printing behaviour mimic records. This commit requires Map enabled bootstrap compiler. | |||
2014-01-28 | Update preloaded erlang.beam | Björn-Egil Dahlberg | |
2014-01-28 | preloaded: Remove bogus map type | Björn-Egil Dahlberg | |
2014-01-28 | Update primary bootstrap | Björn-Egil Dahlberg | |
2014-01-28 | stdlib: Remove bogus map() type | Björn-Egil Dahlberg | |
2014-01-28 | erts: Add tests for Map update on expressions | Björn-Egil Dahlberg | |
(foo())#{ k1 := V1, k2 => V2 } | |||
2014-01-28 | erts: Add tests for non BIFs in Maps module | Björn-Egil Dahlberg | |
* maps:without/2 * maps:foldl/3 * maps:foldr/3 * maps:map/2 * maps:size/1 | |||
2014-01-28 | erts,stdlib: Change map module name to maps | Björn-Egil Dahlberg | |
Name conforms to EEP. | |||
2014-01-28 | erts: Fix map_SUITE match spec tests | Björn-Egil Dahlberg | |
2014-01-28 | Add tests for pditc, ets and tracing | Lukas Larsson | |
2014-01-28 | erts,stdlib: Teach matchspec compiler map guards | Björn-Egil Dahlberg | |
2014-01-28 | stdlib: Fixup id_transform_SUITE | Björn-Egil Dahlberg | |
2014-01-28 | typer: Rename map() type to map_dict() | Björn-Egil Dahlberg | |
The name conflicted with builtin type map(). | |||
2014-01-28 | edoc: Add test for Maps in EDoc | Björn-Egil Dahlberg | |
2014-01-28 | edoc,syntax_tools: Teach Map understanding | Björn-Egil Dahlberg | |
2014-01-28 | dialyzer,hipe,stdlib: Add Maps understanding to Dialyzer | Björn-Egil Dahlberg | |
2014-01-28 | erts: Specs for Map BIFs | Björn-Egil Dahlberg | |
2014-01-28 | stdlib: Add Map module | Björn-Egil Dahlberg | |
The map type is set to term. | |||
2014-01-28 | erts: Remove erlang:size/1 test from map_SUITE | Björn-Egil Dahlberg | |
2014-01-28 | stdlib: Update erl_scan_SUITE for ':=' and '=>' tokens | Björn-Egil Dahlberg | |
2014-01-28 | stdlib: Deny variables as keys and disallow ':=' in map construction | Björn-Egil Dahlberg | |
In the current iteration of Maps we should deny *any* variables in Map keys. | |||
2014-01-28 | stdlib: Teach erl_eval Maps ':=' exact operator | Björn-Egil Dahlberg | |
2014-01-28 | erts: Update Maps erlang:phash2/1 tests | Björn-Egil Dahlberg | |
2014-01-28 | erts: erlang:phash2 should hash Maps independent of order | Björn-Egil Dahlberg | |
2014-01-28 | erts: Add Map tests for erlang:phash/2 | Björn-Egil Dahlberg | |
2014-01-28 | erts: Add Maps to erlang:phash/2 and erlang:hash/2 | Björn-Egil Dahlberg | |
The hashing a map in these functions uses the same strategy as the other terms. The exception being a prime number with size so we do not get erlang:phash(#{}) -> 1 which would be the same as erlang:phash({}) and erlang:phash(<<>>). Same argument for erlang:hash/1. | |||
2014-01-28 | erts: Add Map tests for hashing and external format | Björn-Egil Dahlberg | |
- Update map_SUITE with hash and encode tests - Update map_SUITE with external format decode tests - Update map_SUITE with map:to_list/1 and map:from_list/1 tests | |||
2014-01-28 | erts: Teach term_to_binary/1 and binary_to_term/1 Map encoding | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Rename map pattern to proper name | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Add Maps types to cerl | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Format stacktrace on error | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Teach Maps to beam_disasm | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Fix v3_core for map update syntax | Björn-Egil Dahlberg | |
Make map update expressions safe, i.e. (foo())#{ k1 := 1 } | |||
2014-01-28 | compiler: Fix get_map_element bug with allocate | Björn-Egil Dahlberg | |
The instruction get_map_element has a faillabel so you may not use the instruction within a allocate/deallocate block. | |||
2014-01-28 | compiler: Test Maps inlining | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Teach Maps understanding to inliner | Björn-Egil Dahlberg | |
2014-01-28 | erts: Fixup map instructions for halfword | Björn-Egil Dahlberg | |
2014-01-28 | compiler: Implement different instructions for => and := | Björn Gustavsson | |