Jean-Sebastien Gelinas [Fri, 7 Jan 2011 21:21:56 +0000 (16:21 -0500)]
tests: add nitc test
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Jean-Sebastien Gelinas [Fri, 7 Jan 2011 08:17:06 +0000 (03:17 -0500)]
logs: add log information to the getter/setter inlining optimization
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Jean-Sebastien Gelinas [Fri, 7 Jan 2011 19:18:11 +0000 (14:18 -0500)]
logs: fix logging feature, was crashing because of missing visibility tests
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Jean-Sebastien Gelinas [Fri, 21 Jan 2011 19:41:29 +0000 (14:41 -0500)]
misc: add lib/*.log and lib/*.dot to .gitignore
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Jean-Sebastien Gelinas [Fri, 21 Jan 2011 19:39:47 +0000 (14:39 -0500)]
misc: merge src/.gitignore to repository root
Jean-Sebastien Gelinas [Fri, 7 Jan 2011 05:52:33 +0000 (00:52 -0500)]
compatibility: fix compiler warning about size_t on some system
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Jean Privat [Wed, 22 Sep 2010 01:51:11 +0000 (21:51 -0400)]
Merge remote branch 'boa/pu/optimize_parser' into wip
Jean Privat [Wed, 22 Sep 2010 01:46:30 +0000 (21:46 -0400)]
parser: factorize reduce actions
The fact_parser script postprocesses the generated parser.nit and
factorizes the ReduceAction classes.
Before factorization: 605 classes
After factorization: 355 classes
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 26 Jul 2010 20:40:39 +0000 (16:40 -0400)]
lib: keys in maps and sets are not nullable
This removes some unsafe code and prepare for a potential strictier nullabe type
implementation.
Signed-off-by: Jean Privat <jean@pryen.org>
# Conflicts:
#
# lib/standard/collection/hash_collection.nit
Jean Privat [Thu, 22 Jul 2010 17:12:36 +0000 (13:12 -0400)]
lib: fix ArrayMap::first
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 6 Aug 2010 16:45:55 +0000 (12:45 -0400)]
tests: add base_orelse.nit
Commit
33928a213274ee42ea341113c746a064da3f6bf4 added the sav-files without
the test file.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 4 Aug 2010 16:30:43 +0000 (11:30 -0500)]
parser: do not write the goto address in the generated action
Store the number in an attribute of the ReduceAction classes.
This is necessary for the factorisation of actions.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 4 Aug 2010 14:35:27 +0000 (09:35 -0500)]
parser: add Parser::concat to factorize code
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 4 Aug 2010 17:43:34 +0000 (13:43 -0400)]
parser: reduce some automatic inlining
* readable and writable with automatic opt
* stmtsn = stmts + n
* noend -> nolabel
* remove methid~noassign variant
* remove propdefs_tail
Currently, the only automatic inlining that remains are:
* PRedef
* PRecv
* PImplicitTopClass
* PRecvNopar
* PRecvNobra
Before:
* maketime=1m35s
* parser_tables.nit=492KB
* parser.nit=1.3MB
* nb reduceactions=1199
After:
* maketime=28s
* parser_tables=251KN
* parser.nit=501KB
* nb reduceactions=664
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 26 Jul 2010 19:01:36 +0000 (15:01 -0400)]
misc: add *.log and *.dot to .gitignore
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 16 Jul 2010 16:56:13 +0000 (12:56 -0400)]
Merge branch 'hash_optimisations' into wip
Jean Privat [Fri, 16 Jul 2010 16:55:18 +0000 (12:55 -0400)]
compile: filter some loops in program icode generation
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 16 Jul 2010 03:41:47 +0000 (23:41 -0400)]
metamodel: use HashSets instead of Arrays
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 16 Jul 2010 03:40:40 +0000 (23:40 -0400)]
lib: hash_collection learns the standard hashmap implementation
The standard hashmap implementation use array with chained nodes (bucklets).
The previous implementation triggers patological case with a near O(n)
complexity.
Warm bootstrap shows an improvement from 0m21.217s to 0m18.613s.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 16 Jul 2010 03:32:27 +0000 (23:32 -0400)]
lib: reduce acces to _array in hash_collection
Add helper functions and refactorize some code
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 13 Jul 2010 21:04:41 +0000 (17:04 -0400)]
lib: direct key access in HashMap and HashSet
Improve HashMap efficiency by acceding the key of HashNodes directely.
HashMapNode is no more a Couple and HashMap is no more a CoupleMap.
rought figures show a small speed improvement:
$ time ./nitc -v -W -p 2 nitc
avant: 1m15.061s
apres: 1m10.424s
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 28 Jun 2010 12:32:02 +0000 (08:32 -0400)]
Merge branch 'syntax_flow_and_scope' into wip
Jean Privat [Mon, 28 Jun 2010 12:31:56 +0000 (08:31 -0400)]
Merge branch 'valgrind_script' into wip
Jean Privat [Thu, 24 Jun 2010 06:22:37 +0000 (02:22 -0400)]
tools: add a valgrind helper script
The script call valgrind with the right options to disable the GC and
avoid loops.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 18 Jun 2010 18:53:07 +0000 (14:53 -0400)]
syntax: merge ScopeContext and EscapeContext
and reorganize the related modules modules
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 18 Jun 2010 17:01:52 +0000 (13:01 -0400)]
syntax: split the VariableContext into a Scope and a Flow context
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 18 Jun 2010 00:10:43 +0000 (20:10 -0400)]
syntax: new enter_visit_block helper function
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 18 Jun 2010 00:10:13 +0000 (20:10 -0400)]
syntax: new mark_unreash helper function
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 17 Jun 2010 08:03:45 +0000 (04:03 -0400)]
syntax: factorize some block/loop structures
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 15 Jun 2010 13:11:25 +0000 (09:11 -0400)]
syntax: new "or else" construction
where
var c = x or else y
is (roughly) equivalent to
var c = x
if c == null then c = y
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 11 Mar 2010 16:42:00 +0000 (11:42 -0500)]
syntax: "super" is a synonym of "special"
Nit syntax is declarative with nouns.
Examples:
"class X" -> X is a class
"fun x" -> x is a function of the class
"var _x" -> _x is an instance variable of the class
"init x" -> x is a constructor of the class
Therefore, it can make sense that the declaration
of superclasses use the same scheme.
"super Y" -> Y is a superclass of the class
instead of the current
"special Y" -> the class specializes Y
(or the class is a special kind of Y)
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 10 Feb 2010 21:49:54 +0000 (16:49 -0500)]
icode: link INative with a MMMethod instead of a raw C code
syntax/icode_generation.nit is made cleaner since all the C stuff is
now done in compiling/compiling_icode.nit
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 10 Feb 2010 17:52:16 +0000 (12:52 -0500)]
metamodel: move the extern name of a method in the metamodel
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 10 Feb 2010 15:45:31 +0000 (10:45 -0500)]
icode: add I*Value classes
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 9 Feb 2010 22:07:38 +0000 (17:07 -0500)]
compile: declare NEW_NativeArray in nit_common.h
Thus simplify compiling_global::MMLocalClass::declare_tables_to_c
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 5 Feb 2010 15:33:45 +0000 (10:33 -0500)]
compile: add class compiling::CProgram to manage generated files
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 29 Jan 2010 20:13:59 +0000 (15:13 -0500)]
compile: use writers in icode compilation
Remove superstrings and other kinds of string concatenations.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 29 Jan 2010 20:08:06 +0000 (15:08 -0500)]
compile: add module compiling_writer to replace CContext
It will helps to make the code generation more flexible and more efficient.
However, this patch does not change the generated C.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 9 Feb 2010 22:31:20 +0000 (17:31 -0500)]
tools: nc kill showerr on TERM/INT
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 27 Jan 2010 18:05:11 +0000 (13:05 -0500)]
gc: rewrite for efficiency
* Major code clean
* Do only one pass (was 2 in the worst case)
* Map gc block to the page size
* Free the inactive heap
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 27 Jan 2010 16:55:00 +0000 (11:55 -0500)]
gc: new NIT_GC_OPTION 'malloc'
Used to have a genuine malloc thing that can be valginded.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 26 Jan 2010 18:53:09 +0000 (13:53 -0500)]
syntax: refuse return in default closure definition
Such a return can be seen ambiguous.
Users have to use break or continue.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 22 Jan 2010 22:27:38 +0000 (17:27 -0500)]
metamodel: lazily compute global properties
has_global_property and has_global_property_by_name perform a look-up
global_properties calls inherit_global_properties if needed
inherit_global_properties is made private
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 22 Jan 2010 22:11:18 +0000 (17:11 -0500)]
syntax: do not inherit and check all local properties
In Nit, the majority of conflicts are silent.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 21 Jan 2010 21:30:21 +0000 (16:30 -0500)]
analysis: improve alocate_register_slots
Use better data structure (no more hash*) and detect loop/closure nesting.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 21 Jan 2010 21:27:27 +0000 (16:27 -0500)]
analysis: simplify icode inlining
Permit unbounded nested inlining. The only restriction is that an
iroutine cannot be inlined in itself.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 19 Jan 2010 13:44:09 +0000 (08:44 -0500)]
analysis: inline Int::enumerate_*
They should have been inlined a long time ago.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 18 Jan 2010 18:13:50 +0000 (13:13 -0500)]
syntax: type error when using superstrings with nullables
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 18 Jan 2010 18:13:21 +0000 (13:13 -0500)]
syntax: fix code using superstrings with nullables
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 18 Jan 2010 17:09:39 +0000 (12:09 -0500)]
syntax: remove reachability test in ABreakExpr
Since unreachable statements are no more visited.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Mon, 18 Jan 2010 17:00:38 +0000 (12:00 -0500)]
syntax: do not nest variable context in ABlockExpr
They are already nested in parent nodes (in case of one-liner for instance).
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 15 Jan 2010 20:49:37 +0000 (15:49 -0500)]
syntax: allow 'null == x' and 'null != x'
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 15 Jan 2010 20:13:26 +0000 (15:13 -0500)]
syntax: track exits context in do blocks
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 15 Jan 2010 19:43:53 +0000 (14:43 -0500)]
syntax: remove VariableContex::stype=
Make VariableContext less mutable thus simplify merging code.
Fix also a type_evolution test that were wrong.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 14 Jan 2010 16:43:05 +0000 (11:43 -0500)]
syntax: stmts after loops without breaks are unreashables
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 14 Jan 2010 16:34:27 +0000 (11:34 -0500)]
syntax: prepare stmts following loops to be unreachable
Add dummy breaks and aborts in order to be able to bootstrap once
statements following loops without breaks are set unreachable.
Once c_src is updated, these dummy statements should be removed.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 13 Jan 2010 22:14:25 +0000 (17:14 -0500)]
syntax: unreachable statements are errors
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Wed, 13 Jan 2010 16:36:05 +0000 (11:36 -0500)]
tests: remove static dead code
Prepare for the error (currently it is a warning)
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 12 Jan 2010 20:31:56 +0000 (15:31 -0500)]
syntax: while/loop exit type evolution
Implementation requires that variable contexts on breaks are collected
and merged.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Tue, 12 Jan 2010 19:51:01 +0000 (14:51 -0500)]
syntax: fix type evolution on non nullable type
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 8 Jan 2010 22:09:04 +0000 (17:09 -0500)]
syntax: comparing a variable with null makes it evolve to null
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 8 Jan 2010 19:45:57 +0000 (14:45 -0500)]
syntax: merge nullable information on type evolution
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 7 Jan 2010 21:48:24 +0000 (16:48 -0500)]
syntax: prevent segfault on null types
Errors on: method calls, attribute access.
Warnings on: null-null comparisons, null casted to non nullable.
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 7 Jan 2010 19:57:02 +0000 (14:57 -0500)]
syntax: untyped local variables are 'nullable Object'
This partially reverts commit
220823e713cef8915241679a614fbfb53ddaece0
"syntax: allow untyped variable declaration".
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 8 Jan 2010 21:56:12 +0000 (16:56 -0500)]
syntax: real variable type evolution on IfexprExpr
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 8 Jan 2010 19:46:52 +0000 (14:46 -0500)]
syntax: fix variable context merge on unreashable branches
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Fri, 8 Jan 2010 22:20:48 +0000 (17:20 -0500)]
nitdoc: correctly display the package path before the package name
Signed-off-by: Jean Privat <jean@pryen.org>
Jean Privat [Thu, 7 Jan 2010 18:58:50 +0000 (13:58 -0500)]
parser: fix comment in Makefile
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Fri, 18 Dec 2009 04:13:55 +0000 (23:13 -0500)]
compile: add program arguments passed to C compiler; gcc's -l, -L, -I and -c
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Signed-off-by: Jean Privat <jean@pryen.org>
Alexis Laferrière [Fri, 18 Dec 2009 04:05:01 +0000 (23:05 -0500)]
compile: rename program argument no_cc to no-cc for consistency
Signed-off-by: Alexis Laferrière <alexis.laf@xymus.net>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Mon, 7 Dec 2009 05:10:19 +0000 (00:10 -0500)]
tests: add some basic tests for dead method removal/cha/rta
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Sat, 5 Dec 2009 21:17:25 +0000 (16:17 -0500)]
tests: rename the 'all' target to 'separate' and create a new 'all' target
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Sat, 5 Dec 2009 21:14:10 +0000 (16:14 -0500)]
tests: add a 'icode' target to the Makefile
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Sat, 5 Dec 2009 21:03:12 +0000 (16:03 -0500)]
tests: add a script to test ICode generation
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Fri, 4 Dec 2009 06:16:07 +0000 (01:16 -0500)]
compile: remove '--dump', replaced by '--output-format icode'
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Fri, 4 Dec 2009 06:14:11 +0000 (01:14 -0500)]
compile: add 'icode' as output type
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Fri, 4 Dec 2009 01:39:20 +0000 (20:39 -0500)]
icode: add a way to output icodes without line numbers and/or locations
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Thu, 3 Dec 2009 20:30:22 +0000 (15:30 -0500)]
compile: add a way to choose generated output format
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Wed, 21 Oct 2009 21:55:01 +0000 (17:55 -0400)]
analysis: add logs to dead method removal optimization
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Wed, 21 Oct 2009 21:27:16 +0000 (17:27 -0400)]
analysis: add logs for 'out of init getter tests' optimization
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Wed, 21 Oct 2009 21:22:19 +0000 (17:22 -0400)]
analysis: add 'dump_global_optimizations_information' to generate logs about optimizations
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Wed, 21 Oct 2009 21:20:18 +0000 (17:20 -0400)]
analysis: add an optimization to remove 'getter' tests when called outside an init
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Wed, 21 Oct 2009 20:05:08 +0000 (16:05 -0400)]
analysis: add implementation for reachable methods from initializers analysis
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Wed, 21 Oct 2009 19:33:33 +0000 (15:33 -0400)]
analysis: add logs for reachable from init analysis
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Wed, 21 Oct 2009 19:13:40 +0000 (15:13 -0400)]
analysis: add an analysis to know if a method/iroutine is reachable from an init
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Wed, 28 Oct 2009 03:26:47 +0000 (23:26 -0400)]
analysis: fix RTA implementation for inherited methods
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Tue, 24 Nov 2009 23:45:03 +0000 (18:45 -0500)]
analysis: add support for 'Inline__' in RTA
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Mon, 23 Nov 2009 06:00:03 +0000 (01:00 -0500)]
analysis: inline getters/setters before analysis
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Mon, 23 Nov 2009 05:09:33 +0000 (00:09 -0500)]
analysis: split optimization in two groups: pre and post analysis
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Sat, 21 Nov 2009 21:53:36 +0000 (16:53 -0500)]
analysis: add logs to reachable as init analysis
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Sat, 21 Nov 2009 20:40:50 +0000 (15:40 -0500)]
analysis: add the implementation of the reachable as initializer analysis
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Sat, 21 Nov 2009 00:34:07 +0000 (19:34 -0500)]
analysis: add an analysis to find reachable init (used as init)
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Mon, 21 Sep 2009 21:11:00 +0000 (17:11 -0400)]
compile: generate tables only for live local classes
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Tue, 24 Nov 2009 21:32:56 +0000 (16:32 -0500)]
tests: fix error_class_glob.fail
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Mon, 21 Sep 2009 21:10:06 +0000 (17:10 -0400)]
analysis: fix RTA to say that at least primitive types are always instantiated (even if we don't see a main class/method)
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Sun, 20 Sep 2009 15:06:23 +0000 (11:06 -0400)]
parser: remove useless methods from generated parser code
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Sun, 20 Sep 2009 14:50:04 +0000 (10:50 -0400)]
tools: add log information about instantiated and not instantiated types
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Fri, 18 Sep 2009 19:54:15 +0000 (15:54 -0400)]
tools: add log information about reachable and unreachable methods
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Fri, 18 Sep 2009 19:47:26 +0000 (15:47 -0400)]
compile: use 'with_each_iroutines' to go through iroutines in method removal algorithm
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>
Jean-Sebastien Gelinas [Mon, 21 Sep 2009 21:10:43 +0000 (17:10 -0400)]
analysis: refine with_each_live_local_classes in Instantiated Type Analysis since we have more information
Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>