Age | Commit message (Collapse) | Author | |
---|---|---|---|
2014-01-29 | erts: Simplify some map iterator code | Sverker Eriksson | |
2014-01-29 | erts: Remove use of h_limit which is always zero. | Sverker Eriksson | |
2014-01-29 | erts: Let enif_map_iterator_next/prev return 0 to signal end of map. | Sverker Eriksson | |
2014-01-29 | erts: Do not allow map iterator created without map | Sverker Eriksson | |
2014-01-29 | erts: Increase version for NIF API and reject experimental v2.5 | Sverker Eriksson | |
2014-01-29 | erts: Remove enif_find_map_value | Sverker Eriksson | |
as it does the same thing as enif_get_map_value. Replace with placeholder to be ABI backward compatible on Windows as long as enif_find_map_value is not called. | |||
2014-01-29 | Update map_SUITE to test "unsorted" encoded maps | Björn-Egil Dahlberg | |
2014-01-29 | erts: Let erlang:binary_to_term/1 handle unsorted Maps | Björn-Egil Dahlberg | |
Maps may be encoded with keys in arbitrary order. This is fine, as long as keys are unique. | |||
2014-01-29 | Update map_SUITE to respect term order | Björn-Egil Dahlberg | |
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 | |