nit.git
14 years agotools: don't print stack for tests that fail, fix saves
Jean-Sebastien Gelinas [Tue, 24 Nov 2009 06:21:03 +0000 (01:21 -0500)]
tools: don't print stack for tests that fail, fix saves

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotools: add a env. variable to remove runtime stack showing
Jean-Sebastien Gelinas [Mon, 23 Nov 2009 23:06:31 +0000 (18:06 -0500)]
tools: add a env. variable to remove runtime stack showing

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotools: add a function to go through every classes in the program
Jean-Sebastien Gelinas [Fri, 18 Sep 2009 20:47:02 +0000 (16:47 -0400)]
tools: add a function to go through every classes in the program

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotools: add a function to go through every methods in a program
Jean-Sebastien Gelinas [Fri, 18 Sep 2009 19:50:16 +0000 (15:50 -0400)]
tools: add a function to go through every methods in a program

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotools: add a function to go through every IRoutines in a program
Jean-Sebastien Gelinas [Fri, 18 Sep 2009 19:08:44 +0000 (15:08 -0400)]
tools: add a function to go through every IRoutines in a program

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: inline foreign icloscall and ihasclos
Jean Privat [Tue, 15 Sep 2009 15:22:37 +0000 (11:22 -0400)]
icode: inline foreign icloscall and ihasclos

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

14 years agonitdoc: workaround for a broken assertion
Jean Privat [Tue, 15 Sep 2009 14:53:55 +0000 (10:53 -0400)]
nitdoc: workaround for a broken assertion

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

14 years agooptimize: add a callgraph builder: RTA
Jean-Sebastien Gelinas [Thu, 20 Aug 2009 20:56:53 +0000 (16:56 -0400)]
optimize: add a callgraph builder: RTA

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agooptimize: add a callgraph builder: CHA
Jean-Sebastien Gelinas [Tue, 11 Aug 2009 18:40:15 +0000 (14:40 -0400)]
optimize: add a callgraph builder: CHA

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agooptimize: add a dead method removal optimization
Jean-Sebastien Gelinas [Thu, 13 Aug 2009 17:54:36 +0000 (13:54 -0400)]
optimize: add a dead method removal optimization

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agooptimize: add optimization basis
Jean-Sebastien Gelinas [Wed, 19 Aug 2009 18:59:07 +0000 (14:59 -0400)]
optimize: add optimization basis

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agolib: add value_name to OptionEnum to get the selected name
Jean-Sebastien Gelinas [Thu, 3 Sep 2009 20:44:33 +0000 (16:44 -0400)]
lib: add value_name to OptionEnum to get the selected name

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agotools: fix gccx with: .nit_compile[0-9] and GC
Jean-Sebastien Gelinas [Wed, 2 Sep 2009 21:33:25 +0000 (17:33 -0400)]
tools: fix gccx with: .nit_compile[0-9] and GC

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: move table computation after all global analysis
Jean-Sebastien Gelinas [Tue, 8 Sep 2009 15:30:29 +0000 (11:30 -0400)]
compile: move table computation after all global analysis

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: move some class processing to program to do it before analysis
Jean-Sebastien Gelinas [Tue, 8 Sep 2009 15:29:57 +0000 (11:29 -0400)]
compile: move some class processing to program to do it before analysis

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: remove ClassSorter, use sort with block instead
Jean-Sebastien Gelinas [Tue, 8 Sep 2009 15:28:56 +0000 (11:28 -0400)]
compile: remove ClassSorter, use sort with block instead

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: move MMLocalClass::compare to AbstractMetamodel and rename to total_order_co...
Jean-Sebastien Gelinas [Tue, 8 Sep 2009 15:27:22 +0000 (11:27 -0400)]
compile: move MMLocalClass::compare to AbstractMetamodel and rename to total_order_compare

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agolib: add Array::sort !cmp
Jean Privat [Fri, 4 Sep 2009 18:12:17 +0000 (14:12 -0400)]
lib: add Array::sort !cmp

