Allow compiler to specify line number, on which instruction has been generated. This also fixes line number on OP_CLASS_INIT and OP_INTERFACE_INIT.belliash2018-09-05 17:31:06 +0200
Remove error_log() builtin function and corresponding PH7_VM_CONFIG_ERR_LOG_HANDLER. It was not fully implemented and such feature should be implemented in separate module or on developers own.belliash2018-09-03 19:03:05 +0200
Aer does not support custom error handlers. Errors are used only internally to emit notifications about compilation/execution problems. They should not be catched and handled by custom handlers, but properly configured (to be displayed or logged). Instead developers should use exceptions that can be catched with try-catch block.belliash2018-09-03 16:43:08 +0200
VmExtractDebugTrace() provides information about a kind of call. Both VmExtractDebugTrace() and VmDebugTrace structure should provide information whether it was object call or a static method call.belliash2018-09-02 20:15:17 +0200
Fix VmExtractDebugTrace(); If there is no information about class in the frame (when closure was called), pClassName should point always to NULL.belliash2018-09-02 18:46:30 +0200
Look for executed OP_CALL. Each function contains a list of all instructions inside, thus we should consider only OP_CALL that has already been executed. As the list is browsed from bottom to top, no more checks are necessary. The first match is what we are looking for.belliash2018-08-31 08:30:59 +0200
Fix VM ByteCode debugging. Only executed bytecode should be registered for debugging. In this way we do not register all emitted bytecode and save some memory. What is more, this change registers the bytecode in correct executing order including jumps. Previously all bytecode generated by compiler has been saved what made the bytecode to be saved in compile, not execute order.belliash2018-08-30 09:46:40 +0200
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.belliash2018-08-27 18:04:45 +0200
Rewrite debug_backtrace() builtin function. It makes a use of new VmExtractDebugTrace() function. This probably fixes#45.belliash2018-08-27 15:47:34 +0200
Enable debugging. This commit introduces ne debug feature. The PH7 Engine limits the VM dump to the global scope. Since Aer Script is fully object-oriented language the dump option contains only information about last call of OP_DONE. This change, forces the VM to store all instructions set in a global container when debugging is enabled, thus providing information the dump of whole script parse.belliash2018-08-26 19:59:17 +0200
Resolve __CLASS__ at compile time. Ticket: #45: __CLASS__ constant must be resolved at compile time, not run time. Otherwise it returns incorrect data.belliash2018-08-22 09:59:10 +0200
Resolve __DIR__ at compile time. Ticket: #45: __DIR__ constant must be resolved at compile time, not run time. Otherwise it returns incorrect data.belliash2018-08-22 06:23:43 +0200
Resolve __FILE__ at compile time. Ticket: #45: __FILE__ constant must be resolved at compile time, not run time. Otherwise it returns incorrect data.belliash2018-08-21 20:18:39 +0200
Get rid of manual optimisation technique. This optimisation technique results in non insignificant speed boost on some old x86 architectures. Novadays, we should rely on compiler optimisation.belliash2018-08-21 06:27:07 +0200
get_included_files() should return a list of included, files.belliash2018-08-18 20:42:54 +0200
00dc23ee4aGet rid of manual optimisation technique resulting in non insignificant speed boost on some old x86 architectures, #38;belliash2018-08-18 19:43:00 +0200
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.belliash2018-08-18 19:24:38 +0200