Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Commits on Jan 20, 2014
  1. @eriksoe
  2. @eriksoe

    Add EFun specialization for guard functions (EFun{arity}Guard).

    eriksoe authored
    This is to handle return value 'null' correctly; it has a different meaning for guards.
    Problems remain, though...
Commits on Jan 17, 2014
  1. @eriksoe
  2. @eriksoe
  3. @eriksoe
  4. @eriksoe
  5. @eriksoe
Commits on Dec 3, 2013
  1. @krestenkrab

    Make the erlang:'div'/2 BIF return more specific type

    krestenkrab authored
    This just improves type inference a tiny bit.
  2. @krestenkrab

    Handle file:read_file/1 for an empty file

    krestenkrab authored
    The file reading logic returned an error when
    reading an empty file.
    
    With this fix Erjang can run elixir+weber!
Commits on Dec 2, 2013
  1. @krestenkrab
Commits on Nov 29, 2013
  1. @krestenkrab
  2. @krestenkrab

    Make sure `binary` BIFs are preloaded

    krestenkrab authored
    This causes external calls to BIFs defined
    for `binary` to be invoked non-pausable, which
    has significant impact for tight-loop binary
    operations.
Commits on Nov 28, 2013
  1. @krestenkrab

    Updated kilim.jar

    krestenkrab authored
  2. @krestenkrab

    Special case binary matching BE sub-32-bit ints

    krestenkrab authored
    This is a common fast-path that now gets code
    generated as ESmall. This should give the 
    VM a fair change to spot the temp objects.
    
    It would be ideal to be able to code generate it
    as int, but then we need to have more control over
    the case when such a type is later merged after
    a branch.
  3. @krestenkrab

    Special case switch(n) for sets of integers

    krestenkrab authored
    Elixir has some codegen (for unicode) that creates
    huge switches of integers, which all branch to one
    or two different targets.  
    
    This code special cases such code (that would
    otherwise be lookupswitch) so that we use one or
    two bit sets to determine the outcome. This reduces
    generated code size significantly for this particular
    case.
  4. @krestenkrab
Commits on Nov 26, 2013
  1. @krestenkrab
  2. @krestenkrab

    Short-circuit tail calls

    krestenkrab authored
    If function A calls B in tail position, make all
    call sites in A GOTO the same call code sequence.
    (Tail calls are never under exception handling)
Commits on Nov 10, 2013
  1. @krestenkrab

    Fix the build

    krestenkrab authored
Commits on Nov 8, 2013
  1. @krestenkrab

    Misc cleanup

    krestenkrab authored
Commits on Oct 24, 2013
  1. @krestenkrab

    Complete the NIF API to 100%

    krestenkrab authored
    With this batch of changes, all the enif_XXX
    functions in the NIF API should be complete.
Commits on Oct 13, 2013
  1. @krestenkrab
  2. @krestenkrab
  3. @krestenkrab
  4. @krestenkrab
  5. @krestenkrab
Commits on Oct 11, 2013
  1. @krestenkrab
  2. @krestenkrab
  3. @krestenkrab
  4. @krestenkrab

    Fix NPE in nif_get_list_cell

    krestenkrab authored
    If the argument is the empty list, it should
    return FALSE, not crash :-)
  5. @krestenkrab
  6. @krestenkrab

    Fix wrong codegen for switch on integer set

    krestenkrab authored
    Codegen in guards caused call to EObject#unboxToInt 
    for objects that are not necessarily integers.
    In guard code, we should not fail, but this was
    causing a badarg error while evaluating guards.
  7. @krestenkrab

    Add system_info for process_limit and fullsweep_after

    krestenkrab authored
    Right now spawn does not honour the process_limit
    value.
Commits on Oct 10, 2013
  1. @krestenkrab
  2. @krestenkrab

    Accept read_concurrency as ets:new parameter

    krestenkrab authored
    The parameter is ignored, as we already have a
    read-optimised ets implementation.
Something went wrong with that request. Please try again.