nit.git
11 years agotests: cleanup .gitignore
Jean Privat [Tue, 16 Oct 2012 17:38:00 +0000 (13:38 -0400)]
tests: cleanup .gitignore

all temporary result files must be generated in out/

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: tests_icode.sh generates files in out/
Jean Privat [Tue, 16 Oct 2012 17:37:17 +0000 (13:37 -0400)]
tests: tests_icode.sh generates files in out/

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: make Object an interface to avoid constructor conflict
Jean Privat [Tue, 16 Oct 2012 17:21:57 +0000 (13:21 -0400)]
tests: make Object an interface to avoid constructor conflict

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: suppr a depreciated test
Jean Privat [Tue, 16 Oct 2012 17:32:18 +0000 (13:32 -0400)]
tests: suppr a depreciated test

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: add options --[no]soso
Jean Privat [Tue, 16 Oct 2012 17:14:37 +0000 (13:14 -0400)]
tests: add options --[no]soso

the options --soso et --nososo enable/disable the sosoing.
When disabled, soso are considered a big fail.

By default, --soso is disabled for nitc and activated for nitg and niti

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: update sav file broken by 5c50ab8
Jean Privat [Tue, 16 Oct 2012 15:37:21 +0000 (11:37 -0400)]
tests: update sav file broken by 5c50ab8

