Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2015-03-25 | addToStore(): Take explicit name argument | Eelco Dolstra | 1 | -1/+1 | |
2015-03-19 | Disable scanning for interior pointers | Eelco Dolstra | 1 | -0/+2 | |
This may remove the "Repeated allocation of very large block" warnings. | |||||
2015-03-19 | Fix Boehm API violation | Eelco Dolstra | 1 | -38/+42 | |
We were calling GC_INIT() after doing an allocation (in the baseEnv construction), which is not allowed. | |||||
2015-03-19 | Check return values from malloc/strdup | Eelco Dolstra | 1 | -11/+34 | |
2015-03-18 | Print some Boehm GC stats | Eelco Dolstra | 1 | -0/+7 | |
2015-03-18 | valueSize(): Take into account list/bindings/env size | Eelco Dolstra | 1 | -6/+15 | |
2015-03-06 | forceValueDeep: Add to error prefix | Eelco Dolstra | 1 | -2/+7 | |
2015-03-06 | Improve error message | Eelco Dolstra | 1 | -11/+20 | |
2015-02-23 | Add restricted evaluation mode | Eelco Dolstra | 1 | -3/+20 | |
If ‘--option restrict-eval true’ is given, the evaluator will throw an exception if an attempt is made to access any file outside of the Nix search path. This is primarily intended for Hydra, where we don't want people doing ‘builtins.readFile ~/.ssh/id_dsa’ or stuff like that. | |||||
2015-02-19 | ExprConcatStrings: canonicalize concatenated paths | Shea Levy | 1 | -1/+2 | |
2014-12-12 | Remove canary stuff | Eelco Dolstra | 1 | -21/+0 | |
2014-12-02 | Make all ExternalValueBase functions const | Shea Levy | 1 | -3/+3 | |
2014-12-02 | Allow external code using libnixexpr to add types | Shea Levy | 1 | -0/+33 | |
Code that links to libnixexpr (e.g. plugins loaded with importNative, or nix-exec) may want to provide custom value types and operations on values of those types. For example, nix-exec is currently using sets where a custom IO value type would be more appropriate. This commit provides a generic hook for such types in the form of tExternal and the ExternalBase virtual class, which contains all functions necessary for libnixexpr's type-polymorphic functions (e.g. `showType`) to be implemented. | |||||
2014-11-25 | forceString(): Accept pos argument | Eelco Dolstra | 1 | -2/+2 | |
2014-11-15 | Add functors (callable attribute sets). | Shea Levy | 1 | -0/+12 | |
With this, attribute sets with a `__functor` attribute can be applied just like normal functions. This can be used to attach arbitrary metadata to a function without callers needing to treat it specially. | |||||
2014-10-31 | Fix more warnings | Eelco Dolstra | 1 | -11/+1 | |
2014-10-09 | mkList: Scrub better | Eelco Dolstra | 1 | -0/+1 | |
Clearing v.app.right was not enough, because the length field of a list only takes 32 bits, so the most significant 32 bits of v.app.left (a.k.a. v.thunk.env) would remain. This could cause Boehm GC to interpret it as a valid pointer. This change reduces maximum RSS for evaluating the ‘tested’ job in nixos/release-small.nix from 1.33 GiB to 0.80 GiB, and runtime by about 8%. | |||||
2014-10-05 | Get rid of some unnecessary ExprConcatStrings nodes in dynamic attrs | Eelco Dolstra | 1 | -6/+3 | |
This gives a ~18% speedup in NixOS evaluation (after converting most calls to hasAttr/getAttr to dynamic attrs). | |||||
2014-10-05 | Show total allocations | Eelco Dolstra | 1 | -8/+10 | |
2014-10-01 | printValue(): Don't print <CYCLE> for repeated values | Eelco Dolstra | 1 | -7/+9 | |
2014-09-22 | Make forceValueDeep work on values with cycles | Eelco Dolstra | 1 | -9/+20 | |
2014-09-22 | Rename strictForceValue -> forceValueDeep | Eelco Dolstra | 1 | -3/+3 | |
2014-09-22 | Handle cycles when printing a value | Eelco Dolstra | 1 | -5/+23 | |
So this no longer crashes with a stack overflow: nix-instantiate -E --eval 'let as = { x = as; }; in as' Instead it prints: { x = { x = <CYCLE>; }; } | |||||
2014-09-22 | Add a function ‘valueSize’ | Eelco Dolstra | 1 | -0/+80 | |
It returns the size of value, including all other values and environments reachable from it. It is intended for debugging memory consumption issues. | |||||
2014-09-19 | Inline Bindings::find() | Eelco Dolstra | 1 | -9/+0 | |
2014-09-19 | Store Attrs inside Bindings | Eelco Dolstra | 1 | -14/+25 | |
This prevents a double allocation per attribute set. | |||||
2014-09-17 | Add some instrumentation for debugging GC leaks | Eelco Dolstra | 1 | -0/+22 | |
2014-09-02 | Fix boost::too_many_args error | Eelco Dolstra | 1 | -1/+1 | |
Fixes #333. | |||||
2014-08-20 | Use proper quotes everywhere | Eelco Dolstra | 1 | -14/+14 | |
2014-08-13 | Fix warning about non-existant -I directories | Eelco Dolstra | 1 | -1/+1 | |
2014-06-10 | == operator: Ignore string context | Eelco Dolstra | 1 | -11/+2 | |
There really is no case I can think of where taking the context into account is useful. Mostly it's just very inconvenient. | |||||
2014-05-26 | Remove ExprBuiltin | Eelco Dolstra | 1 | -11/+0 | |
It's slower than ExprVar since it doesn't compute a static displacement. Since we're not using the throw primop in the implementation of <...> anymore, it's also not really needed. | |||||
2014-05-26 | Ensure that -I flags get included in nixPath | Eelco Dolstra | 1 | -4/+3 | |
Also fixes #261. | |||||
2014-05-15 | Provide a more useful error message when a dynamic attr lookup fails | Shea Levy | 1 | -2/+10 | |
2014-04-04 | Show position info in attribute selection errors | Eelco Dolstra | 1 | -7/+7 | |
2014-04-04 | Show position info in Boolean operations | Eelco Dolstra | 1 | -7/+17 | |
2014-04-04 | Show position info in string concatenation / addition errors | Eelco Dolstra | 1 | -12/+27 | |
2014-04-04 | forceString: Show position info | Eelco Dolstra | 1 | -9/+24 | |
2014-04-04 | forceAttrs: Show position info | Eelco Dolstra | 1 | -1/+1 | |
2014-04-04 | forceList: Show position info | Eelco Dolstra | 1 | -7/+2 | |
2014-04-04 | forceInt: Show position info | Eelco Dolstra | 1 | -2/+2 | |
2014-04-04 | Pass position information to primop calls | Eelco Dolstra | 1 | -3/+3 | |
For example: error: `tail' called on an empty list, at /home/eelco/Dev/nixpkgs/pkgs/applications/misc/hello/ex-2/default.nix:13:7 | |||||
2014-04-04 | Include position info in function application | Eelco Dolstra | 1 | -12/+19 | |
This allows error messages like: error: the anonymous function at `/etc/nixos/configuration.nix:1:1' called without required argument `foo', at `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs/lib/modules.nix:77:59' | |||||
2014-03-30 | boost::shared_ptr -> std::shared_ptr | Eelco Dolstra | 1 | -0/+1 | |
2014-03-10 | The expr of AttrNames/DynamicAttrDefs is always an ExprConcatStrings | Shea Levy | 1 | -5/+3 | |
2014-03-10 | If a dynamic attribute name evaluates to null, remove it from the set | Shea Levy | 1 | -1/+9 | |
2014-03-05 | Revert "Make ifs and asserts tail-recursive" | Eelco Dolstra | 1 | -10/+4 | |
This reverts commit 273322c7732093a354e86df82cf75d6604b8bce8. | |||||
2014-02-27 | Correctly detect infinite recursion in function application | Eelco Dolstra | 1 | -2/+4 | |
If we're evaluating some application ‘v = f x’, we can't store ‘f’ temporarily in ‘v’, because if ‘f x’ refers to ‘v’, it will get ‘f’ rather than an infinite recursion error. Unfortunately, this breaks the tail call optimisation introduced in c897bac54954373f63511702731fe2cb23c0c98e. Fixes #217. | |||||
2014-01-21 | Merge branch 'master' into make | Eelco Dolstra | 1 | -4/+51 | |
Conflicts: src/libexpr/eval.cc | |||||
2013-12-31 | Don't use any syntactic sugar for dynamic attrs | Shea Levy | 1 | -3/+17 | |
This doesn't change any functionality but moves some behavior out of the parser and into the evaluator in order to simplify the code. Signed-off-by: Shea Levy <shea@shealevy.com> |