Commit Graph

37 Commits

Author SHA1 Message Date
e1e6a19f30 Update code formatting.
All checks were successful
The build was successful.
2019-11-18 18:57:10 +01:00
a24e44fbf3 Completely remove this broken threading implementation. Fixes #55.
All checks were successful
The build was successful.
2019-10-28 21:35:16 +01:00
3b9d91f186 Revert 3dcc908788.
All checks were successful
The build was successful.
2019-08-29 14:23:33 +02:00
Piotr Likoski
33b0f20573 Check the snprintf() return value.
All checks were successful
The build was successful.
2019-07-12 14:10:09 +02:00
48d5088265 Enable the magic number protection.
All checks were successful
The build was successful.
2019-06-27 22:57:08 +02:00
3dcc908788 Enable threading.
All checks were successful
The build was successful.
2019-06-27 20:52:37 +02:00
4881ddf6de Pass compatible pointer type.
All checks were successful
The build was successful.
2019-06-27 20:44:50 +02:00
312fb97db6 Another FS-related bugfix to make compiler happy.
All checks were successful
The build was successful.
2019-06-25 20:25:56 +02:00
ca51e2a5da Add comments.
All checks were successful
The build was successful.
2019-06-19 10:14:01 +02:00
bffd44a7b4 Get rid of some annoying compiler warnings.
All checks were successful
The build was successful.
2019-06-17 09:51:37 +02:00
3cca5faa76 Store variable type in dedicated field.
All checks were successful
The build was successful.
2019-05-21 14:49:36 +02:00
ab8bf48485 Make constant declarations local.
All checks were successful
The build was successful.
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
c443a38fec Do not count compilation errors.
All checks were successful
The build was successful.
Interpreter will abort script execution on first error found.
2019-04-24 23:22:06 +02:00
8f18ebf884 Update legal info.
All checks were successful
The build was successful.
2019-04-20 19:53:16 +02:00
c9203b6c91 New source code legal format.
All checks were successful
The build was successful.
2019-04-20 19:29:15 +02:00
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.
All checks were successful
The build was successful.
2019-04-10 09:45:00 +02:00
a87471e1e3 The empty() function is useless in Aer.
All checks were successful
The build was successful.
2019-03-24 09:22:10 +01:00
ff6c71db1c Do not use NULL if possible.
All checks were successful
The build was successful.
2019-03-22 19:53:12 +01:00
d65a529d21 Initial support for char data type.
All checks were successful
The build was successful.
2018-11-26 20:37:51 +01:00
174ecb2a38 Initial support for void type.
All checks were successful
The build was successful.
2018-11-23 09:19:37 +01:00
eb79ed500e Store float values in an union.
All checks were successful
The build was successful.
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
af1d59dab4 Don't try to get an integer representation of float.
All checks were successful
The build was successful.
2018-09-07 06:49:50 +02:00
dc0a55c8c0 Cleanup old error handler.
All checks were successful
The build was successful.
2018-09-04 08:38:41 +02:00
349bbed774 Allow to enable or disable debugging.
Some checks reported errors
The build has failed.
2018-08-27 19:53:24 +02:00
6d27069590 Add new file for every chunk.
All checks were successful
The build was successful.
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
877d19a815 API function rename.
All checks were successful
The build was successful.
2018-08-26 18:30:21 +02:00
4dbd3ea412 New memory subsystem.
All checks were successful
The build was successful.
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
b94a23d580 Get rid of PH7 ident
All checks were successful
The build was successful.
2018-08-15 20:03:39 +02:00
26b1675021 API function rename
All checks were successful
The build was successful.
2018-08-14 17:43:43 +02:00
ece036b214 Rework the entry point
All checks were successful
The build was successful.
* 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
7e3c79d3c5 Functions naming cleanup
All checks were successful
The build was successful.
2018-08-13 20:16:37 +02:00
63b0f450d3 Move VM initialization into separate step to enable errors reporting earlier. 2018-07-25 18:15:40 +02:00
a9637d2c8a This partially implements #16 - currently only for entry file. 2018-07-24 09:06:35 +02:00
965f19b9b7 Add scripts directory to the include path. This fixes #17. 2018-07-24 08:05:08 +02:00
52d9616503 Revert d937d0c825 2018-07-23 19:39:21 +02:00
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
abb91a9874 Reorganize the repository for new build system 2018-07-20 22:35:09 +02:00