Branch: Tag:

2019-10-18

2019-10-18 18:10:47 by Marcus Comstedt <marcus@mc.pp.se>

decode_value: Handle circular dependencies between dumped and undumped code

2019-10-18 12:31:25 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Merge branch 'patches/pike221'

* patches/pike221:
Compiler: object->program_id only exists --with-debug.

2019-10-18 09:11:58 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Merge branch 'patches/pike221'

* patches/pike221:
Compiler: Make get_name_of_function() survive destructed functions.
Compiler: Improved robustness of placeholder activation.

2019-08-28

2019-08-28 09:34:10 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Fixed memory leak for generators.

Fixes [CID 1452817].

2019-08-25

2019-08-25 14:39:40 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Make sure that generator variables are propagated.

Mark all variables in a generator as USED_IN_SCOPE so that
they actually get propagated to the generator.

Also: Save the generator state variable in compiler_frame, so
that it is easily accessible from the code-generator.

2019-08-23

2019-08-23 13:52:01 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [WIP]: Experimental implementation of support for generators.

NB: The code is known to be broken, and the approach is likely to be
changed.

WORK IN PROGRESS!

DO NOT USE!

Do NOT merge into any branches that are likely to be merged into main line!

2019-08-18

2019-08-18 12:26:20 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Runtime: Modified struct pike_frame.

The field save_sp_offset (which was an offset from locals) is replaced
by a proper pointer save_sp. This is in preparation to allow for the
locals pointer pointing somewhere else than the stack. This also fixes
a potential issue where the interpreter might crash on some cases of
very deep recursion.

2019-07-11

2019-07-11 09:55:33 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Warn about indexing of deprecated values.

2019-05-12

2019-05-12 21:43:44 by Tobias S. Josefowitz <tobij@tobij.de>

Compiler: export current_{line,file}

2019-05-12 21:43:44 by Tobias S. Josefowitz <tobij@tobij.de>

Compiler: Export state of no_deprecation_warnings

... in the active compilation to Pike.

2019-05-04

2019-05-04 09:12:19 by Arne Goedeke <el@laramies.com>

Merge remote-tracking branch 'origin/master' into new_utf8

2019-03-13

2019-03-13 12:03:26 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Removed some debug output.

2019-03-11

2019-03-11 16:40:50 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Pike.Annotations.Override: Fixed handling of private symbols.

Fixed multiple issues:

* Only look in the direct inherits.

* We are looking at the references in the inherited program,
NOT in its copy in the program being compiled, so private
symbols have not yet been fully hidden from view.

Fixes testsuite failure.

2019-03-09

2019-03-09 12:24:31 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Pike.Annotations: Added Override annotation.

This annotation verifies that the annotated symbol also
exists in one of the inherited programs.

2019-03-07

2019-03-07 16:28:55 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Pike.Annotations: Added some lfun::_sprintf()'s.

2019-02-19

2019-02-19 11:52:27 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Remove debug code remnant.

Enable the code in the previous commit.

2019-02-19 10:57:15 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Fixed issues with code generation for safe indexing.

Fixes multiple testsuite failures.

2019-02-16

2019-02-16 08:56:13 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Generate debug info for local variables.

2019-02-09

2019-02-09 11:55:20 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Make some Annotation-related symbols PMOD_EXPORT.

2019-02-07

2019-02-07 15:02:50 by William Welliver <william@welliver.org>

Merge branch 'grubba/wop-local-variables-debug-info' into bill/debugger-concept

2019-02-07 09:51:52 by Henrik Grubbström (Grubba) <grubba@grubba.org>

WIP: Local variables debug info.

2019-02-07 09:04:57 by Henrik Grubbström (Grubba) <grubba@grubba.org>

WIP: Local variables debug info.

2019-02-06

2019-02-06 22:24:08 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Preparations for removing handlers from the compiler.

2019-02-06 22:22:42 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Changed storage for self ref in supporters.

2019-02-06 22:17:42 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Inherit annotations are now stored in a multiset.

This is a more natural representation of a set of annotations.

2019-02-06 22:17:41 by Marcus Comstedt <marcus@mc.pp.se>

Compiler: Fix handling of -V8.0

Trying to create a compilation for Pike version X.0 created one for
X.-1 instead. Fix this.