Also add a test.

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

14 years agoparser: accepts "print a[b]"
Jean Privat [Fri, 4 Sep 2009 17:50:10 +0000 (13:50 -0400)]
parser: accepts "print a[b]"

However, why "print [a, b]" is refused remains to be investigated.

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

14 years agocompile: add command line option to disable SFT optimization
Jean-Sebastien Gelinas [Thu, 27 Aug 2009 19:59:50 +0000 (15:59 -0400)]
compile: add command line option to disable SFT optimization

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: when in global compilation, compile to _glob instead of _sep
Jean-Sebastien Gelinas [Thu, 27 Aug 2009 21:08:25 +0000 (17:08 -0400)]
compile: when in global compilation, compile to _glob instead of _sep

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: move 'global' option to program instead of compiling_base
Jean-Sebastien Gelinas [Thu, 27 Aug 2009 21:07:38 +0000 (17:07 -0400)]
compile: move 'global' option to program instead of compiling_base

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: add ToolContext to Program
Jean-Sebastien Gelinas [Thu, 27 Aug 2009 18:33:12 +0000 (14:33 -0400)]
compile: add ToolContext to Program

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: rename do_global_analysis to do_global_table_analysis
Jean-Sebastien Gelinas [Wed, 26 Aug 2009 21:04:31 +0000 (17:04 -0400)]
compile: rename do_global_analysis to do_global_table_analysis

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: move management and generation of iroutines in MMLocalClass to Program
Jean-Sebastien Gelinas [Fri, 21 Aug 2009 19:29:53 +0000 (15:29 -0400)]
compile: move management and generation of iroutines in MMLocalClass to Program

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agodoc: teach doc/advanced_options about NIT_GC_OPTION
Jean Privat [Mon, 31 Aug 2009 21:36:11 +0000 (17:36 -0400)]
doc: teach doc/advanced_options about NIT_GC_OPTION

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

14 years agomisc: remove Sci-Fi example/various/glob.nit
Jean Privat [Mon, 31 Aug 2009 21:33:27 +0000 (17:33 -0400)]
misc: remove Sci-Fi example/various/glob.nit

Will be reintroduced when needed.

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

14 years agonitdoc: show closure in signatures
Jean Privat [Mon, 31 Aug 2009 21:32:02 +0000 (17:32 -0400)]
nitdoc: show closure in signatures

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

14 years agoversion: v0.3.1-git
Jean Privat [Fri, 28 Aug 2009 17:08:35 +0000 (13:08 -0400)]
version: v0.3.1-git

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

14 years agoversion: v0.3 v0.3
Jean Privat [Fri, 28 Aug 2009 17:07:33 +0000 (13:07 -0400)]
version: v0.3

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

14 years agogc: disable boehm by default
Jean Privat [Fri, 28 Aug 2009 17:01:46 +0000 (13:01 -0400)]
gc: disable boehm by default

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

14 years agogc: add 'help' option to list all available GC
Jean Privat [Fri, 28 Aug 2009 17:00:54 +0000 (13:00 -0400)]
gc: add 'help' option to list all available GC

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

14 years agogc: show default GC on warnings
Jean Privat [Fri, 28 Aug 2009 17:00:02 +0000 (13:00 -0400)]
gc: show default GC on warnings

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

14 years agogc: default to nitgc when boehm is not available
Jean Privat [Fri, 28 Aug 2009 16:06:45 +0000 (12:06 -0400)]
gc: default to nitgc when boehm is not available

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

14 years agosyntax: warn on 'while true do' and suggests 'loop'
Jean Privat [Fri, 28 Aug 2009 15:40:39 +0000 (11:40 -0400)]
syntax: warn on 'while true do' and suggests 'loop'

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