Those tests where broken because of a silent sosoing.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: accepts various sav/* files
Jean Privat [Tue, 16 Oct 2012 15:27:17 +0000 (11:27 -0400)]
tests: accepts various sav/* files

Multiple save files can be accepted as valid.

Specific result for an engine goes to sav/$engine/
Expected failures (fixmes) goes to sav/fixme/ or sav/$engine/fixme/

All result files are experted to have a .res extension (old .sav and
.fail extensions are still sometime accepted for compatibility)

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: can add a file $engine.skip to skip many tests
Jean Privat [Tue, 16 Oct 2012 04:05:51 +0000 (00:05 -0400)]
tests: can add a file $engine.skip to skip many tests

*.skip files can be used to indicate patterns of files that should be
skipped for the given engine.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonewmm: parse literal floats using String#to_f
Jean Privat [Sun, 12 Aug 2012 15:17:47 +0000 (11:17 -0400)]
newmm: parse literal floats using String#to_f

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agolib: implements String#to_f as a legacy extern method (using atof)
Jean Privat [Sun, 12 Aug 2012 15:17:07 +0000 (11:17 -0400)]
lib: implements String#to_f as a legacy extern method (using atof)

niti/nitg cannot use the native interface of Alexis.
So it is better this way for the moment.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotyping: check literal ranges uses discrete types
Jean Privat [Sun, 12 Aug 2012 14:10:10 +0000 (10:10 -0400)]
typing: check literal ranges uses discrete types

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitc: cannot instantiate a nullable type
Jean Privat [Sun, 12 Aug 2012 13:53:18 +0000 (09:53 -0400)]
nitc: cannot instantiate a nullable type

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotyping: check use of protected methods
Jean Privat [Sun, 12 Aug 2012 13:44:00 +0000 (09:44 -0400)]
typing: check use of protected methods

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitc: allow homonymous non-nested labels
Jean Privat [Sun, 12 Aug 2012 13:18:14 +0000 (09:18 -0400)]
nitc: allow homonymous non-nested labels

old specification was odd.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotyping: better handling of for forms
Jean Privat [Sat, 11 Aug 2012 21:12:31 +0000 (17:12 -0400)]
typing: better handling of for forms

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agomodeflbuilder: do not crash if a mclassdef cannot be created
Jean Privat [Sat, 11 Aug 2012 21:11:57 +0000 (17:11 -0400)]
modeflbuilder: do not crash if a mclassdef cannot be created

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agomodelbuilder: check redef signature in getter/setter
Jean Privat [Sat, 11 Aug 2012 20:23:21 +0000 (16:23 -0400)]
modelbuilder: check redef signature in getter/setter

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agommbuilder: reject covariant definition of attributes
Jean Privat [Tue, 7 Aug 2012 23:12:25 +0000 (19:12 -0400)]
mmbuilder: reject covariant definition of attributes

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoMerge branch 'nonitc_ni' into master
Jean Privat [Sun, 12 Aug 2012 02:19:39 +0000 (22:19 -0400)]
Merge branch 'nonitc_ni' into master

11 years agonitg: add clean rule in generated Makefile
Jean Privat [Sat, 11 Aug 2012 03:43:46 +0000 (23:43 -0400)]
nitg: add clean rule in generated Makefile

It is intended to by only used by developers of nitg.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: separately compile extern files
Jean Privat [Sat, 11 Aug 2012 03:37:17 +0000 (23:37 -0400)]
nitg: separately compile extern files

they are compiled in .nit_compile/ as `xxx.num.o`.
eg.

    .nit_compile/hello_world.2.o: lib/standard/file_nit.c
         $(CC) $(CFLAGS) -D NONITCNI -c -o .nit_compile/hello_world.2.o lib/standard/file_nit.c

it is better than compiling them during the link.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoni: use macro NONITCNI to disable nitni in extern files
Jean Privat [Sat, 11 Aug 2012 03:33:57 +0000 (23:33 -0400)]
ni: use macro NONITCNI to disable nitni in extern files

nitg uses cc with -D NONITCNI thus can compile those .h/.c files
without breaking.

NONITCNI also means that nitg no more relies on ._nitni files generated
by nitc.
Thus nitg also drops -I in cc.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoMerge branch 'optim_nitg'
Jean Privat [Fri, 10 Aug 2012 18:06:42 +0000 (14:06 -0400)]
Merge  branch 'optim_nitg'

11 years agoMerge branch 'optim_niti'
Jean Privat [Fri, 10 Aug 2012 18:00:05 +0000 (14:00 -0400)]
Merge branch 'optim_niti'

11 years agoniti: add NaiveInterpreter#collect_attr_propdef
Jean Privat [Fri, 10 Aug 2012 03:49:28 +0000 (23:49 -0400)]
niti: add NaiveInterpreter#collect_attr_propdef

used to factorise and cache attr initialization&check

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoniti: add class MutableInstance
Jean Privat [Fri, 10 Aug 2012 02:58:35 +0000 (22:58 -0400)]
niti: add class MutableInstance

Instance become abstract

The point of this patch is to avoid the attributes hashmap
in primitive classes.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoniti: check signature arity on send
Jean Privat [Tue, 31 Jul 2012 04:23:35 +0000 (00:23 -0400)]
niti: check signature arity on send

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoniti: implements ADeferredMethPropdef#call
Jean Privat [Tue, 31 Jul 2012 02:38:38 +0000 (22:38 -0400)]
niti: implements ADeferredMethPropdef#call

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotyping: add ASendExpr#raw_arguments
Jean Privat [Thu, 19 Jul 2012 05:14:24 +0000 (01:14 -0400)]
typing: add ASendExpr#raw_arguments

make compute_raw_arguments private
and computes raw_arguments after its call

this improve previous users of compute_raw_arguments (niti ant nitg) that
may need to get args more than once

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoniti: cache the frame in a local variable
Jean Privat [Thu, 19 Jul 2012 01:46:34 +0000 (21:46 -0400)]
niti: cache the frame in a local variable

expr and stmt are the most called methods.
Storing a result of a non trivial call makes sense.

Figures:

$ time ./nit test_parser.nit test_parser.nit > /dev/null
Before: user 0m8.221s
After: user 0m7.924s

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agorun_bench: add "nitc --global" to bench_engines()
Jean Privat [Tue, 7 Aug 2012 21:16:27 +0000 (17:16 -0400)]
run_bench: add "nitc --global" to bench_engines()

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agorun_bench: use 'local' vor local variables
Jean Privat [Tue, 7 Aug 2012 21:15:56 +0000 (17:15 -0400)]
run_bench: use 'local' vor local variables

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agorun_bench: no not force bohem on nitc for bench_engines()
Jean Privat [Tue, 7 Aug 2012 20:57:11 +0000 (16:57 -0400)]
run_bench: no not force bohem on nitc for bench_engines()

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agorun_bench.sh: new function bench_compilation_time
Jean Privat [Tue, 7 Aug 2012 20:46:33 +0000 (16:46 -0400)]
run_bench.sh: new function bench_compilation_time

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: activate bohem since executables are efficient enough
Jean Privat [Tue, 7 Aug 2012 20:46:17 +0000 (16:46 -0400)]
nitg: activate bohem since executables are efficient enough

Lasts benchs shows that nitc with nitgc and nitg with bohem can compete
(with often a slight advance for nitg)

$ ./nitg nitg.nit --no-cc
34.12

$ ./nitg.bin nitg.nit --no-cc
27.71

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: do not expose EscapeMark#object_id in generated C
Jean Privat [Tue, 7 Aug 2012 19:49:55 +0000 (15:49 -0400)]
nitg: do not expose EscapeMark#object_id in generated C

This breaks ccache recompilations

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: do not expose RuntimeVariable#object_id in generated C
Jean Privat [Tue, 7 Aug 2012 19:49:12 +0000 (15:49 -0400)]
nitg: do not expose RuntimeVariable#object_id in generated C

This breaks ccache recompilations

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: skip empty sub-strings in superstrings
Jean Privat [Tue, 7 Aug 2012 17:50:31 +0000 (13:50 -0400)]
nitg: skip empty sub-strings in superstrings

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agovalgrind.sh: use malloc instead of large
Jean Privat [Mon, 6 Aug 2012 23:36:50 +0000 (19:36 -0400)]
valgrind.sh: use malloc instead of large

We do not want unpredictable GC invocation when the large buffer is reached.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: improve RuntimeVariable#inspect
Jean Privat [Mon, 6 Aug 2012 21:36:19 +0000 (17:36 -0400)]
nitg: improve RuntimeVariable#inspect

and use it is all generated comments

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: self type in implicit init is exact
Jean Privat [Mon, 6 Aug 2012 21:08:57 +0000 (17:08 -0400)]
nitg: self type in implicit init is exact

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonew script run_bench.sh
Jean Privat [Mon, 6 Aug 2012 20:50:59 +0000 (16:50 -0400)]
new script run_bench.sh

This script helps to run benchmarks against the nit engines.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: because of customization, self is exact
Jean Privat [Sat, 28 Jul 2012 23:30:57 +0000 (19:30 -0400)]
nitg: because of customization, self is exact

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: "onces" literal strings
Jean Privat [Fri, 27 Jul 2012 22:16:50 +0000 (18:16 -0400)]
nitg: "onces" literal strings

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: implements ADeferredMethPropdef#compile_to_c
Jean Privat [Sat, 21 Jul 2012 17:35:15 +0000 (13:35 -0400)]
nitg: implements ADeferredMethPropdef#compile_to_c

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: add RuntimeVariable#is_exact
Jean Privat [Sun, 24 Jun 2012 21:02:05 +0000 (17:02 -0400)]
nitg: add RuntimeVariable#is_exact

Used to indicate that the dynamic type of some variables is known.
Easy cases are the direct result of instantiations.

Not that collect_types_cache can only be used fo non exact types

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: add option --hardening
Jean Privat [Sun, 24 Jun 2012 20:18:13 +0000 (16:18 -0400)]
nitg: add option --hardening

without hardening, last element of a switch is made default.
Note that single-case switch is optimized by the c compiler.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoMerge remote-tracking branch 'pratchett/tests'
Jean Privat [Mon, 6 Aug 2012 20:39:30 +0000 (16:39 -0400)]
Merge remote-tracking branch 'pratchett/tests'

11 years agonitg&niti: add a "Runtime error" prefix like nitc
Jean Privat [Thu, 2 Aug 2012 18:32:33 +0000 (14:32 -0400)]
nitg&niti: add a "Runtime error" prefix like nitc

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoclib: prefix runtime errors with "Runtime error"
Jean Privat [Thu, 2 Aug 2012 18:16:31 +0000 (14:16 -0400)]
clib: prefix runtime errors with "Runtime error"

and update tests

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: add niti and nitg Makefile rules
Jean Privat [Thu, 2 Aug 2012 17:47:28 +0000 (13:47 -0400)]
tests: add niti and nitg Makefile rules

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: add option --noskip
Jean Privat [Thu, 2 Aug 2012 17:44:57 +0000 (13:44 -0400)]
tests: add option --noskip

with --noskip, the .skip files are ignored

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: allow skipping tests based on engines
Jean Privat [Thu, 2 Aug 2012 17:39:11 +0000 (13:39 -0400)]
tests: allow skipping tests based on engines

some tests/alternatives/inputs are automatically skipped by the engines
listed in sav/$f.skip

skipping is set because some tests takes to much time (or hang) on
some engines

also register some tests to skip.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: differentiate the engine and the binary name
Jean Privat [Thu, 2 Aug 2012 17:27:59 +0000 (13:27 -0400)]
tests: differentiate the engine and the binary name

'niti' is the engine name
'nit' is the binary name

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: re-distinquish compilation errors.
Jean Privat [Thu, 2 Aug 2012 16:40:31 +0000 (12:40 -0400)]
tests: re-distinquish compilation errors.

was removed to allow using niti in a quick-and-dirty way.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: specific execution if $engine==nit
Jean Privat [Thu, 2 Aug 2012 15:55:41 +0000 (11:55 -0400)]
tests: specific execution if $engine==nit

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: add option --engine
Jean Privat [Thu, 2 Aug 2012 15:54:54 +0000 (11:54 -0400)]
tests: add option --engine

--engine allow to use a specific execution engine (nit, nitg, nitc, etc)

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: add --tap
Jean Privat [Thu, 2 Aug 2012 15:18:15 +0000 (11:18 -0400)]
tests: add --tap

./tests.sh --tap produce TAP output.

see http://testanything.org for details

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: recognize "NOT YET IMPLEMENTED"
Jean Privat [Thu, 2 Aug 2012 03:10:16 +0000 (23:10 -0400)]
tests: recognize "NOT YET IMPLEMENTED"

Tests that fails but include the string "NOT YET IMPLEMENTED"
are considered to be expected fails.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agomodel, niti, nitf: unify NOT YET IMPLEMENTED
Jean Privat [Thu, 2 Aug 2012 03:09:21 +0000 (23:09 -0400)]
model, niti, nitf: unify NOT YET IMPLEMENTED

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: update sav to remove soso
Jean Privat [Thu, 2 Aug 2012 02:34:56 +0000 (22:34 -0400)]
tests: update sav to remove soso

the alterner transition is now complete.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: tests_icode also use alterner.pl
Jean Privat [Fri, 3 Aug 2012 02:24:06 +0000 (22:24 -0400)]
tests: tests_icode also use alterner.pl

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: use alterner.pl
Jean Privat [Thu, 2 Aug 2012 02:04:14 +0000 (22:04 -0400)]
tests: use alterner.pl

alternative are generated with alterner.pl
functions make_alts0() and make_alts() are removed

see https://github.com/privat/alterner

NOTE: this will make a lot a tests going soso because of some location changes

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: replace #!alt by #alt
Jean Privat [Thu, 2 Aug 2012 01:43:47 +0000 (21:43 -0400)]
tests: replace #!alt by #alt

mass replace (done by sed).
no additional semantic.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: recognize a nonstart #alt as a #!alt
Jean Privat [Thu, 2 Aug 2012 01:39:04 +0000 (21:39 -0400)]
tests: recognize a nonstart #alt as a #!alt

this will helps to transition to alterner.pl

#alt1# in front will be activated on the alternative
something followed by #alt1# will be killed

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agotests: add fail soso
Jean Privat [Thu, 2 Aug 2012 02:18:41 +0000 (22:18 -0400)]
tests: add fail soso

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agommbuilder: add missing "error" in an error message
Jean Privat [Thu, 2 Aug 2012 02:11:50 +0000 (22:11 -0400)]
mmbuilder: add missing "error" in an error message

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: inline automatic free init
Jean Privat [Sun, 24 Jun 2012 16:14:32 +0000 (12:14 -0400)]
nitg: inline automatic free init

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: inline empty bodies
Jean Privat [Sun, 24 Jun 2012 16:14:08 +0000 (12:14 -0400)]
nitg: inline empty bodies

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: readapt native == and != to force unboxing
Jean Privat [Tue, 19 Jun 2012 21:22:27 +0000 (17:22 -0400)]
nitg: readapt native == and != to force unboxing

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: inline without adaptation
Jean Privat [Sun, 15 Jul 2012 21:27:12 +0000 (17:27 -0400)]
nitg: inline without adaptation

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: inline Object::== and Object::!=
Jean Privat [Tue, 19 Jun 2012 21:17:57 +0000 (17:17 -0400)]
nitg: inline Object::== and Object::!=

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: add inspect for variable
Jean Privat [Tue, 19 Jun 2012 21:17:25 +0000 (17:17 -0400)]
nitg: add inspect for variable

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: frame receiver is a type (not a variable)
Jean Privat [Tue, 19 Jun 2012 21:02:06 +0000 (17:02 -0400)]
nitg: frame receiver is a type (not a variable)

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: extract adapt_signature
Jean Privat [Sun, 15 Jul 2012 21:15:25 +0000 (17:15 -0400)]
nitg: extract adapt_signature

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoMerge remote-tracking branch 'origin/pu/closure'
Jean Privat [Sun, 15 Jul 2012 19:22:59 +0000 (15:22 -0400)]
Merge remote-tracking branch 'origin/pu/closure'

11 years agoniti: add closures
Jean Privat [Tue, 3 Jul 2012 17:25:51 +0000 (13:25 -0400)]
niti: add closures

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoniti: expressions are escapable
Jean Privat [Tue, 3 Jul 2012 17:24:43 +0000 (13:24 -0400)]
niti: expressions are escapable

Evaluating an expression return null if there is an escape.
Each caller should then accept or propagate the escaping.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoniti: returnmark indicates a Frame
Jean Privat [Tue, 3 Jul 2012 16:51:31 +0000 (12:51 -0400)]
niti: returnmark indicates a Frame

This allow to escape more than one method.
It is necessary for closures.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agomodel: add basic closures
Jean Privat [Tue, 3 Jul 2012 16:46:53 +0000 (12:46 -0400)]
model: add basic closures

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agomodel: add for on maps
Jean Privat [Thu, 24 May 2012 14:02:16 +0000 (10:02 -0400)]
model: add for on maps

workaround implementation waiting for closures.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonit: add native NativeString::system
Jean Privat [Thu, 24 May 2012 13:37:35 +0000 (09:37 -0400)]
nit: add native NativeString::system

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonit: add intern Int::rand
Jean Privat [Thu, 24 May 2012 13:36:57 +0000 (09:36 -0400)]
nit: add intern Int::rand

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoMerge branch 'parser' into wip
Jean Privat [Sun, 24 Jun 2012 20:50:28 +0000 (16:50 -0400)]
Merge branch 'parser' into wip

11 years agoparser: tokens are not constructed with their texts
Jean Privat [Sun, 24 Jun 2012 18:24:03 +0000 (14:24 -0400)]
parser: tokens are not constructed with their texts

text is made lazy and computed by Location.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoparser: add Location::text
Jean Privat [Sun, 24 Jun 2012 18:22:09 +0000 (14:22 -0400)]
parser: add Location::text

11 years agoparser: guard loops in ComputeProdLocationVisitor
Jean Privat [Sun, 24 Jun 2012 17:15:22 +0000 (13:15 -0400)]
parser: guard loops in ComputeProdLocationVisitor

Most of the time, _need arrays are empty.
So, add 'if' to do the work only if there is work to do.

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoparser: get the state number only once per state
Jean Privat [Sun, 24 Jun 2012 17:11:19 +0000 (13:11 -0400)]
parser: get the state number only once per state

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agonitg: autoadapt can combine nullable
Jean Privat [Tue, 19 Jun 2012 20:52:49 +0000 (16:52 -0400)]
nitg: autoadapt can combine nullable

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoMerge branch 'boehm' into wip
Jean Privat [Mon, 18 Jun 2012 21:30:09 +0000 (17:30 -0400)]
Merge branch 'boehm' into wip

11 years agogc: gccx enable boehm by default
Jean Privat [Fri, 15 Jun 2012 17:18:22 +0000 (13:18 -0400)]
gc: gccx enable boehm by default

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agogc: default is always nitgc
Jean Privat [Fri, 15 Jun 2012 17:15:57 +0000 (13:15 -0400)]
gc: default is always nitgc

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agogc: in gccx, -lgc must appears after objects
Jean Privat [Fri, 15 Jun 2012 17:17:10 +0000 (13:17 -0400)]
gc: in gccx, -lgc must appears after objects

Signed-off-by: Jean Privat <jean@pryen.org>

11 years agoMerge branch 'alexandre/typo-in-nit-reference' into wip
Jean Privat [Fri, 15 Jun 2012 14:28:44 +0000 (10:28 -0400)]
Merge branch 'alexandre/typo-in-nit-reference' into wip

11 years agodoc: Typo in Nit Reference
Alexandre Terrasa [Wed, 13 Jun 2012 14:14:16 +0000 (10:14 -0400)]
doc: Typo in Nit Reference

Signed-off-by: Alexandre Terrasa <alexandre@moz-concept.com>

11 years agoMerge branch 'alexis/ni-fixes' into wip
Jean Privat [Fri, 8 Jun 2012 00:30:23 +0000 (20:30 -0400)]
Merge branch 'alexis/ni-fixes' into wip

11 years agonits: execute only if module is really hybrid
Alexis Laferrière [Sat, 24 Mar 2012 23:12:05 +0000 (19:12 -0400)]
nits: execute only if module is really hybrid

It can now be called on a set of modules without creating useless files.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

11 years agonits: cleans up the generated stub implementation function for easier diffs
Alexis Laferrière [Wed, 6 Jun 2012 04:01:28 +0000 (00:01 -0400)]
nits: cleans up the generated stub implementation function for easier diffs

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

11 years agonits: corrects the #endif position to the bottom of the generated header
Alexis Laferrière [Wed, 6 Jun 2012 03:58:23 +0000 (23:58 -0400)]
nits: corrects the #endif position to the bottom of the generated header

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>

11 years agotests: adds test for ni optimizations
Alexis Laferrière [Wed, 6 Jun 2012 21:48:38 +0000 (17:48 -0400)]
tests: adds test for ni optimizations

Makes sure even the optimized extern methods are valid.
In this test borth methods are optimized but still uses what
is legal.

Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>