Steven Watanabe
6c3397fac8
Fix crash when calling a member function that doesn't exist. Fixes #260 .
2017-12-16 15:19:00 -07:00
Steven Watanabe
e31489760c
breakpoints should work even if they're hit repeatedly.
2017-12-15 15:15:54 -07:00
Rene Rivera
2b44ccf5dc
Avoid various pedantic warnings.
2017-10-28 23:21:40 -05:00
Steven Watanabe
0d7e0c9c27
Fix performance problems when not using the debugger.
2017-03-11 09:38:21 -07:00
Steven Watanabe
6f5522aaa5
Merge branch 'develop' into debug
...
Conflicts:
src/engine/function.c
src/engine/scan.h
2017-03-01 09:50:57 -07:00
Rene Rivera
af046405c5
Fix var declare errors from empty declaration on some compilers.
2016-11-29 06:46:32 -06:00
Rene Rivera
4ee16d44c2
Fix macro redef errors on some compilers.
2016-11-28 13:26:22 -06:00
Rene Rivera
590cbb42b5
Add some missing profile scopes in function_run.
2016-09-27 06:15:54 -05:00
Rene Rivera
8806da6416
Add support for perf meassuring native scopes. And add some perf scopes
...
for the main interpreter function.
2016-09-23 22:58:47 -05:00
Steven Watanabe
25819cbda3
Make sure that explicit returns don't interfere with function rewriting.
2016-03-22 09:50:51 -06:00
Steven Watanabe
8f39cdebc9
Fix two memory leaks and a double free.
2016-03-04 11:08:28 -07:00
Steven Watanabe
e9db80896f
Merge remote-tracking branch 'origin/develop' into debug
...
Conflicts:
src/engine/builtins.c
src/engine/builtins.h
src/engine/function.c
src/engine/jam.c
2016-02-19 12:02:22 -07:00
Steven Watanabe
7c8de02c3f
Really commit the code that I intended to add in the last commit. Also add support for viewing the stack.
2015-12-10 19:48:01 -07:00
Artur Shepilko
c696419e2a
Add bootstrap on VMS, use POSIX-style path handling.
2015-10-24 12:21:31 -05:00
Artur Shepilko
4cf86b31ca
Exit program with a consistent error status.
2015-10-24 12:21:30 -05:00
Steven Watanabe
ae1183ee2d
Return really returns now. Also implement break/continue.
2015-04-18 14:30:43 -06:00
Rene Rivera
5f22da72aa
Reporpous "-o" option to mirror all BB output to the specified file.
...
Useful for script control and for users to obtain a log in an easier
cross-platform manner.
2015-04-10 09:07:56 -05:00
Steven Watanabe
3721fec260
Initial implementation of a debugger for Jam.
...
The interface is a subset of gdb.
TODO:
* Put this behind flag, so it's possible to run b2 without the debugger.
Perhaps -db?
* Keep a command history and allow it to be accessed.
* Abbreviate long arguments in the backtrace, and wrap
long lines better.
* Implement more commands. I'm thinking of watch, condition, and ignore in
particular.
* Test the runtime cost. If it doesn't have any noticable penalty
when it's off, then it's safe to integrate this functionality
into the primary b2 executable.
* Write documentation.
* IDE integration. I'm hoping that I can hijack gdb support for any
editor that has built in support for gdb.
2015-03-21 17:21:36 -06:00
Steven Watanabe
1a87fc9da1
Adjust the alignment check to account for platforms with lower alignment requirements for pointers. Fixes #8993 .
2015-03-13 20:13:27 -06:00
Steven Watanabe
061f998f43
Optimize member function calls to use less string manipulation.
...
[SVN r83937]
2013-04-16 23:54:54 +00:00
Steven Watanabe
840dff3727
Eliminate some extra list_copy/INSTR_POPs.
...
[SVN r83920]
2013-04-15 23:30:36 +00:00
Steven Watanabe
700087b6cb
Small optimization for [ on target return var ].
...
[SVN r83919]
2013-04-15 22:55:49 +00:00
Steven Watanabe
62b79b8ebe
Special case for $(x:G)
...
[SVN r83812]
2013-04-08 17:40:28 +00:00
Jurko Gospodnetić
8694e1fc85
Replaced a goto based loop construct with a while loop in Boost Jam function.c module's expand() function to avoid a gcc 4.6.0 compiler optimizer bug on Linux (not reproducible using later GCC releases, and never reported on other OSs).
...
The bug was causing the inner while loop to be completely ignored, effectively causing concatenated Jam variable expansions to ignore all but the first variable value. For example, the following code:
local a = one two ;
ECHO /$(a)/ ;
would output '/one/' instead of '/one/ /two/'.
Kudos to Kim Rasmussen <rasmussen74 at gmail dot com> for detecting and helping debug & test the issue.
[SVN r80319]
2012-08-30 10:39:31 +00:00
Jurko Gospodnetić
57a424c5f7
Internal Boost Jam cleanup - function.c module's expand() function cleaned up a bit (used to resolve concatenated variable references in Jam scripts).
...
[SVN r80313]
2012-08-29 21:27:07 +00:00
Jurko Gospodnetić
d8a2486640
Corrected a 'OBJECT * to char *' gcc compilation warning in Boost Jam's function.c module.
...
[SVN r80252]
2012-08-27 10:20:22 +00:00
Jurko Gospodnetić
2ba303d950
Boost Jam update to remove a 'pointer to integer of different size' warning displayed when building using the mingw64 toolset.
...
[SVN r80251]
2012-08-27 10:07:54 +00:00
Jurko Gospodnetić
6999e2eb1a
Internal Boost Jam cleanup - minor stylistic changes (added variable const modifiers).
...
[SVN r80250]
2012-08-27 10:06:41 +00:00
Jurko Gospodnetić
773387d1a2
Boost Jam cleanup - minor stylistic changes.
...
[SVN r80113]
2012-08-21 15:43:30 +00:00
Jurko Gospodnetić
f4e7f9a811
Minor stylistic changes (added const modifiers in a couple of places).
...
[SVN r79842]
2012-08-02 09:16:34 +00:00
Jurko Gospodnetić
fde452f38f
Boost Jam cleanup - minor stylistic changes.
...
[SVN r79673]
2012-07-22 15:43:04 +00:00
Jurko Gospodnetić
c16ae1c68a
Boost Jam/Build cleanup - minor stylistic changes (comment updates; line wrapping; removed some dead/unused function declarations, parameters & code; declared variables as const; reordered some #include directives alphabetically, removed some unnecessary ones and added several missing ones discovered by the reordering).
...
[SVN r79569]
2012-07-17 08:56:49 +00:00
Jurko Gospodnetić
1791d078cc
Boost Build/Jam cleanup - stylistic code changes.
...
[SVN r79244]
2012-07-03 15:58:26 +00:00
Jurko Gospodnetić
2541eb4cff
Boost Jam code cleanup - updated Python related implementation to use the more efficient PyString_AS_STRING() API instead of PyString_AsString() when we already know we are passing it a valid Python string object.
...
[SVN r79070]
2012-06-25 00:59:47 +00:00
Jurko Gospodnetić
fe6d47c464
Updated Boost Jam's Cygwin-to-Windows path conversion implementation to use the new cygwin_conv_path() API introduced in Cygwin 1.7 when building using a new enough Cygwin version headers. This avoids depreciation warnings about the old cygwin_conv_to_win32_path() API being used when building with newer Cygwin versions. The new API seems to support paths longer than MAX_PATH and allows for much better error handling.
...
[SVN r79069]
2012-06-25 00:57:40 +00:00
Jurko Gospodnetić
58fb165500
Boost Jam code cleanup - minor stylistic changes.
...
[SVN r79067]
2012-06-25 00:33:54 +00:00
Steven Watanabe
7fca6a5c1d
Fix memory errors with BJAM_NO_MEM_CACHE.
...
[SVN r77725]
2012-04-02 22:00:32 +00:00
Steven Watanabe
c42418c528
Workoround for xlc. Patch by Hubert Tong.
...
[SVN r77638]
2012-03-30 01:21:13 +00:00
Steven Watanabe
8db046a1f4
Make list_new take one argument. Rename the two argument form to list_push_back.
...
[SVN r77522]
2012-03-24 23:03:10 +00:00
Steven Watanabe
161a3c9462
Remove argument_list. It's unused.
...
[SVN r77521]
2012-03-24 22:15:42 +00:00
Steven Watanabe
daf90f7f79
Make sure that the arguments of built-in rules are actually checked.
...
[SVN r77519]
2012-03-24 21:49:12 +00:00
Steven Watanabe
888393c652
Merge Python function support into function.c
...
[SVN r77518]
2012-03-24 21:07:49 +00:00
Steven Watanabe
0b3b574817
Start cleaning up the arg_list hacks. Make the argument list part of the function instead of part of the rule. Don't var expand formal arguments.
...
[SVN r77515]
2012-03-24 18:53:21 +00:00
Steven Watanabe
3599b1926b
Remove the first argument of list_copy, since it's always L0.
...
[SVN r77510]
2012-03-23 22:30:33 +00:00
Steven Watanabe
5eec7d95fe
Optimize variable lookup to bypass hash for constant variable names.
...
[SVN r77491]
2012-03-22 23:26:48 +00:00
Steven Watanabe
60d66ca888
Use dynamic arrays instead of linked lists. Reduces memory use about 10% overall.
...
[SVN r77408]
2012-03-19 18:17:36 +00:00
Steven Watanabe
ed5f6b8bcf
Downgrade strict syntax checks to a warning for backwards compatibility.
...
[SVN r77093]
2012-02-22 21:06:16 +00:00
Steven Watanabe
295e3d222c
Fix the result of while.
...
[SVN r75945]
2011-12-14 21:49:34 +00:00
Steven Watanabe
01b1d78744
Fix a subtle problem in the result of if statements.
...
[SVN r75944]
2011-12-14 21:33:26 +00:00
Steven Watanabe
750a25dda0
Optimize out the extra PUSH_EMPTY/APPEND when evaluating a list. Reduces the number of instructions executed by about 25%. About a 3-5% improvement in overall runtime.
...
[SVN r75938]
2011-12-14 18:46:50 +00:00