14 years agosrc: use 'loop' for infinite loop and do-until-like
Jean Privat [Fri, 28 Aug 2009 15:40:01 +0000 (11:40 -0400)]
src: use 'loop' for infinite loop and do-until-like

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

14 years agoicode: shortcut in icode generation of 'for x in [y..z]'
Jean Privat [Wed, 26 Aug 2009 16:28:45 +0000 (12:28 -0400)]
icode: shortcut in icode generation of 'for x in [y..z]'

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

14 years agolib: add Int::enumerate_*
Jean Privat [Wed, 26 Aug 2009 15:50:10 +0000 (11:50 -0400)]
lib: add Int::enumerate_*

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

14 years agoicode: inline Array::iterate
Jean Privat [Mon, 17 Aug 2009 18:47:34 +0000 (14:47 -0400)]
icode: inline Array::iterate

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

14 years agoicode: generate closure for 'for'
Jean Privat [Fri, 14 Aug 2009 20:52:22 +0000 (16:52 -0400)]
icode: generate closure for 'for'

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

14 years agolib: add iterate methods on Collection
Jean Privat [Tue, 25 Aug 2009 16:07:00 +0000 (12:07 -0400)]
lib: add iterate methods on Collection

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

14 years agotools: activate -v and sometime -W on some commands
Jean Privat [Thu, 27 Aug 2009 17:43:21 +0000 (13:43 -0400)]
tools: activate -v and sometime -W on some commands

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

14 years agoc_src: update
Jean Privat [Thu, 27 Aug 2009 17:23:43 +0000 (13:23 -0400)]
c_src: update

This update objective is to enable new closure syntax and behavior.

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

14 years agoicode: duplicate closure declaration on ICodeN
Jean Privat [Wed, 26 Aug 2009 15:48:03 +0000 (11:48 -0400)]
icode: duplicate closure declaration on ICodeN

Just aliasing them broke the constraint that each ICode element is unique
in an IRoutine.

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

14 years agoicode: new IEscapeMark class to bind ISeq and IEscape
Jean Privat [Wed, 26 Aug 2009 14:12:16 +0000 (10:12 -0400)]
icode: new IEscapeMark class to bind ISeq and IEscape

An IRoutine knows all its local escape marks.
This fix some bugs with nesting and escapes since only marks of the
current iroutine needs to be duplicated (like what is done for registers).

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

14 years agoicode: new ICB::add_escape method
Jean Privat [Tue, 25 Aug 2009 20:04:03 +0000 (16:04 -0400)]
icode: new ICB::add_escape method

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

14 years agoicode: distinguish slots in dump
Jean Privat [Wed, 26 Aug 2009 15:39:37 +0000 (11:39 -0400)]
icode: distinguish slots in dump

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

14 years agoicode: add dump for INew and ISuper
Jean Privat [Wed, 26 Aug 2009 14:28:31 +0000 (10:28 -0400)]
icode: add dump for INew and ISuper

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

14 years agomisc: update Changelog and NOTICE; remove BUGS and TODO
Jean Privat [Tue, 25 Aug 2009 15:18:06 +0000 (11:18 -0400)]
misc: update Changelog and NOTICE; remove BUGS and TODO

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

14 years agotools: add ncall.sh script to execute nc* in order
Jean Privat [Tue, 25 Aug 2009 14:41:16 +0000 (10:41 -0400)]
tools: add ncall.sh script to execute nc* in order

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

14 years agomisc: new syntax file for GNU source-highlight
Jean Privat [Tue, 25 Aug 2009 14:40:08 +0000 (10:40 -0400)]
misc: new syntax file for GNU source-highlight

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

14 years agosyntax: break closures are implicitly ended with 'break'
Jean Privat [Mon, 24 Aug 2009 03:08:45 +0000 (23:08 -0400)]
syntax: break closures are implicitly ended with 'break'

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

14 years agosyntax: fix 'break' with value in default closures
Jean Privat [Mon, 24 Aug 2009 03:00:32 +0000 (23:00 -0400)]
syntax: fix 'break' with value in default closures