2019-02-06 18:53:39 by Henrik Grubbström (Grubba) <grubba@grubba.org>

WOP: Local variables debug info.

2019-01-05

2019-01-05 12:19:05 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Preparations for removing handlers from the compiler.

2018-12-22

2018-12-22 14:14:45 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Changed storage for self ref in supporters.

2018-12-15

2018-12-15 13:34:05 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Inherit annotations are now stored in a multiset.

This is a more natural representation of a set of annotations.

2018-12-05

2018-12-05 22:07:16 by Marcus Comstedt <marcus@mc.pp.se>

Compiler: Fix handling of -V8.0

Trying to create a compilation for Pike version X.0 created one for
X.-1 instead. Fix this.

2018-12-03

2018-12-03 02:23:15 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Removed some debug code.

2018-12-02

2018-12-02 08:03:29 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Removed some debug code.

2018-11-30

2018-11-30 17:45:37 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Pike.Annotations.AutoCodec: New annotation.

This annotation causes a suitable _encode() function to be generated
in the annotated class if the class uses the implicit create() syntax.

2018-11-30 11:22:33 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Pike.Annotations.AutoCodec: New annotation.

This annotation causes a suitable _encode() function to be generated
in the annotated class if the class uses the implicit create() syntax.

2018-11-28

2018-11-28 19:40:21 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Added support for Pike.Annotations.Inherited.

This attribute has the same semantics as the attribute
of the same name in Java.

2018-11-28 19:36:52 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Pike.Annotations.Implements: Added initial implementation.

This annotation causes the compiler to validate that
the annotated class implements the specified API.

2018-11-28 19:36:52 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Added Pike.Annotation.

The compiler now calls end_pass() in any annotations on the
program being compiled once each compiler pass.

2018-11-28 19:36:52 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Moved class annotations to the inherits.

This adds semantics to having annotations on inherits.

2018-11-22

2018-11-22 15:34:20 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Added support for Pike.Annotations.Inherited.

This attribute has the same semantics as the attribute
of the same name in Java.

2018-11-19

2018-11-19 13:17:17 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Pike.Annotations.Implements: Added initial implementation.

This annotation causes the compiler to validate that
the annotated class implements the specified API.

2018-11-17

2018-11-17 15:08:07 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Added Pike.Annotation.

The compiler now calls end_pass() in any annotations on the
program being compiled once each compiler pass.

2018-11-16

2018-11-16 15:49:57 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Moved class annotations to the inherits.

This adds semantics to having annotations on inherits.

2018-11-15

2018-11-15 14:43:31 by William Welliver <william@welliver.org>

preliminary proof of concept debugger. single breakpoint, single stepping, continue, local viewing but no local names.

2018-11-10

2018-11-10 10:32:07 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Make CompilerEnvironment available via _static_modules.

2018-11-08

2018-11-08 10:36:01 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Allocate some program id-numbers for the compiler.

2018-11-07

2018-11-07 13:38:59 by Henrik Grubbström (Grubba) <grubba@grubba.org>

PikeCompiler: Move high-level classes to _static_modules.Builtin.

Top-level CMOD symbols in pike_compiler.cmod were previously lost
to the void unless explicitly handled. They now instead show up
in _static_modules.Builtin (as with similar symbols elsewhere).

2018-11-04

2018-11-04 16:11:11 by Arne Goedeke <el@laramies.com>

Merge remote-tracking branch 'origin/master' into new_utf8

2018-11-03

2018-11-03 14:21:37 by Marcus Comstedt <marcus@mc.pp.se>

Merge remote-tracking branch 'origin/8.1' into gobject-introspection

2018-08-05

2018-08-05 13:22:25 by Martin Nilsson <nilsson@fastmail.com>

Fix forward declaration compilation warning.

2018-08-05 10:33:29 by Martin Nilsson <nilsson@fastmail.com>

Simplify error messages and avoid sending function name to get_all_args

2018-07-17

2018-07-17 13:39:35 by Henrik Grubbström (Grubba) <grubba@grubba.org>

PikeCompiler: Make current_file protected.

current_file is needed when overloading some of the functions
in PikeCompiler.

2018-07-16

2018-07-16 12:48:23 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Support inherit of CompilerEnvironment.

