Skip to content


Subversion checkout URL

You can clone with
Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: rakudo/rakudo
base: 2d0e2dec93
head fork: rakudo/rakudo
compare: vmarray-list
This comparison is big! We're only showing the most recent 250 commits
Commits on Jan 25, 2013
@jnthn jnthn Merge pull request #100 from timo/typename_suggestions
Typename suggestions: in signatures, declarations, return types, ...
Commits on Jan 26, 2013
@jnthn jnthn Fix degenerate /< hello >/. c356d8e
@timo timo unfold junctions at compile time sometimes. 433dca6
@timo timo build a new "is_from_core". 8f80e88
@timo timo fixed junction ops, fixed is_from_core, added %!foldable_junction 58646f3
@timo timo the optimisation works for while/until, too. cccd1cb
Commits on Jan 27, 2013
@timo timo a bit prettier code. 6b78bbc
@timo timo allow any and all, use a hash for the outer check. caa06c2
@timo timo simplify can_chain_junction_be_warped. 81dc550
@timo timo bail out before doing any analysis
analysis in this case doesn't contribute anything helpful
to the process, unlike the "call to &foo with arguments (bar)
will never work" for example.
@timo timo remove any/all again due to flattening woes 58dd3c7
@timo timo why not make this a level 2 optimization? :) 9494956
@arnsholt arnsholt Start integrating with native size support in NQP. f7a5a2f
@jnthn jnthn Merge pull request #101 from timo/junction-opt
Partially inline junctions in bool context at compile time
@moritz moritz mark some numeric operators as pure a1bcaa6
Commits on Jan 28, 2013
@arnsholt arnsholt Fix braino. NativeHOW sent bad data to the REPR compose. c7fe112
Commits on Jan 29, 2013
@moritz moritz reverse order of <perl vendor site> dirs in @*INC
we do not have to repeat all of the mistakes Perl 5 has made.
@arnsholt arnsholt Merge branch 'nom' into dyncall-sized-num e079812
Commits on Jan 30, 2013
@moritz moritz update ChangeLog b3fc32a
@jnthn jnthn Bump NQP_REVISION for REPL improvements. 9dfa827
@jnthn jnthn Support lexical type introspection. 0fd4ee8
@jnthn jnthn Better REPL exception reporting; updates. 9ec0a59
Commits on Jan 31, 2013
@moritz moritz first shot at constant folding
so far it does nothing, but also breaks nothing. It seems that the multi dispatch call optimization comes first, and interferes with this one
@moritz moritz move constant folding code to the correct location; some small fixes cd64560
Commits on Feb 01, 2013
@moritz moritz Merge remote branch 'origin/nom' into constant-folding 03cce4d
@moritz moritz constant folding cleanup
* catch it when the routine to be folded errors out
* make sure to preseve namedness of named arguments
* remove debug output
=> all spectests pass!
Moritz Lenz update ChangeLog 33d8dd0
@jnthn jnthn Updates to work with latest NQP additions. 5e5a76f
@arnsholt arnsholt Make NativeHOW set float as well as integer bitsize.
Since NativeHOW is used for all native types (int, num, str) we don't know a
priori whether we're setting the bitwidth of an int of a float. So we set
@moritz moritz Do not inline stuff that warns 8f39611
@moritz moritz mark more subs and ops as pure 6d5dc67
Commits on Feb 02, 2013
@arnsholt arnsholt Update sixmodelobject.h. 80dc914
Commits on Feb 03, 2013
@moritz moritz Calculate each year's Rakudo releases
also fill up the dates for 2013.
Commits on Feb 05, 2013
@FROGGS FROGGS move $( ~ ) into variable token
Contextualizers do work and litvar.t is parseable now.
@FROGGS FROGGS bump NQP revision 0dda4c8
Commits on Feb 06, 2013
@moritz moritz constant-fold some range operators
the others cause the setting compilation to fail when constant-folded. Not sure yet why.
Commits on Feb 07, 2013
@jnthn jnthn Merge remote-tracking branch 'origin/dyncall-sized-num' into nom e59ba28
@jnthn jnthn Bump NQP_REVISION for natives improvements. fc3f0d8
@FROGGS FROGGS remove circumfix:sym<sigil>
This was already moved to method variable.
Commits on Feb 09, 2013
@jnthn jnthn Make sure we call compose_repr early enough.
Should always call it before the first intantiation.
@jnthn jnthn Fix anonymous state variable regression. 7ad6e63
@colomon colomon Add Cool.set and Cool.bag. d76f9b2
@jnthn jnthn Update to build on latest NQP.
REPR API additions force a fresh sixmodelobject.h, so also needed to
do an NQP_REVISION bump.
Commits on Feb 11, 2013
@jnthn jnthn Chase !cursor_start changes. 7e22a79
Commits on Feb 13, 2013
@jnthn jnthn Bump to an NQP with a build fix. 5a12919
@moritz moritz RT #107992: make $_ writable in -n/-p code fdbba70
Commits on Feb 14, 2013
@moritz moritz speed up eqv for Buf 8369e63
@moritz moritz [Configure] stop on unknown command line options, [Coke]++ 1e85ffd
Commits on Feb 16, 2013
@moritz moritz try to track void context in the optimizer
does not work yet, it seems to consider all string literals in void context.
No idea why :(
@moritz moritz be a bit less wrong about void context detection
still does not work at all :(
@moritz moritz fix logic error in void context detection
still has quite a fe false positives
@moritz moritz track declaration bits in the QAST d501814
@moritz moritz use %!worrying mechanism for string constants in void context 9244510
@moritz moritz give string literal QAST nodes a Match object 7636b79
@moritz moritz detect Int and Num literals in void context
Does not trigger yet, probably because they have no .node info.
Also replace the constant QAST node with a null op
@moritz moritz give numeric constant QAST nodes a .node
now Int and Num literals warn in void context
@FROGGS FROGGS Apparent subscript will be treated as regex
Throw the same warning as STD does for things like
@var[0], $var{a} and $var<a> in regexes.
@moritz moritz warn when inlining constant expressions in void context f6a731c
Commits on Feb 17, 2013
@moritz moritz steal match widening from rakudo-debugger
now "23 + 4" in sink context reports the whole expression, not just the operator
@moritz moritz Merge remote-tracking branch 'origin/optimizer-void-context' into nom df3a732
@moritz moritz update ChangeLog with new warnings d2795bb
@jnthn jnthn Support for nqp::const. 10dac76
@jnthn jnthn Some pir:: => nqp:: for the setting. b9ee89a
Commits on Feb 18, 2013
@moritz moritz warn about variables in sink context 018b73b
@moritz moritz add some type annotations to the Optimizer code 5101a54
Commits on Feb 19, 2013
@rjbs rjbs make's args match S32 0d261a3
@FROGGS FROGGS add array in regex interpolation feature
Arrays withinn regex will be treated as alternations of its elements.
Preceding | or || will change its behaviour, || means sequential alt-
ernation and | LTM, while the LTM is just a basic approach and needs
@moritz moritz Warn when pure expressions are used in sink context
even if the arguments are not constant, or the expression warns.
By explicit request from TimToady++ at
@moritz moritz awesomify sink context warning text 2f210be
Commits on Feb 20, 2013
@arnsholt arnsholt Add int64 type. 6392d64
Commits on Feb 21, 2013
@cotto cotto clean up some op definitions c3dc86e
@coke coke Merge pull request #105 from cotto/nom
clean up some op definitions
@moritz moritz /./ and rx/./ literals now match against $_ in sink context cd95e40
@moritz moritz avoid sinking of state initializers 5dfb733
@timo timo turn LTA error for coercive type declarations into NYI. 9c59a13
Commits on Feb 22, 2013
@moritz moritz update ChangeLog a763a18
@tadzik tadzik [release] bump NQP revision 256339c
@tadzik tadzik [release] bump VERSION c89dd87
@tadzik tadzik [release] Add a new release announcement 78d2a2a
@tadzik tadzik Update the release guide f67e101
@pmichaud pmichaud Some formatting updates to 2013.02 announcement. 42f8ead
@moritz moritz [docs] update the download step in the release guide 483ce86
Commits on Feb 23, 2013
@FROGGS FROGGS interpolation of e.g. regexes in arrays in regexes c255f1d
@moritz moritz bump VERSION and NQP_REVISION to 2013.02.1
this gets us non-broken native call suport
@FROGGS FROGGS force regexes in array to match at pos 0 only ff2ceee
@moritz moritz switch type name gistification from Type() to (Type) cfee628
Commits on Feb 24, 2013
@jnthn jnthn Fix an incorrect package name.
Not sure how this ever worked before; fixes the failing tests.
@FROGGS FROGGS bump nqp revision 80f798b
@moritz moritz Merge remote-tracking branch 'origin/agressive-sink-warnings' into nom b205e66
Commits on Feb 25, 2013
@jnthn jnthn Tweak an error message; TimToady++. 4d9c34a
@moritz moritz [docs] release announcements in markdown
* update release_guide
* add a template for the announcement for next month, provided by uvtc++

the format we use is quite close to markdown already, and writing it
in proper markdown makes them display nicely on github, and easier to
translate to HTML
Commits on Feb 26, 2013
@jnthn jnthn Updates to work with latest HLL::Compiler.
Makes things a little cleaner, by not coupling to the backend stages
at all. Should cut out one bit of what the --target=pbc support had
to update.
Commits on Feb 27, 2013
@jnthn jnthn Be sure to use line info cache. c2910e2
@moritz moritz README: update download location for star packages f4e96b0
Commits on Feb 28, 2013
Moritz Lenz run S02-magicals/vm.t, timotimo++ 22b3cf3
@jnthn jnthn Remove bogus coercion from Cool.substr.
Found by labster++.
Commits on Mar 01, 2013
@jnthn jnthn Eliminate a no-longer-needed hack. a72f82d
@jnthn jnthn Eliminate pir:: usage in Perl6::Grammar. edeeaf3
@jnthn jnthn Eliminate pir:: in Perl6::Actions. 6ce3130
@jnthn jnthn Turn some QAST::VM into QAST::Op. 680d86a
@jnthn jnthn Some pir:: => nqp:: in Perl6::World. 2303d19
@jnthn jnthn Eliminate some property usages. 6f5cfc1
@jnthn jnthn Some pir:: => nqp:: in BOOTSTRAP. 40069f9
Commits on Mar 02, 2013
@jnthn jnthn Toss dead code. ec1c81a
@jnthn jnthn Remove redundant op mappings. 0087ce6
@jnthn jnthn Toss two dead ops. 7de7725
@FROGGS FROGGS bump nqp rev for cclass subtractions 82de32e
@FROGGS FROGGS bump nqp revision 7a41b98
@FROGGS FROGGS RT #116979 check for variable in regex assertions 123dfa3
Commits on Mar 03, 2013
@pmichaud pmichaud Have Rat.perl return decimal numbers if denominator is normalizable t…
…o a power of 10. Fixes RT #117013.
@FROGGS FROGGS RT #77410 bump nqp rev for :ignorecase in character classes 87ad7c6
Commits on Mar 04, 2013
@kboga kboga pir::repr_clone__PP -> nqp::clone 34a7973
@kboga kboga pir::shr__0II -> nqp::bitshiftr_i baf0f5e
@kboga kboga pir::find_dynamic_lex__Ps -> nqp::getlexdyn 74b7f2a
@kboga kboga pir::getstdin__P -> nqp::getstdin 789a9c9
@kboga kboga pir::getstdout__P -> nqp::getstdout 793ff48
@kboga kboga pir::getstderr__P -> nqp::getstderr 6baa174
@kboga kboga pir::set_who__0PP -> nqp::setwho 62f5bfa
@kboga kboga pir::compreg__Ps -> nqp::getcomp 1208feb
@kboga kboga pir::set_container_spec__vPPsP -> nqp::setcontspec 35ec5b7
@kboga kboga pir::repr_get_primitive_type_spec__IP -> nqp::objprimspec f29a119
@kboga kboga pir::nqp_decontainerize__PP -> nqp::decont c369f0e
@kboga kboga pir::set_boolification_spec__0PiP -> nqp::setboolspec 392f208
@kboga kboga pir::repr_type_object_for__PPS -> nqp::newtype 014e156
@kboga kboga pir::set_method_cache_authoritativeness__vPi -> nqp::setmethcacheauth 5d36bdf
@kboga kboga pir::publish_method_cache__0PP -> nqp::setmethcache 4ccfdba
@kboga kboga pir::set_hll_global__1SP -> nqp::bindcurhllsym 238b1bf
@kboga kboga pir::get_hll_global__Ps -> nqp::getcurhllsym be75b01
@kboga kboga pir::setattribute__vPPsP -> nqp::bindattr d5c6fa7
@kboga kboga pir::load_bytecode__vs -> nqp::loadbytecode 017f093
@kboga kboga pir::nqp_disable_sc_write_barrier__v -> nqp::scwbdisable 5b7786b
@kboga kboga pir::nqp_enable_sc_write_barrier__v -> nqp::scwbenable bebba55
@kboga kboga pir ctx -> nqp ctx 5d306d9
@kboga kboga pir::set_method_cache_authoritativeness__0Pi -> nqp::setmethcacheauth c85d3aa
@kboga kboga publish_type_check_cache__0PP -> nqp::settypecache 3b004e5
@kboga kboga pir::exit__0i -> nqp::exit ce18272
Commits on Mar 06, 2013
@FROGGS FROGGS bump nqp revision, this unbreaks JSON::Tiny c315c8b
@FROGGS FROGGS bump NQP revision fec64aa
@pmichaud pmichaud A better factoring of Rat.perl. 90bd93d
@pmichaud pmichaud Rat.perl should provide angle brackets around fractional forms. 11157e9
Commits on Mar 07, 2013
@jnthn jnthn Start translating multi-dispatch to NQP.
Add an NQP version of the candidate narrowness comparator function.
@jnthn jnthn Port multi candidate sort algorithm to NQP.
Not used yet.
Commits on Mar 08, 2013
@jnthn jnthn Start porting multi-dispatcher to NQP.
Some of the complex bits are commented out, and it doesn't quite work
yet, but this gets the overall algorithm translated.
@jnthn jnthn Various fixes.
Gets the NQP-based multi-dispatcher working for some basic cases.
@jnthn jnthn Add missing shellwords postcircumfixes.
Resolves oops-hyper parse bug due to them being missing, and as a bonus
means we now support them.
@jnthn jnthn Generalize "can we augment this" checking.
Make it an archetype, and then opt classes in. Also tweak the exception
type that is used to be more general, and try to make the wording of it
general enough for all the cases we could get it, so it won't mislead.
@jnthn jnthn Align user-defined circumfix parsing with STD.
Means that we now use semilist (thus getting whitespace righter) and
set a stopper appropriately.
@jnthn jnthn Forbid null operators.
Adds a typed exception for them also.
@jnthn jnthn Add coloncircumfix.
Brings us further in line with STD's approach, and gets rid of a
misleading message.
@jnthn jnthn Sync some errors with STD. 8c0f875
Commits on Mar 09, 2013
@thundergnat thundergnat fix error message typo; associtiave -> associative baa9b00
@jnthn jnthn Sync integer parsing warnings/errors with STD.
Of note, the one that warns about leading 0 not being octal is now
@jnthn jnthn Merge pull request #111 from thundergnat/nom
Update  Fix error message typo; associtiave -> associative
@jnthn jnthn Add $*IN_META and use it as STD does. d9dc404
@jnthn jnthn Align end of statement handling with STD.
Fixes RT#102690 and maybe more.
@jnthn jnthn Port most of STD's infix:lambda.
Gives good errors for if(1 < 2) { ... } style mistakes.
Commits on Mar 10, 2013
@jnthn jnthn Turn off check giving false positives for now. 5963753
@jnthn jnthn One pir:: => nqp::. 8d510e3
Commits on Mar 11, 2013
@timo timo autothread all or none before any or one. d4e55d0
@FROGGS FROGGS use an NFA to sort out listy things
This also fixes RT #117091, so :ignorecase is respected in assertions too.
@jnthn jnthn Merge pull request #113 from timo/autothread_order
autothread all or none before any or one.
@jnthn jnthn Add STD message for 'else if'. af61c17
@timo timo typed exception X::Syntax::Malformed::Elsif. ed1dd58
@jnthn jnthn Some ChangeLog for March release work so far. 8104125
Commits on Mar 12, 2013
@timo timo advise on "elif", too 838e03d
@gerdr gerdr Change IO::Socket::INET.get to return undef on EOF, matching IO seman…

Also make sure that the line separator is encoded correctly.

Now, if only someone could show me a good way to make the transcoding happen
at attribute assignment and not at every readline call...
@gerdr gerdr Fix IO::Socket::INET.lines - now with actual looping f54e210
@moritz moritz Merge branch 'fix-socket-get-2' of in…
…to nom
@timo timo this makes &?ROUTINE available in regex foo { ... }. 73ca26a
@timo timo don't give &?ROUTINE to /.../ regexes. f440d46
Commits on Mar 13, 2013
@jnthn jnthn Merge pull request #116 from timo/ROUTINE_in_regex
Routine in regex/token/rule
@jnthn jnthn Merge pull request #114 from timo/typed_exc_elsif
typed exception X::Syntax::Malformed::Elsif.
@jnthn jnthn Merge pull request #103 from rjbs/nom
make's args match S32
@jnthn jnthn Merge branch 'nom' into md-nqp b57c8fa
@jnthn jnthn Named args and constraints in NQP-based disptacher ab0d7bd
@jnthn jnthn Give NQP-based dispatcher support for 'is default' c2fb4bc
@jnthn jnthn Get junction failover into multi-dispatcher. 8f645ee
@jnthn jnthn Correct sentinel. f4b352b
@jnthn jnthn Invalidate sort order as needed. 4c470a1
@jnthn jnthn Fix compiler thunk checking. 136dc0b
@jnthn jnthn Switch most dispatches to NQP-based dispatcher.
Next up will be hunting/fixing regressions.
@jnthn jnthn Allow binding to $/.
Because we need it now to fix other things, but also because it will
fix an RT once this branch is merged.
@jnthn jnthn Fix $/ setting and $_ lookup a bit.
We "got lucky" because the callframe of the proto was magically going
missing, thanks to an optimization. This should resolve it, for now at
least, though it feels like we're missing a more real solution.
@jnthn jnthn Fix $/ lookup more properly. 383409d
@jnthn jnthn A couple of performance tweaks. ad805ff
@jnthn jnthn Add back caching of dispatches. 3199f01
@jnthn jnthn Need to auto-thread shouldn't count as failure.
Fixes auto-threading regression with NQP-based multi-dispatch.
@jnthn jnthn Remove now-unused mappings. c63943e
@jnthn jnthn Don't build error strings just to discard them. baf8b44
@jnthn jnthn Update role selection to use NQP multi-dispatcher. 3590914
@jnthn jnthn Remove now-unused ops. 8456599
@timo timo raise X::Method::NotFound even for '' methods. 103481f
@jnthn jnthn Optimizer updates for NQP-based dispatcher.
Will allow elimination of the MD thunk hack.
@jnthn jnthn Merge pull request #117 from timo/typed_exc_empty_method
raise X::Method::NotFound even for '' methods.
@jnthn jnthn Fully kill off MD thunks.
Gets rid of 2 PMCs, 2 ops and an attribute in Routine.
@jnthn jnthn Fix a proto. 3309f5f
@jnthn jnthn Remove some now-unused code. 62817b8
@jnthn jnthn Fix a wrong type constraint. 858cbe2
@jnthn jnthn Some more small optimizations. 6993950
Commits on Mar 14, 2013
@jnthn jnthn Sort multi candidates at compile time.
This is instead of doing so on the first call.
@jnthn jnthn Refactor to avoid some control exception use. 3b9db0b
@jnthn jnthn Eliminate some get_root_global usages. e3db648
@jnthn jnthn Typed exceptions for multi-dispatch failure. cf49051
Commits on Mar 15, 2013
@jnthn jnthn Fix a proto. 5c49111
@jnthn jnthn Allow common postcircumfix calls to be cached.
Before, they could not be because some candidates accepted named args.
Now, the common named-argumentless case can be cached.
@jnthn jnthn Remove an optimization that made things wrong. 3b39d8b
@jnthn jnthn Remove bogus decontainerization. f94fb8b
@jnthn jnthn Don't recalculate candidate lists without need. 150bdc9
@jnthn jnthn Fix logic for finding all possible candidates. 19d9ae0
@jnthn jnthn Use NQP-based dispatcher for deferral also. c9e3ae1
@jnthn jnthn Rip out most of the C-based multi-dispatcher.
Only leftover bits are the compile-time dispatch analysis used by the
optimizer, which still needs porting.
Commits on Mar 16, 2013
@jnthn jnthn Fix LEAVE not firing on next/last in MapIter.
Done as an attempted/failed fix for something else.
@jnthn jnthn Fixes to work with the invokewithcapture changes.
With this, there's just one spectest (not file, just test) that seems
to be broken in this branch over nom.
@jnthn jnthn Merge branch 'nom' into md-nqp 539d953
@jnthn jnthn Port compile-time dispatch analysis to NQP. fbf17f1
@jnthn jnthn Get optimizer using NQP-based dispatch analysis. 8d0bb45
@jnthn jnthn Finish eliminating C-based multi-dispatcher. fdc0c2f
@jnthn jnthn Don't re-link already compiled blocks.
This loses lexical chain information they are carrying. A test for
traits/wrapping/multi interaction (yes, we have one :-)) seems to have
been somehow magically working before, for mysterious reasons. This
change makes it work for a better understood reason, and with the NQP
based multi-dispatcher. Fixes the remaining regression in this branch,
and introduces no more spectest regressions.
@jnthn jnthn Fix Pod configuration regression. 52f04a7
@jnthn jnthn Bump NQP_REVISION. fd5d929
@jnthn jnthn Some pir:: => nqp:: in Perl6::ModuleLoader. ce914fc
@pmichaud pmichaud Throw exception when Range endpoint is used to create a Range. ff346ad
@masak masak [docs/release_guide.pod] grab March a323a31
@jnthn jnthn More pir:: => nqp:: in ModuleLoader. c22a391
@jnthn jnthn A couple of pir:: => nqp:: in Perl6::World. d00a575
@jnthn jnthn Last pir:: in Perl6::Compiler. e7f9bdd
@jnthn jnthn Some pir:: => nqp:: in the MOP. d98dd54
@jnthn jnthn Two pir:: => nqp:: in the optimizer. 2a41b33
Commits on Mar 19, 2013
@pmichaud pmichaud Update ChangeLog with Range as Range endpoint error. b3b5f8e
@FROGGS FROGGS array interpolation is supported now
Even if there are issues like that we're using eval.
Commits on Mar 20, 2013
@pmichaud pmichaud Refactor handling of RESTRICTED classes such as IO and IO::Socket. 337fcee
@pmichaud pmichaud Add FALLBACK method to RESTRICTED. FALLBACK from S12 is NYI, but when
it is implemented this will magically catch the undeclared method calls.
@jnthn jnthn Bump to NQP_REVISION with a build fix.
Was just a warning fix in theory, but may be an error for some.
@jnthn jnthn A couple of ChangeLog entries. 8fea533
Commits on Mar 21, 2013
@masak masak [docs/announce/] pick release name
Release, I dub thee Singapore.
@masak masak [announce/] some formatting
Indenting the text that way won't work. It means
<pre> formatting in Markdown. Not what we want.
@masak masak [announce/] exerpt of changelog added 48a2c26
@masak masak [docs] should be "elsif" or "elif"
We handle both. timotimo++
@masak masak [announce/] these are the contributors
A fine bunch.
@masak masak [docs/release_guide.pod] move current release north 337f9e9
@masak masak [release] bump VERSION e5349c0
@masak masak [docs/release_guide.pod] fix small thinko 0ca6e54
@masak masak Revert "[docs/release_guide.pod] fix small thinko"
This reverts commit 0ca6e54.
Commits on Mar 22, 2013
@masak masak [docs/release_guide.pod] signed up FROGGS for May 221a95f
Commits on Mar 24, 2013
@FROGGS FROGGS fixed spello as diakopter++ pointed out b972ca3
Commits on Mar 26, 2013
@arnsholt arnsholt Explicitly numify a list in Metamodel/, 696b0f5
@arnsholt arnsholt Make an nqp::list into an nqp::list_s in Perl6/ bfa0b9a
@arnsholt arnsholt Change all instances of nqp::join to NQP's join sub.
This is because nqp::join maps to pir::join, which will only work with a
list_s and not anything else, due to how pir::join works internally. Longer
term, we may want to implement a smarter nqp::join and revert this commit.
@arnsholt arnsholt Make named_names and type_captures in list_s. 6105cc6
Commits on Mar 30, 2013
@arnsholt arnsholt A few tweaks to the optimizer to make it work with the changed NQP. 38178b5