Jean Privat [Thu, 27 Mar 2014 20:34:41 +0000 (16:34 -0400)]
benchs: add --inline-some-methods and --direct-call-monomorph to bench_nitg-s_options-faster
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 27 Mar 2014 20:36:06 +0000 (16:36 -0400)]
benchs: add --no-gcc-directive to bench_nitg-s_options-slower
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 27 Mar 2014 18:37:45 +0000 (14:37 -0400)]
benchs: protect mangle groups of options in `bench_nitg*_options`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 27 Mar 2014 20:33:56 +0000 (16:33 -0400)]
nitgs: add --direct-call-monomorph and --inline-some-methods
These code-generation-level global optimizations allow the separate
compiler to:
* first, use a direct call, instead of a VFT call when RTA gives inform
that a callsite is monomorph (and that the receiver is a nonnull
non parametric type)
* second, to inline static call when the mmethoddef is tagged accordingly
(we reuse the `can_inline` service of the global compiler)
**DISCLAMER**
The point of these optimizations is to evaluate some extreme optimizations,
thus to bound the gain of much less aggressive optimizations.
Real direct call and inlining optimizations SHOULD be applied on the AST
or (some intermediate code level) to be combinable with other optimizations.
Some numbers for `nitg --separate nitg.nit`:
# base (no option)
total number of invocations: 45833
invocations by VFT send: 34556 (75.39%)
invocations by direct call: 9955 (21.72%)
invocations by inlinning: 1322 (2.88%)
user time 0m10.2s
# with --direct-call-monomorph
total number of invocations: 45833
invocations by VFT send: 9259 (20.20%)
invocations by direct call: 35199 (76.79%)
invocations by inlinning: 1375 (3.00%)
user 0m10.1s
# with --direct-call-monomorph and --inline-some-methods
total number of invocations: 46657
invocations by VFT send: 9701 (20.79%)
invocations by direct call: 26239 (56.23%)
invocations by inlinning: 10717 (22.96%)
user 0m10.0s
Discussion about the number:
Something is fishy, while there is a high reduction of VFT or direct calls,
there is no real gain in CPU time. Points to investigate:
* the optimized invocations are not in the hot path
TODO gather dynamic numbers
* my CPU is very efficient when dealing with direct call and indirect calls
TODO test on pratchett
* some issues with the measurements or with the measurer
TODO go to sleep
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 27 Mar 2014 19:34:24 +0000 (15:34 -0400)]
nitg-s: use is_intern instead of crazy AST stuff
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Mar 2014 13:39:20 +0000 (09:39 -0400)]
model: add `MMethodDef::is_intern`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 27 Mar 2014 19:29:04 +0000 (15:29 -0400)]
nitg-s: collect static statistics about the invocation mechanism used
They are displayed on `-v -v`.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 27 Mar 2014 16:58:24 +0000 (12:58 -0400)]
nitg: Use gcc special attributes and directives.
`noreturn` tags `show_backtrace` as no return
ie. `__attribute__ ((noreturn))`
`likely` tags runtime error checks with `unlikely`
ie. `__builtin_expect((x),0)`
These special C annotations can be disabled with --no-gcc-directive
The additional `--no-gcc-directive correct-likely` invert the
`__builtin_expect` target.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 27 Mar 2014 01:04:53 +0000 (21:04 -0400)]
Merge: Callgraph
Quick patches so that RTA can give two new pieces of information.
1. what are the live CallSites? `RTA::live_callsites`
2. for each live CallSite, what are the live targets (MMethodDef) `RTA::live_targets`
Pull-Request: #369
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Reviewed-by: Alexandre Terrasa <alexandre@moz-code.org>
Jean Privat [Wed, 26 Mar 2014 23:55:49 +0000 (19:55 -0400)]
Merge: Fix ffi null service
With nitg-g, the linker could fail when the same two piece of code will be in distinct files,
since the #ifndef trick does not cross compilation units.
This merge is just a workaroud where we use a global flag to avoid multiple definition.
While it works (thus is an improvement) it is ugly and broke the separate compilation concerns.
Pull-Request: #368
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Wed, 26 Mar 2014 19:25:36 +0000 (15:25 -0400)]
Merge: More on Pipeline
Pull-Request: #362
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Wed, 26 Mar 2014 19:01:57 +0000 (15:01 -0400)]
tests: update sav/nitmetrics_args1.res for RTA-callsite info
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 26 Mar 2014 18:39:47 +0000 (14:39 -0400)]
metrics/rta: add callsite_info to display things
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 26 Mar 2014 18:25:24 +0000 (14:25 -0400)]
rta: add live_callsites and live_callsites
In a callgraph it is useful to be able to compute the live target of any
callsite
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 26 Mar 2014 18:21:42 +0000 (14:21 -0400)]
callsite: add `mmodule` and `anchor` to the callsite objects
This simplify the job of its users since more model information is
available.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 26 Mar 2014 13:32:52 +0000 (09:32 -0400)]
compiler_ffi: factorize code in compile_extern_helper_functions
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 26 Mar 2014 13:32:09 +0000 (09:32 -0400)]
compiler_ffi: ifndef does not protect multiple definition of symbols
`#ifndef` trick can work on the compiler, but not on the linker.
Do not use buggy pragma to protect multiple definition
Jean Privat [Mon, 24 Mar 2014 18:56:57 +0000 (14:56 -0400)]
lib/pipeline: add basic functional-like filer processing (map&select)
Because Nit is not functional, worse, there is no anonymous classes, the
use is complex.
However, I tried to have the syntax as light as it could be currently.
I still suspect that for most cases, a `for` loop can perform
enough map&select style. Therefore, consider this commit as an
experimentation.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 25 Mar 2014 19:08:29 +0000 (15:08 -0400)]
Merge: check signature visibility
A public API property cannot expose a private type.
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Tue, 25 Mar 2014 13:49:37 +0000 (09:49 -0400)]
tests: add base_prot_sig to test usage of private type in public signature
There is a lot of tests because there is a lot of combination...
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 25 Mar 2014 13:46:24 +0000 (09:46 -0400)]
modelize_property: check that public properties only contains public types
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 25 Mar 2014 13:46:10 +0000 (09:46 -0400)]
metrics: type phase attributes with Phase instead of private subclasses
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 25 Mar 2014 12:31:26 +0000 (08:31 -0400)]
model_viz: privatize linex_comparator
Because LinexComparator is private and the attribute
is only used as a cache.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 25 Mar 2014 12:30:29 +0000 (08:30 -0400)]
lib/coll: remove private types from public signatures
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 24 Mar 2014 19:03:09 +0000 (15:03 -0400)]
Merge: Easy entry point for student
Simplify the entry point for new contributor of the tools.
4th (and last) of the #353 series.
Pull-Request: #353
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Mon, 24 Mar 2014 18:59:55 +0000 (14:59 -0400)]
Merge: Process mainmodule and mmodules
improve `ModelBuilder::run_global_phases` and `Phase::process_mainmodule`.
Better API when more that one module is given (with an implicit bottom-module).
The 3rd PR of the #353 series
Pull-Request: #357
Reviewed-by: Lucas Bajolet <r4pass@hotmail.com>
Jean Privat [Mon, 24 Mar 2014 17:44:19 +0000 (13:44 -0400)]
lib: modify lib/pipeline to work on iterators instead of collection
* Methods in `pipeline` are difficult to use because they are lazy.
* They are highly generic and return a abstract return type, thus
having them in Collection lead to strange API, like `[1,2,3].head(2)` that
is not an Array.
* Because they are in Collection, all standard class like Array show them
in their documentation, confusing beginners.
Moving all pipeline functions on Iterator solve these problems.
This basically reverts commit
c0316e522d0d8053c0fb155bf1fbd14979a12202.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 24 Mar 2014 17:44:47 +0000 (13:44 -0400)]
lib/curl: remove dep. en `pipeline`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 24 Mar 2014 14:44:11 +0000 (10:44 -0400)]
Merge: Toolcontext process options
improve `ToolContext::process_options`.
This factorizes code and reduces the number of buggy corner-case
The second PR of the #353 series
Pull-Request: #356
Jean Privat [Mon, 24 Mar 2014 14:39:22 +0000 (10:39 -0400)]
merge: Reactivate networg debug
Rename and reactivate the network debogger
First step of the PR series #353
Pull-Request: #355
Jean Privat [Fri, 21 Mar 2014 18:45:57 +0000 (14:45 -0400)]
Merge branch 'doc_stdlib_some_more'
Jean Privat [Fri, 21 Mar 2014 17:33:22 +0000 (13:33 -0400)]
Merge branch 'html_add_outer'
Johann Dubois [Wed, 29 Jan 2014 19:43:24 +0000 (14:43 -0500)]
lib/html: add method add_outer
closes #233
signed-off-by: Johann Dubois <johann.dubois@outlook.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 17:21:05 +0000 (13:21 -0400)]
Merge branch 'doc_for_FileStat'
Johann Dubois [Wed, 29 Jan 2014 19:49:31 +0000 (14:49 -0500)]
lib/file: Add comments in FileStat
closes #234
signed-off-by: Johann Dubois <johann.dubois@outlook.com>
Jean Privat [Fri, 21 Mar 2014 15:43:09 +0000 (11:43 -0400)]
lib/environ: more documentation and nitunit tests
Fixes #209
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 15:41:58 +0000 (11:41 -0400)]
lib/string_search: more documentation and nitunit tests
Fixes #186
Fixes #218
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 15:32:37 +0000 (11:32 -0400)]
lib/file: more documentation and nitunit tests
Fixes #160
Fixes #161
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 14:31:20 +0000 (10:31 -0400)]
lib/file: document and fix `file_extension`
Also remove the redundant (thus useless) test file.
Fixes #160
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 03:10:13 +0000 (23:10 -0400)]
tests: add src/test_test_phase
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 02:56:07 +0000 (22:56 -0400)]
metrics/generate_hier: project_hierarchy.dot use given_mmodules
Instead of using the first loaded project
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 02:06:29 +0000 (22:06 -0400)]
toolcontext: `process_options` require arguments.
Having it to access directly `sys.args` broke some isolation concerns.
This commit also updates all tools to avoid breakage.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Mar 2014 21:17:07 +0000 (17:17 -0400)]
src: new example tool test_test_phase.nit
This module could be shown to first-time contributors (like students)
that need to implement some proof of concept.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 02:47:23 +0000 (22:47 -0400)]
modelbuilder: add parameter `given_mmodules` to `Phase::process_mainmodule`
`given_modules` is the list of explicitely requested modules.
From the command-line for instance.
Thus, global phases can chose to work with the bottom main module or
with each specific given modules.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 01:58:27 +0000 (21:58 -0400)]
tests: update sav/ for tools
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Mar 2014 21:09:53 +0000 (17:09 -0400)]
test_phase: provide a simpler way to implement POC of nit tools
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 02:34:29 +0000 (22:34 -0400)]
modelbuilder: `run_global_phases` takes an array of modules
Instead of a single module.
Thus it can creates itself the implicit bottom module if required.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 01:56:40 +0000 (21:56 -0400)]
src: update tools to the new toolcontext helpers on option processing
Specify a tooldescription
Get rid of manual management of most arguments error
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Mar 2014 21:14:24 +0000 (17:14 -0400)]
tests: add src/test_phase
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 03:24:44 +0000 (23:24 -0400)]
makefile: doc/nitc/index.html includes test_*
Also, old names of nitdbg_* are removed.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 00:47:29 +0000 (20:47 -0400)]
toolcontext: add the flag `accept_no_arguments`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 01:14:19 +0000 (21:14 -0400)]
makefile: build nitdbg_* tools
Because the ffi works again!
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 00:45:00 +0000 (20:45 -0400)]
toolcontext: process_option honors --help, --version and checks options errors
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 13:21:35 +0000 (09:21 -0400)]
nitdbg_client: exit if not connected (instead of getting a SIGPIPE)
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 00:43:20 +0000 (20:43 -0400)]
toolcontext: add `usage` and `tooldescription`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 13:20:55 +0000 (09:20 -0400)]
nitg: catch SIGPIPE as a runtimeerror
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 01:13:02 +0000 (21:13 -0400)]
src: rename `dbgcli` and `netdbg` as `nitdbg_{client,server}`
the `nit` prefix is reserved for commands.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 01:01:08 +0000 (21:01 -0400)]
src: rename `nitdbg_commons` as `debugger_commons`
the `nit` prefix is reserved for commands.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 21 Mar 2014 00:50:26 +0000 (20:50 -0400)]
src: rename `nit_version.nit` as `version.nit`
the `nit` prefix is reserved for commands.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Mar 2014 21:54:55 +0000 (17:54 -0400)]
Merge branch 'doc_on_collection'
Jean Privat [Thu, 20 Mar 2014 21:54:02 +0000 (17:54 -0400)]
Merge branch 'module_paths'
This series improve the way the loader identify path.
Now, directories and global projects (those in the NIT_PATH or from -I)
can be loaded
Thus, you can write
~~~
$ nitg mytool.nit -m android
~~~
A new tool, `nitls` exposes path identifications to the user than now
can list source files, projects, and both in a tree only by looking at
the file system (no parsing or whatever)
Eg. what are the projects in the directory lib (-k ignore non nit
things)
~~~
$ src/nitls lib/* -k
lib/a_star.nit
lib/android.nit
lib/base64.nit
lib/bcm2835.nit
lib/bucketed_game.nit
lib/console.nit
lib/counter.nit
lib/cpp.nit
lib/csv.nit
lib/curl
lib/curses
lib/dummy_array.nit
lib/egl.nit
lib/filter_stream.nit
lib/for_abuse.nit
lib/glesv2.nit
lib/gpio.nit
lib/gtk.nit
lib/gtk3_4
lib/gtk3_6
lib/gtk3_8
lib/html.nit
lib/json
lib/json_serialization.nit
lib/jvm.nit
lib/md5.nit
lib/mnit
lib/mnit_android
lib/mnit_linux
lib/more_collections.nit
lib/mpd.nit
lib/nitcc_runtime.nit
lib/opts.nit
lib/ordered_tree.nit
lib/pipeline.nit
lib/poset.nit
lib/posix_ext.nit
lib/privileges.nit
lib/realtime.nit
lib/scene2d.nit
lib/serialization.nit
lib/signals.nit
lib/simple_json_reader
lib/socket
lib/sqlite3
lib/standard
lib/symbol.nit
lib/template.nit
lib/x11.nit
~~~
All stuff from standard in a tree
~~~
$ nitls lib/standard/ -r -t
standard
|--collection
| |--lib/standard/collection/abstract_collection.nit
| |--lib/standard/collection/array.nit
| |--lib/standard/collection/collection.nit
| |--lib/standard/collection/hash_collection.nit
| |--lib/standard/collection/list.nit
| |--lib/standard/collection/range.nit
| `--lib/standard/collection/sorter.nit
|--lib/standard/environ.nit
|--lib/standard/exec.nit
|--lib/standard/file.nit
|--lib/standard/gc.nit
|--lib/standard/kernel.nit
|--lib/standard/math.nit
|--lib/standard/posix.nit
|--lib/standard/ropes.nit
|--lib/standard/standard.nit
|--lib/standard/stream.nit
|--lib/standard/string.nit
|--lib/standard/string_search.nit
`--lib/standard/time.nit
~~~
Conflicts:
tests/testfull.sh
Jean Privat [Thu, 20 Mar 2014 09:44:42 +0000 (05:44 -0400)]
tests: do not use now-private classes
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Mar 2014 09:15:16 +0000 (05:15 -0400)]
lib/coll: make private some specific implementations of interfaces
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Mar 2014 09:14:07 +0000 (05:14 -0400)]
lib/coll: make CoupleMapIterator private
Thus introduce a protected service `CoupleMap::couple_iterator` to
factorise the instantiation.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Mar 2014 09:10:52 +0000 (05:10 -0400)]
lib/coll: generalize `insert` in Sequence
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Mar 2014 09:04:07 +0000 (05:04 -0400)]
lib/coll: move *index_of* in Sequence
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Mar 2014 01:23:18 +0000 (21:23 -0400)]
lib: document abstract_collection + nitunit tests
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 20 Mar 2014 20:24:58 +0000 (16:24 -0400)]
Merge branch 'model_entity'
Basically, this adds a super-class MEntity and a class MDoc in model.
Now, tools that need to deal with abstractions of entities and with
documentation could be simplified.
Jean Privat [Thu, 20 Mar 2014 01:40:00 +0000 (21:40 -0400)]
lib/array: fix AbstractArray::unshift
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Mar 2014 20:00:46 +0000 (16:00 -0400)]
tests: add and update test_markdown
A old version of sav/test_markdown.res existed but was not executed
by fulltest.sh
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Mar 2014 19:56:56 +0000 (15:56 -0400)]
test_markdown: adapt to MDoc
and update to the new lib/html API
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Mar 2014 19:56:03 +0000 (15:56 -0400)]
nitx: adapt to MDoc
all `modelbuilder.mthing2nthing` have disappeared.
However, the new MEntity class still need to be used to factorize code.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Mar 2014 19:53:05 +0000 (15:53 -0400)]
nitunit: adapt do MDoc
Quite simple indeed.
Since the point is just to collect pieces of code, the walk on the AST is
still the best path.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Mar 2014 19:51:43 +0000 (15:51 -0400)]
nitdoc: adaptation for MDoc
The adaptation is minimal.
I tried to write a more complete adaptation but a in-depth rewriting
could be more useful since the new classes MEntity and MDoc should really
simplify things.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Mar 2014 19:48:34 +0000 (15:48 -0400)]
markdown: work on MDoc (instead of ADoc)
This commit broke the clients nitdoc, nitunit, and nitx.
The next commits will fix them (hopefully).
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Mar 2014 19:41:55 +0000 (15:41 -0400)]
modelbuilder: fill the `mdoc` of entities
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Mar 2014 19:40:52 +0000 (15:40 -0400)]
model: add module `model/mdoc` to attach optional MDoc to model entities
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Mar 2014 18:50:33 +0000 (14:50 -0400)]
model: add `MEntity` as a superclass for model entities (ie. most classes in model)
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Mar 2014 18:48:59 +0000 (14:48 -0400)]
lib/html: add a lot of nitunit tests
Also fix a bug related to the css `style` attribute thanks to those tests!
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Mar 2014 18:47:22 +0000 (14:47 -0400)]
Merge remote-tracking branch 'alexis/various-ffi-fixes'
Alexis Laferrière [Sat, 15 Mar 2014 15:04:06 +0000 (11:04 -0400)]
android: make apps fullscreen
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Sat, 15 Mar 2014 15:03:48 +0000 (11:03 -0400)]
android: cleanup indentation in generation of xml files
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Wed, 19 Mar 2014 13:46:47 +0000 (09:46 -0400)]
nitls: add -M option do list dependencies
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 19 Mar 2014 12:55:04 +0000 (08:55 -0400)]
Merge remote-tracking branch 'alexis/more-jvm'
Jean Privat [Tue, 18 Mar 2014 19:42:15 +0000 (15:42 -0400)]
tests: update error_mod_unk.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Mar 2014 19:04:33 +0000 (15:04 -0400)]
Makefile: rule `doc/stdlib/index.html` use `nitls` instead of `find`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Mar 2014 19:03:11 +0000 (15:03 -0400)]
Makefile: build nitls
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Mar 2014 19:00:32 +0000 (15:00 -0400)]
tests: add nitls
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Mar 2014 18:59:40 +0000 (14:59 -0400)]
src: new tool nitls
Simple tool to list nit source files in directories.
The tool is really fast since it does not load files, just look at the
structure of files and directories.
There is a bunch of cool options, try it.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Mar 2014 18:44:51 +0000 (14:44 -0400)]
modelbuilder: add `MGroup::module_paths` to store potential nit files
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Mar 2014 18:44:17 +0000 (14:44 -0400)]
modelbuilder: `identify_file` works with directories and module names
* `cvs` will get `../lib/csv.nit`
* `curl` will get `../lib/curl/curl.nit`
* `some/path/` could get `some/path/path.nit`
This enable some fun the the option `-m`:
$ nitg someprog.nit -m android
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Mar 2014 18:30:48 +0000 (14:30 -0400)]
modelbuilder: extract `search_module_in_paths` from `get_mmodule_by_name`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Mar 2014 18:29:29 +0000 (14:29 -0400)]
modelbuilder: get_mmodule_by_name only output lookpaths instead of tries
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Mar 2014 18:25:27 +0000 (14:25 -0400)]
lib/kernel: add `Bool::to_i`
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 18 Mar 2014 16:58:18 +0000 (12:58 -0400)]
Merge branch 'streamable'
Alexis Laferrière [Tue, 18 Mar 2014 15:21:13 +0000 (11:21 -0400)]
tests: add errors to the jvm tests
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Tue, 18 Mar 2014 15:09:13 +0000 (11:09 -0400)]
tests: test JavaVM::destroy and ::env
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Alexis Laferrière [Fri, 14 Mar 2014 19:10:48 +0000 (15:10 -0400)]
tests: improve error handling in test_jvm
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Jean Privat [Tue, 18 Mar 2014 15:05:40 +0000 (11:05 -0400)]
Merge branch 'comparators'
Jean Privat [Tue, 18 Mar 2014 15:05:25 +0000 (11:05 -0400)]
Merge branch 'file_string'