Fix some bugs triggered in the supporter subsystem when
executing in an inherited CompilerEnviroment.

2018-07-10

2018-07-10 13:13:22 by Henrik Grubbström (Grubba) <grubba@grubba.org>

CompilerEnvironment: Added handle_import().

2018-07-07

2018-07-07 09:50:13 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Cleaned up the resolv() calling conventions.

CompilerEnvironment()->PikeCompiler()->resolv() now takes a single
argument, and looks up the current file and handlers from the
PikeCompiler object, and then calls CompilerEnvironment()->resolv().

The actual calling of resolv() in the handlers is now performed
by CompilerEnvironment()->resolv().

2018-07-04

2018-07-04 08:27:35 by Henrik Grubbström (Grubba) <grubba@grubba.org>

CPP: CPP is now a subclass to CompilerEnvironment.

2018-06-26

2018-06-26 10:52:59 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Make the Reporter program more visible.

2018-04-21

2018-04-21 14:48:33 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Added utf8_string/tUtf8Str.

This type is intended to be used to make it clearer in APIs whether
strings are binary, wide, or contain data encoded with UTF-8.

2018-03-30

2018-03-30 16:06:39 by Arne Goedeke <el@laramies.com>

Interpreter: fixed handling of SAVE_LOCALS bitmask

Since the introduction of save_locals_bitmask, expendible_offset was
never set. Also since the handling of expendible_offset and
save_locals_bitmask were handled by the same case, the code was broken.

During pop entries handling of the save_locals bitmask could lead
to situations where locals above expendible_offset were 'copied' into
the trampoline frame. Those locals could have already been popped from
the stack by the RETURN_LOCAL opcode.

Also slightly refactored the code to not allocate more space for locals
than needed and removed some unnecessary casts.

This became visible and could lead to crashes when building for 32bit
on 64bit x86 machines.

2018-03-17

2018-03-17 20:13:55 by Martin Nilsson <nilsson@fastmail.com>

Remove redundant includes.

2018-02-24

2018-02-24 16:10:42 by Martin Nilsson <nilsson@fastmail.com>

Remove base_sp from throw_error_object

2018-02-04

2018-02-04 20:30:48 by Martin Nilsson <nilsson@fastmail.com>

Added emacs marker

2018-02-03

2018-02-03 09:48:55 by Peter Bortas <bortas@gmail.com>

Merge branch '8.1' into peter/travis

2018-01-19

2018-01-19 16:14:39 by Martin Nilsson <nilsson@fastmail.com>

Use the ALLOC_STRUCT macro when possible.

2017-12-31

2017-12-31 23:19:10 by Peter Bortas <bortas@gmail.com>

Merge remote-tracking branch 'origin/8.1' into peter/travis

2017-12-19

2017-12-19 14:56:00 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Add an extra pass on demand.

2017-12-17

2017-12-17 18:01:02 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Preparations for adding a third pass.

2017-12-14

2017-12-14 15:01:30 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Added even more COMPILER_PASS_*.

The compiler now seems to survive renumbering of COMPILER_PASS_*.

Also fixes a few (disabled) debug statements in language.yacc.

2017-12-12

2017-12-12 17:53:48 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Missed one COMPILER_PASS_LAST.

2017-12-11

2017-12-11 18:05:19 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Add symbolic constants COMPILER_PASS_*.

This is in preparation for adding more passes.

2017-03-18

2017-03-18 13:58:05 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Swap CAR and CDR in F_ASSIGN nodes.

Same for F_MULTI_ASSIGN and F_ASSIGN_SELF.

This gives the same order as for the F_*_EQ nodes,
and makes it possible to simplify the grammar somewhat.

2017-02-17

2017-02-17 11:35:59 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Removed some dead code.

Removes the old obsolete C-API function compile() (which has been
generating a fatal error on use since 2008-04-14).

2017-02-09

2017-02-09 17:34:20 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Moved yyreport() et al to pike_compiler.cmod.

More code cleanup.

2017-02-08

2017-02-08 17:03:29 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler: Moved {null,placeholder}_program to pikecompiler.cmod.

Use the CMOD preprocessor for these programs.

2017-02-06

2017-02-06 18:11:43 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Build: Convert pike_compiler.c into a CMOD.