erlang/otp — pull request #362 by nox (2014-05-10 11:08:22+00:00)
Title: Implement ets:update_counter/4.

The story of the forbidden love between ets:update_counter/3 and dict:update/4. This new function is an extension as the former and introduces a default value as in the latter. If the key isn't found in the table, the default value is inserted and no element are incremented.

That new BIF fails for the same reasons as ets:update_counter/3 and if:
* the default value isn't a tuple;
* the default value's arity isn't the same as the preexisting value for that key;
* one of the default value's elements mentioned in the operation list isn't an integer;
* the key element in the default value differs from the given key argument.

I have access to neither SPARC nor PPC, so I couldn't test that part of my HiPE changes.