Commit Graph

190 Commits

Author SHA1 Message Date
David Anderson
d6a6194e68 Make amtl headers BSD-licensed and clean up outstanding style issues. 2013-08-22 17:11:17 -07:00
David Anderson
c373527851 Rename ke_* headers to am-*
--HG--
rename : public/amtl/ke_allocator_policies.h => public/amtl/am-allocator-policies.h
rename : public/amtl/ke_inline_list.h => public/amtl/am-inline-list.h
rename : public/amtl/ke_thread_posix.h => public/amtl/am-thread-posix.h
rename : public/amtl/ke_thread_utils.h => public/amtl/am-thread-utils.h
rename : public/amtl/ke_thread_windows.h => public/amtl/am-thread-windows.h
rename : public/amtl/ke_utility.h => public/amtl/am-utility.h
rename : public/amtl/ke_vector.h => public/amtl/am-vector.h
2013-08-22 17:10:59 -07:00
David Anderson
de8726ab73 Move ke_ headers to new public/amtl folder.
--HG--
rename : public/sourcepawn/ke_allocator_policies.h => public/amtl/ke_allocator_policies.h
rename : public/sourcepawn/ke_inline_list.h => public/amtl/ke_inline_list.h
rename : public/sourcepawn/ke_thread_posix.h => public/amtl/ke_thread_posix.h
rename : public/sourcepawn/ke_thread_utils.h => public/amtl/ke_thread_utils.h
rename : public/sourcepawn/ke_thread_windows.h => public/amtl/ke_thread_windows.h
rename : public/sourcepawn/ke_utility.h => public/amtl/ke_utility.h
rename : public/sourcepawn/ke_vector.h => public/amtl/ke_vector.h
2013-08-22 16:30:44 -07:00
David Anderson
b972ea4781 Fix stack alignment when lazily compiling scripted calls (bug 5871, r=ds). 2013-08-20 23:59:11 -07:00
David Anderson
582162460f Fix OP_MOVS to not clobber random memory (bug 5868, r=psychonic). 2013-08-19 12:59:10 -07:00
David Anderson
c48cc0afdc Fix OS X build. 2013-08-15 16:26:16 -07:00
David Anderson
3ac43497b9 Implement a watchdog timer for scripts that take too long to execute (bug 5837, r=fyren).
--HG--
extra : rebase_source : ffacb38457eca581660ce8f15c444ad828b7fedd
2013-08-14 23:54:25 -07:00
David Anderson
a4b7ad0d42 Fixed memory corruption when parsing natives. (bug 5840, r=fyren) 2013-08-12 01:33:04 +01:00
Kyle Sanderson
86c699dd36 Fixed various memory issues. (bug 5766, r=asherkin) 2013-08-12 00:44:22 +01:00
David Anderson
b39fcebe65 Remove InfoVars, reassign DAT from EBP to ESI to preserve C++ stacktraces in JIT code (bug 5844 part 10, r=ds). 2013-08-12 00:24:02 +01:00
David Anderson
04129a0841 Remove InfoVars::frm (bug 5844 part 9, r=ds). 2013-08-12 00:23:54 +01:00
David Anderson
a7658f013e Eliminate InfoVars::hp (bug 5844 part 8, r=ds). 2013-08-12 00:23:00 +01:00
David Anderson
2822bf7a65 Eliminate InfoVars::cip (bug 5844 part 7, r=ds). 2013-08-12 00:22:54 +01:00
David Anderson
87ccd272ee Eliminate InfoVars::rval (bug 5844 part 6, r=ds). 2013-08-12 00:22:41 +01:00
David Anderson
18275ce2c9 Remove InfoVars::ctx (bug 5844 part 5, r=fyren). 2013-08-11 11:33:47 -07:00
David Anderson
5935070dfa Remove InfoVars::memory (bug 5844 part 4, r=ds). 2013-08-11 11:33:29 -07:00
David Anderson
8391c83121 Remove InfoVars::stp (bug 5844 part 3, r=fyren). 2013-08-11 11:31:55 -07:00
David Anderson
4255ee105f Remove InfoVars::data_size (bug 5844 part 2, r=ds). 2013-08-11 11:31:24 -07:00
David Anderson
e3c45bd1f7 Clean up INFO register structure (bug 5844 part 1, r=ds). 2013-08-11 11:30:27 -07:00
David Anderson
449617474b Statically align the stack at function boundaries (bug 5842, r=ds). 2013-08-11 11:27:19 -07:00
David Anderson
ce542ac5f6 Move tracker related opcodes entirely to C++.
The tracker related opcodes:
  GENARRAY
  GENARRAY_Z
  TRACKER_POP_SETHEAP
  TRACKER_PUSH_C

