Commit Graph

36 Commits

Author SHA1 Message Date
Rafal Kupiec a24e44fbf3
Completely remove this broken threading implementation. Fixes #55.
The build was successful. Details
2019-10-28 21:35:16 +01:00
Rafal Kupiec 3b9d91f186
Revert 3dcc908788.
The build was successful. Details
2019-08-29 14:23:33 +02:00
Piotr Likoski 33b0f20573
Check the snprintf() return value.
The build was successful. Details
2019-07-12 14:10:09 +02:00
Rafal Kupiec 48d5088265
Enable the magic number protection.
The build was successful. Details
2019-06-27 22:57:08 +02:00
Rafal Kupiec 3dcc908788
Enable threading.
The build was successful. Details
2019-06-27 20:52:37 +02:00
Rafal Kupiec 4881ddf6de
Pass compatible pointer type.
The build was successful. Details
2019-06-27 20:44:50 +02:00
Rafal Kupiec 312fb97db6
Another FS-related bugfix to make compiler happy.
The build was successful. Details
2019-06-25 20:25:56 +02:00
Rafal Kupiec ca51e2a5da
Add comments.
The build was successful. Details
2019-06-19 10:14:01 +02:00
Rafal Kupiec bffd44a7b4
Get rid of some annoying compiler warnings.
The build was successful. Details
2019-06-17 09:51:37 +02:00
Rafal Kupiec 3cca5faa76
Store variable type in dedicated field.
The build was successful. Details
2019-05-21 14:49:36 +02:00
Rafal Kupiec ab8bf48485
Make constant declarations local.
The build was successful. Details
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.
The build was successful. Details
Interpreter will abort script execution on first error found.
2019-04-24 23:22:06 +02:00
Rafal Kupiec 8f18ebf884
Update legal info.
The build was successful. Details
2019-04-20 19:53:16 +02:00
Rafal Kupiec c9203b6c91
New source code legal format.
The build was successful. Details
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.
The build was successful. Details
2019-04-10 09:45:00 +02:00
Rafal Kupiec a87471e1e3
The empty() function is useless in Aer.
The build was successful. Details
2019-03-24 09:22:10 +01:00
Rafal Kupiec ff6c71db1c
Do not use NULL if possible.
The build was successful. Details
2019-03-22 19:53:12 +01:00
Rafal Kupiec d65a529d21
Initial support for char data type.
The build was successful. Details
2018-11-26 20:37:51 +01:00
Rafal Kupiec 174ecb2a38
Initial support for void type.
The build was successful. Details
2018-11-23 09:19:37 +01:00
Rafal Kupiec eb79ed500e
Store float values in an union.
The build was successful. Details
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.
The build was successful. Details
2018-09-07 06:49:50 +02:00
Rafal Kupiec dc0a55c8c0
Cleanup old error handler.
The build was successful. Details
2018-09-04 08:38:41 +02:00
Rafal Kupiec 349bbed774
Allow to enable or disable debugging.
The build has failed. Details
2018-08-27 19:53:24 +02:00
Rafal Kupiec 6d27069590
Add new file for every chunk.
The build was successful. Details
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.
The build was successful. Details
2018-08-26 18:30:21 +02:00
Rafal Kupiec 4dbd3ea412
New memory subsystem.
The build was successful. Details
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
The build was successful. Details
2018-08-15 20:03:39 +02:00
Rafal Kupiec 26b1675021
API function rename
The build was successful. Details
2018-08-14 17:43:43 +02:00
Rafal Kupiec ece036b214
Rework the entry point
The build was successful. Details
* 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
The build was successful. Details
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