Break return type and return value is associated with the method return
type and return value.

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

14 years agosyntax: allow untyped variable declaration
Jean Privat [Thu, 20 Aug 2009 02:29:55 +0000 (22:29 -0400)]
syntax: allow untyped variable declaration

It means there is now a distinction between variables with a null static
type because of a previous error and untyped variables that also have null
static type. So introduce Variable::is_typed.

Enhance check_is_set with untyped variable verification.

Compile untyped variable as 'nullable Object' registers.

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

14 years agosyntax: assign variable even if there is no base type
Jean Privat [Thu, 20 Aug 2009 02:13:10 +0000 (22:13 -0400)]
syntax: assign variable even if there is no base type

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

14 years agolib: remove exec::kill and exec::term
Jean Privat [Wed, 19 Aug 2009 19:46:22 +0000 (15:46 -0400)]
lib: remove exec::kill and exec::term

Nobody use them now and they cause GCC warning.

Also modify c_src/exec._sep.c since a macro disapeared in lib/standard/exec_nit.h.

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

14 years agoparser: set LANG=C for sed in Makefile (the sed that rename P* -> A*)
Jean Privat [Wed, 19 Aug 2009 19:27:34 +0000 (15:27 -0400)]
parser: set LANG=C for sed in Makefile (the sed that rename P* -> A*)

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

14 years agotests: fix test_extern.nit for 64bits
Jean Privat [Wed, 19 Aug 2009 19:19:14 +0000 (15:19 -0400)]
tests: fix test_extern.nit for 64bits

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

14 years agogc: fix gc.c for 64bits
Jean Privat [Wed, 19 Aug 2009 19:13:56 +0000 (15:13 -0400)]
gc: fix gc.c for 64bits

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

14 years agolib: fix file_nit.c for 64bits
Jean Privat [Wed, 19 Aug 2009 19:08:15 +0000 (15:08 -0400)]
lib: fix file_nit.c for 64bits

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

14 years agosyntax: new 'assert else' statement
Jean Privat [Wed, 19 Aug 2009 20:52:08 +0000 (16:52 -0400)]
syntax: new 'assert else' statement

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

14 years agotools: add entrypoint information to the program
Jean-Sebastien Gelinas [Tue, 11 Aug 2009 18:45:33 +0000 (14:45 -0400)]
tools: add entrypoint information to the program

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: generate classes init iroutines sooner to insert global analysis
Jean-Sebastien Gelinas [Mon, 10 Aug 2009 16:25:11 +0000 (12:25 -0400)]
compile: generate classes init iroutines sooner to insert global analysis

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: store class related IRoutines in MMLocalClass
Jean-Sebastien Gelinas [Sat, 8 Aug 2009 17:13:52 +0000 (13:13 -0400)]
compile: store class related IRoutines in MMLocalClass

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: extract table computation from compiling_global to table_computation
Jean-Sebastien Gelinas [Wed, 5 Aug 2009 13:34:08 +0000 (09:34 -0400)]
compile: extract table computation from compiling_global to table_computation

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: remove GlobalAnalysis
Jean-Sebastien Gelinas [Tue, 4 Aug 2009 22:28:47 +0000 (18:28 -0400)]
compile: remove GlobalAnalysis

- Move 'CompiledClasses' to 'Program'
 - Rename 'GlobalAnalysis' to 'TableInformation'
 - Keep 'max_class_table_length' in 'TableInformation'

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: add 'Program' class to represent a nit program
Jean-Sebastien Gelinas [Mon, 3 Aug 2009 21:13:21 +0000 (17:13 -0400)]
compile: add 'Program' class to represent a nit program

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: if inlining is impossible, at least use a static call
Jean Privat [Wed, 19 Aug 2009 15:46:29 +0000 (11:46 -0400)]
icode: if inlining is impossible, at least use a static call

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

