Rafal Kupiec
a24e44fbf3
Completely remove this broken threading implementation. Fixes #55 .
2019-10-28 21:35:16 +01:00
Rafal Kupiec
3b9d91f186
Revert 3dcc908788
.
2019-08-29 14:23:33 +02:00
Piotr Likoski
33b0f20573
Check the snprintf() return value.
2019-07-12 14:10:09 +02:00
Rafal Kupiec
48d5088265
Enable the magic number protection.
2019-06-27 22:57:08 +02:00
Rafal Kupiec
3dcc908788
Enable threading.
2019-06-27 20:52:37 +02:00
Rafal Kupiec
4881ddf6de
Pass compatible pointer type.
2019-06-27 20:44:50 +02:00
Rafal Kupiec
312fb97db6
Another FS-related bugfix to make compiler happy.
2019-06-25 20:25:56 +02:00
Rafal Kupiec
ca51e2a5da
Add comments.
2019-06-19 10:14:01 +02:00
Rafal Kupiec
bffd44a7b4
Get rid of some annoying compiler warnings.
2019-06-17 09:51:37 +02:00
Rafal Kupiec
3cca5faa76
Store variable type in dedicated field.
2019-05-21 14:49:36 +02:00
Rafal Kupiec
ab8bf48485
Make constant declarations local.
...
There are several changes in this commit:
* first of all constants declared by 'const' statement should be local (declared in current scope / frame),
* constants are declared by using OP_DECLARE instruction,
* OP_LOADC browses both global and local constants container,
* PH7_VmRegisterConstant() allows both global and local declarations.
Since this commit, there are 3 kinds of constants:
1) global
2) local (in loop, closure, method)
3) class members.
Actually there is no way to declare a global constant except the built-in constants.
2019-05-04 13:45:32 +02:00
Rafal Kupiec
c443a38fec
Do not count compilation errors.
...
Interpreter will abort script execution on first error found.
2019-04-24 23:22:06 +02:00
Rafal Kupiec
8f18ebf884
Update legal info.
2019-04-20 19:53:16 +02:00
Rafal Kupiec
c9203b6c91
New source code legal format.
2019-04-20 19:29:15 +02:00
Rafal Kupiec
d8f9db8f9a
Proper implementation of is_callback() & is_callable(). First one only performs a check if variable type is callback, while the second checks if function exists and if can be called.
2019-04-10 09:45:00 +02:00
Rafal Kupiec
a87471e1e3
The empty() function is useless in Aer.
2019-03-24 09:22:10 +01:00
Rafal Kupiec
ff6c71db1c
Do not use NULL if possible.
2019-03-22 19:53:12 +01:00
Rafal Kupiec
d65a529d21
Initial support for char data type.
2018-11-26 20:37:51 +01:00
Rafal Kupiec
174ecb2a38
Initial support for void type.
2018-11-23 09:19:37 +01:00
Rafal Kupiec
eb79ed500e
Store float values in an union.
...
Single variable cannot have many values of different types. This also saves some memory, because union allocates memory just for one of its members.
2018-09-07 12:04:51 +02:00
Rafal Kupiec
af1d59dab4
Don't try to get an integer representation of float.
2018-09-07 06:49:50 +02:00
Rafal Kupiec
dc0a55c8c0
Cleanup old error handler.
2018-09-04 08:38:41 +02:00
Rafal Kupiec
349bbed774
Allow to enable or disable debugging.
2018-08-27 19:53:24 +02:00
Rafal Kupiec
6d27069590
Add new file for every chunk.
...
Every chunk should has its own file associated, even if it is [MEMORY]. Otherwise, some false information can be provided by interpreter to developer.
2018-08-27 18:04:45 +02:00
Rafal Kupiec
877d19a815
API function rename.
2018-08-26 18:30:21 +02:00
Rafal Kupiec
4dbd3ea412
New memory subsystem.
...
This is a new memory subsystem implementing heap calculations as well as new builtin functions:
* get_memory_usage()
* get_memory_peak_usage()
* get_memory_limit()
It also allows to set an upper memory limit, ensuring that processed script will not be able to allocate more memory from OS.
New subsystem is based on work done in 'memory_limit' branch. Big thanks to devnexen!
This finally fixes #25 .
2018-08-18 19:24:38 +02:00
Rafal Kupiec
b94a23d580
Get rid of PH7 ident
2018-08-15 20:03:39 +02:00
Rafal Kupiec
26b1675021
API function rename
2018-08-14 17:43:43 +02:00
Rafal Kupiec
ece036b214
Rework the entry point
...
* some functions were not used and have been removed
* some parameters seemed to be useless and have been removed
* code cleanup
2018-08-14 13:45:27 +02:00
Rafal Kupiec
7e3c79d3c5
Functions naming cleanup
2018-08-13 20:16:37 +02:00
Rafal Kupiec
63b0f450d3
Move VM initialization into separate step to enable errors reporting earlier.
2018-07-25 18:15:40 +02:00
Rafal Kupiec
a9637d2c8a
This partially implements #16 - currently only for entry file.
2018-07-24 09:06:35 +02:00
Rafal Kupiec
965f19b9b7
Add scripts directory to the include path. This fixes #17 .
2018-07-24 08:05:08 +02:00
Rafal Kupiec
52d9616503
Revert d937d0c825
2018-07-23 19:39:21 +02:00
David Carlier
dba8e5098f
fixing in the vm context instead, making the feature available in case realpath could be implemented as well
2018-07-23 06:07:27 +01:00
Rafal Kupiec
abb91a9874
Reorganize the repository for new build system
2018-07-20 22:35:09 +02:00