All contain some vastly overcomplicated assembly containing logic that could
be implemented much easier in C++. If it were a performance concern, these
opcodes would be entirely in C++, but most of them call out to one or more
routines to do additional work. This patch just moves most of the logic out
to C++ to reduce complexity and fix reported bugs.

--HG--
extra : rebase_source : 1397056ac3ca3efb969e66ec577e2b33ca725e1a
2013-08-10 21:23:02 -07:00
David Anderson
bf325b72f1 Use SSE when available for floating-point operations (bug 5841, r=her). 2013-08-08 20:26:36 -07:00
David Anderson
9e56725406 Refactor the JIT to use a newer, simpler macro assembler. (bug 5827, r=ann) 2013-08-08 09:41:24 -07:00
Asher Baker
351142f93f Fixed inaccurate compiler error when ternary operator is involved (bug 5711, r=dvander). 2013-07-18 17:59:24 -04:00
Kyle Sanderson
29bc273e58 Removed -Wno-parentheses from posix build and fixed warnings (bug 5745, r=psychonic). 2013-07-18 15:50:57 -04:00
Kyle Sanderson
b96e0c8713 Fixed accidental assignment in each of SDKTools and sp compiler (bug 5745, r=psychonic). 2013-07-18 15:50:50 -04:00
Asher Baker
68ab7e2e3e Fixed unaligned memory access in spcomp (r=dvander). 2013-05-02 20:47:35 +00:00
Asher Baker
d5ec523584 Support emscripten for compiling spcomp (r=dvander). 2013-04-05 07:03:43 +01:00
Asher Baker
0f62a8ec2f Generate debugging information during compilation (bug 5227, r=ds). 2013-03-17 21:00:28 +00:00
Kyle Sanderson
6f45794574 Fixed mismatched delete [] on thunks in JIT CompData dtor (bug 5639, r=dvander). 2013-03-16 13:08:35 -04:00
Kyle Sanderson
7d93eba321 Removed call to getchar() in debug build of compiler (bug 5626, r=ds). 2013-02-25 16:30:19 -06:00
Asher Baker
7625ca439e Check the debug stringbase when loading plugins, lest it be null and cause crashes down the line (bug 5478, r=dvander). 2012-09-08 17:31:31 +01:00
Asher Baker
bf76be5dfa Overhauled versioning information (bug 5453, r=dvander). 2012-08-26 01:33:54 +01:00
Nicholas Hastings
76fa100c1d Updated jit vcproj/makefile (NPOTB). 2012-08-15 15:10:55 -04:00
Asher Baker
de27cb8a2f Added system to block malware or illegal plugins (bug 5289, r=dvander). 2012-08-09 01:54:43 +01:00
Zach Kanzler
f1e01a3cf6 Increase maximum .sp line length to 4095 characters. (bug 5347, r=dvander) 2012-08-04 13:08:08 -07:00
Nicholas Hastings
80fbc25442 Updated vc projs to use MMSOURCE19, added loader & topmenus, fixed CSGO sdk path in cstrike (NPOTB). 2012-07-25 08:31:01 -04:00
Nicholas Hastings
78f4640736 VC10 proj: removed old bintools cfgs, fixed swarm build, fixed jit dll name (NPOTB). 2012-07-20 15:43:15 -04:00
Nicholas Hastings
080405c022 Added some missing proj files from last commit (NPOTB). 2012-07-12 19:43:01 -04:00
Asher Baker
5f551fa67a Backed out changeset: 387b27fb575b (bug 5227) 2012-04-14 01:12:24 +01:00
Asher Baker
393c54fdc2 Generate debugging information during compilation. (bug 5227, r=ds) 2012-02-16 19:26:49 +00:00
Fyren
dfe8ae4fd1 Bring compiler Makefile more in line with ambuild (NPOTB) 2011-11-10 20:26:21 +00:00
Nicholas Hastings
069d67b24b Third try's a charm. 2011-11-09 21:34:30 -05:00
Nicholas Hastings
0c926b84bc Another build fix. 2011-11-09 21:29:36 -05:00
Nicholas Hastings
11bdd68d73 Maybe fixed build. 2011-11-09 21:19:04 -05:00
Nicholas Hastings
1beeaf3d4f Removed GLIBC_2.7 dependency from spcomp (r=fyren). 2011-11-09 21:10:29 -05:00
Nicholas Hastings
4d07acd384 Backed out changeset: 294fded6a0d0 (bug 4902, bug 5068). 2011-10-28 11:23:02 -04:00
Fyren
4d52fe0490 Revert 3336, try fix #2 (bug 4852, r=dvander) 2011-07-09 20:47:43 -07:00
David Anderson
bb48a16466 Fix compiler creating bogus arrays when missing a dimension (bug 4902, r=fyren). 2011-07-06 17:56:40 -04:00
David Anderson
a02ff01d84 Prevent declaring arrays that the compiler is too buggy to handle (bug 4977, r=fyren). 2011-07-06 17:56:03 -04:00
David Anderson
66d27d6ac5 Fix return omission with else-after-return (bug 4852, r=fyren). 2011-07-06 17:55:14 -04:00
David Anderson
053b522aff Fixed some vars not being marked for init on first compile pass (bug 4643, r=fyren). 2011-07-06 17:50:26 -04:00
javalia
1ff0f478d4 Increase symbol name limit to 63 characters (bug 4564, r=dvander). 2011-07-04 15:26:08 -07:00
David Anderson
6c68082359 Fix crash when dynamic arrays run out of memory (bug 4632, r=fyren). 2011-07-04 01:57:19 -07:00
Fyren
b4a7d21b9e Removed compiler double include check (bug 4863, r=dvander). 2011-05-24 10:49:40 -04:00
Scott Ehlert
939bc00b2b Added detection for clang compiler and fixed various warnings triggered by it (bug 4878, r=dvander). 2011-04-23 21:53:53 -05:00
Berni
86a1641ac1 Fix compiler hanging when #including a directory (bug 4822, r=dvander) 2011-04-13 04:02:22 -07:00
Fyren
9799970042 Update spcomp Makefile 2011-03-08 12:07:06 -08:00
Asher Baker
0824e49000 Added missing files to the spcomp project file (bug 4824, r=dvander). 2011-03-07 15:05:51 +07:00
Fyren
430c001d58 Static gamedata checker (NPOTB) 2010-10-01 12:15:43 -07:00
David Anderson
e76a73e276 Fixed Windows build fo' realz. 2010-07-11 18:06:06 -07:00
David Anderson
ccf0490624 Windows build fix. 2010-07-11 17:45:35 -07:00
David Anderson
fdd1a9afef Use hash table for global name lookups (bug 4496, r=fyren). 2010-07-11 17:32:46 -07:00
David Anderson
4f2fc17a8f Fixed staging buffers reallocating on every operation (bug 3820, r=fyren+fyren). 2010-07-02 18:16:50 -07:00
David Anderson
7bc019547f Fixed O(n) insertion of debug strings (bug 4495, r=fyren). 2010-07-02 18:16:15 -07:00
David Anderson
f8c2629a3e Fixed O(n^2) generation of debug info tables (bug 4493, r=fyren). 2010-07-02 18:15:59 -07:00
David Anderson
b5b4bff2fc Fixed bogus assert in callfunction (bug 4487, r=fyren). 2010-07-02 18:15:21 -07:00
David Anderson
7054b92a14 Fixed bogus assert about name lengths (bug 4486, r=fyren). 2010-07-02 18:12:31 -07:00
Fyren
e332f4e12b Possible dynamic array dimension fix (bug 4428, r=dvander) 2010-06-19 15:15:23 -07:00
David Anderson
97ab5dd1b5 Fixed switch case comparisons failing with large numbers (bug 4457, r=pred). 2010-06-13 20:26:58 -07:00
David Anderson
271b52158e Mac build fixes (bug 4392, r=me). 2010-05-11 01:46:55 -07:00
Fyren
c78e89c3c1 Compiler confused |any| tag with |String| on array arguments. 2010-02-08 20:00:06 -08:00
Scott Ehlert
fcfd5c7419 Fixed crash when a plugin was unloaded before a client convar query had returned results (bug 4044, r=dvander). 2009-10-06 13:37:30 -05:00
David Anderson
d682361cfc More changes for new build system. 2009-08-30 00:46:56 -07:00
David Anderson
d3f0a14867 Imported support for new build system. 2009-08-30 00:21:42 -07:00
David Anderson
1923368353 Fixed build. 2009-05-30 20:04:55 -04:00
David Anderson
752bd78de5 Fixed compiler asserting when returning a string literal (bug 3836, r=fyren). 2009-05-30 20:03:56 -04:00
David Anderson
c4b17855e5 Fixed compiler erroring when tagging functions for string return (bug 3837, r=fyren). 2009-05-30 20:03:01 -04:00
David Anderson
a1543f79cb Fixed compiler not handling constant chained relational operators correctly (bug 3838, r=fyren). 2009-05-30 20:02:05 -04:00
David Anderson
614188c82b Fixed compiler using NDEBUG in debug builds (bug 3815, r=fyren). 2009-05-24 12:08:27 -04:00
Matt Woodrow
7710a1fdb0 Merge from 1.2 branch 2009-05-11 11:45:08 +12:00
David Anderson
211c5dcfcd Fixed compiler reading uninitialized strings while processing varargs (bug 3811, r=fyren,pred, a12=blocking). 2009-05-10 11:01:19 -04:00
David Anderson
bf8c57c669 Fixed compiler choosing whether to emit stradjust.pri on dynamic arrays based on uninitialized memory (bug 3810, r=fyren,pred, a12=blocking). 2009-05-09 09:21:14 -04:00
Fyren
f6bb6037f3 Allow spaces in compiler command line options (bug 3729, r=dvander) 2009-03-12 18:37:04 -07:00
Scott Ehlert
d8264fada7 Merge from 1.2 branch. 2009-03-05 15:48:38 -06:00
Scott Ehlert
72da49415e Added -dev tag back to version.h files for manual builds. 2009-03-05 14:59:09 -06:00
David Anderson
8e744ec5f7 Re-added -dev tag, bumped version to 1.2.1. 2009-03-05 02:36:27 -05:00
David Anderson
8dfbcf5a9f Bumped versions. 2009-03-05 02:07:44 -05:00
David Anderson
1f636bf7a9 Bumped trunk to 1.3.0. 2009-03-05 01:48:18 -05:00
Scott Ehlert
2c3bf7dd23 Ran versionchanger script for consistency. 2009-02-25 23:44:18 -06:00
David Anderson
a017e4820a Added the ability for extensions to invoke arbitrary natives (bug 3605, r=ds,theY4Kman). 2009-02-01 02:03:03 -05:00
Scott Ehlert
bf5fefe84f Merge from sourcemod-1.1 branch. 2008-12-29 00:11:32 -06:00
Scott Ehlert
5c92b0d154 Bumped version to 1.1.1 and added back -dev build string. 2008-12-28 23:50:26 -06:00
David Anderson
3f250ba42d Bumped version files. 2008-12-28 20:35:51 -05:00
David Anderson
1577fab93a Ran versionchanger.pl over trunk to get 1.2.0 into headers (bug 3521). 2008-12-28 19:59:40 -05:00
David Anderson
cb41fa6de4 Fixed JIT build on Linux for real. 2008-12-22 20:12:33 -06:00
David Anderson
dc758ead10 Build fix for Linux. 2008-12-23 01:55:20 -05:00
David Anderson
1fe38c7473 SourceMod can now be somewhat compiled on OS X for patch sanity testing (bug 3516, r=ds).
This adds the ability for us to change the GCC version we use more flexibly.
2008-12-23 01:33:37 -05:00
Scott Ehlert
28e1568eb7 Missed a reference to SOURCEMM16 in JIT project files (bug 3445). 2008-11-27 02:20:08 -06:00
Scott Ehlert
ecaced40f2 Now compiles against Metamod:Source 1.7 (bug 3445). 2008-11-27 01:13:51 -06:00