14 years agoicode: add IAllocateInstance, ICheckInstance and IInitAttributes
Jean-Sebastien Gelinas [Mon, 17 Aug 2009 21:11:11 +0000 (17:11 -0400)]
icode: add IAllocateInstance, ICheckInstance and IInitAttributes

Trivially-hacked-by: Jean Privat <jean@pryen.org>

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: add IStaticCall
Jean-Sebastien Gelinas [Mon, 17 Aug 2009 19:30:31 +0000 (15:30 -0400)]
icode: add IStaticCall

Trivially-hacked-by: Jean Privat <jean@pryen.org>

Signed-off-by: Jean-Sebastien Gelinas <calestar@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoicode: icode INew specializes IAbsCall (not ICall)
Jean Privat [Tue, 18 Aug 2009 23:29:51 +0000 (19:29 -0400)]
icode: icode INew specializes IAbsCall (not ICall)

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

14 years agocompile: one closure context by function, and it is the stack frame
Jean Privat [Tue, 18 Aug 2009 18:45:52 +0000 (14:45 -0400)]
compile: one closure context by function, and it is the stack frame

Closure definition directly use the stack frame of the caller to access the
closure environment (local variables, closure parameters, escape marker).
Closure function pointers are passed as separate additional arguments.

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

14 years agoclib: move REG to the stack frames
Jean Privat [Tue, 18 Aug 2009 17:05:23 +0000 (12:05 -0500)]
clib: move REG to the stack frames

It means that functions have different frame sizes.
To achieve this, each function frame ('me') is stored in a big_frame ('fra')
that contains enough space to store all the REGs.

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

14 years agoclib: rename trace_t to stack_frame_t
Jean Privat [Tue, 18 Aug 2009 17:15:39 +0000 (13:15 -0400)]
clib: rename trace_t to stack_frame_t

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

14 years agogc: superficial cleaning
Jean Privat [Tue, 18 Aug 2009 13:50:55 +0000 (09:50 -0400)]
gc: superficial cleaning

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

14 years agogc: add Nit GC
Julien Chevalier [Fri, 14 Aug 2009 18:11:04 +0000 (14:11 -0400)]
gc: add Nit GC

Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agogc: disable Boehm general malloc and calloc overtaking
Julien Chevalier [Mon, 17 Aug 2009 19:57:06 +0000 (15:57 -0400)]
gc: disable Boehm general malloc and calloc overtaking

Trivially-hacked-by: Jean Privat <jean@pryen.org>

Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoclib: new raw_alloc and register_static_object services
Jean Privat [Mon, 17 Aug 2009 19:55:21 +0000 (15:55 -0400)]
clib: new raw_alloc and register_static_object services

Currently, these services are very simples or noop.
However, alternatives GC can provide more complex ones.

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

14 years agocompile: traces know REG variables
Julien Chevalier [Fri, 14 Aug 2009 17:16:22 +0000 (13:16 -0400)]
compile: traces know REG variables

Also: ask gccx to not warn about missing initializers.

Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: initialize local REGS to NIT_NULL
Jean Privat [Fri, 14 Aug 2009 16:58:05 +0000 (12:58 -0400)]
compile: initialize local REGS to NIT_NULL

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

14 years agocompile: store instance size in class table
Julien Chevalier [Fri, 14 Aug 2009 16:49:04 +0000 (12:49 -0400)]
compile: store instance size in class table

This new information can be used by GC to visit the attributes of an object.

Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agogc: runtime option to handle different GC
Julien Chevalier [Mon, 17 Aug 2009 19:30:11 +0000 (15:30 -0400)]
gc: runtime option to handle different GC

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

Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: give NativeArray its own C structure
Julien Chevalier [Fri, 14 Aug 2009 16:02:09 +0000 (12:02 -0400)]
compile: give NativeArray its own C structure

Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agocompile: object_id is no more the object pointer
Julien Chevalier [Mon, 17 Aug 2009 19:13:06 +0000 (15:13 -0400)]
compile: object_id is no more the object pointer

Warning: now, two objects of the same class can have the same object_id.
It is unlikely, but possible.

Trivially-hacked-by: Jean Privat <jean@pryen.org>

Signed-off-by: Julien Chevalier <chevjulien@gmail.com>
Signed-off-by: Jean Privat <jean@pryen.org>

14 years agoclib: move files to the clib directory
Jean Privat [Mon, 17 Aug 2009 16:09:57 +0000 (12:09 -0400)]
clib: move files to the clib directory

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

14 years agoc_src: gives c_src its own clibdir
Jean Privat [Mon, 17 Aug 2009 15:53:56 +0000 (11:53 -0400)]
c_src: gives c_src its own clibdir

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

14 years agoclib: add copyright notice to nit_{common,main}
Jean Privat [Mon, 17 Aug 2009 15:52:32 +0000 (11:52 -0400)]
clib: add copyright notice to nit_{common,main}

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

14 years agoclib: clean spaces in nit_common.h
Jean Privat [Mon, 17 Aug 2009 15:39:28 +0000 (11:39 -0400)]
clib: clean spaces in nit_common.h

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

14 years agoc_src: copy only .o and .cksum on bootstrap
Jean Privat [Mon, 17 Aug 2009 15:22:35 +0000 (11:22 -0400)]
c_src: copy only .o and .cksum on bootstrap

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

14 years agosyntax: fatal error on unavailable primitive method
Jean Privat [Fri, 14 Aug 2009 19:33:34 +0000 (15:33 -0400)]
syntax: fatal error on unavailable primitive method

Warning: signature of primitive methods is not checked.

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

14 years agoicode: do no do recursive inline
Jean Privat [Mon, 17 Aug 2009 14:29:05 +0000 (10:29 -0400)]
icode: do no do recursive inline

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

14 years agoicode: inline methods with closures
Jean Privat [Mon, 10 Aug 2009 19:01:15 +0000 (15:01 -0400)]
icode: inline methods with closures

Warning, break of closure call cannot be inlined.

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

14 years agocompile: force inlining with special class Inline__
Jean Privat [Mon, 10 Aug 2009 18:54:41 +0000 (14:54 -0400)]
compile: force inlining with special class Inline__

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

14 years agoicode: duplicate ICodeN::closure_defs in dup_with
Jean Privat [Mon, 17 Aug 2009 18:50:01 +0000 (14:50 -0400)]
icode: duplicate ICodeN::closure_defs in dup_with

Fix issue with inlining of calls with closures.

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

14 years agoicode: use the icb to helps the icode duplication
Jean Privat [Fri, 14 Aug 2009 20:48:24 +0000 (16:48 -0400)]
icode: use the icb to helps the icode duplication

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

14 years agoicode: iroutine knows its local registers
Jean Privat [Mon, 10 Aug 2009 17:14:54 +0000 (13:14 -0400)]
icode: iroutine knows its local registers

iroutine inlining is also adapted to only duplicate local registers.

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

14 years agoicode: closures are generated within a ICodeBuilder
Jean Privat [Mon, 10 Aug 2009 17:07:26 +0000 (13:07 -0400)]
icode: closures are generated within a ICodeBuilder

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

14 years agoicode: method inlining moves from IRoutine to ICodeBuilder
Jean Privat [Mon, 10 Aug 2009 16:21:36 +0000 (12:21 -0400)]
icode: method inlining moves from IRoutine to ICodeBuilder

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

14 years agoicode: fix slot locality for params and return
Jean Privat [Tue, 11 Aug 2009 05:28:11 +0000 (01:28 -0400)]
icode: fix slot locality for params and return

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

14 years agoicode: 'IRoutine::optimize' need a module
Jean Privat [Mon, 10 Aug 2009 16:01:40 +0000 (12:01 -0400)]
icode: 'IRoutine::optimize' need a module

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