David Anderson
111dd7eb68
Factor code stubs out of JITX86.
2015-02-24 02:03:58 -08:00
David Anderson
21f5400d9c
Remove ICompilationData.
2015-02-24 02:03:57 -08:00
David Anderson
8cf3e227ea
Move context var initialization into BaseContext.
2015-02-24 02:03:56 -08:00
David Anderson
8c95919b32
Move watchdog/runtime interaction into Environment.
2015-02-24 02:03:55 -08:00
David Anderson
c70e87d582
Move the code cache into Environment, and out of knight/shared.
2015-02-24 01:57:50 -08:00
David Anderson
57ba8fd09b
De-singleton-ify the watchdog timer.
2015-02-24 01:53:37 -08:00
David Anderson
3cf3f6c3f8
Merge sp_vm_engine and engine2.
2015-02-24 01:52:14 -08:00
David Anderson
499f7b3929
Refactor the public API entrypoint for SourcePawn.
2015-02-24 01:52:13 -08:00
dvander@alliedmods.net
1f9b898702
Rename BaseRuntime files to plugin-runtime.
2015-02-23 16:44:15 -08:00
dvander@alliedmods.net
2f71cb4cd7
Rename BaseRuntime to PluginRuntime.
2015-02-23 16:40:36 -08:00
dvander@alliedmods.net
b2d8dde3a5
Rename Function to CompiledFunction.
2015-02-23 16:27:57 -08:00
dvander@alliedmods.net
45bac7feb0
Rename jit_function to compiled-function.
2015-02-23 16:04:57 -08:00
dvander@alliedmods.net
892b8c05b1
Rename JitFunction to CompiledFunction and CFunction to ScriptedInvoker.
2015-02-23 16:03:08 -08:00
David Anderson
225954a27c
Modernize the smx headers.
2014-08-21 22:16:07 -07:00
Ryan Stecker
6864bf0068
Only spew JIT compilation and opcodes when built with JIT_SPEW defined.
2014-07-05 10:57:08 -05:00
David Anderson
ec61d4d188
Add a general profiling abstraction layer.
2014-06-24 01:04:13 -07:00
Kyle Sanderson
9c62e94239
Optimize native call if statically bound (bug 5842, r=ds,fyren f=dvander).
...
Original patch written by David Anderson (original r from Fyren).
- Updated to function with the current JIT compiler.
- Took in clean-ups from later-dated patches.
2014-05-11 14:36:32 -07:00
David Anderson
e69e9eddc7
Change float comparison operators to return false for NaN (bug 6107, r=ds).
...
--HG--
extra : rebase_source : a11c56fb23d6617545def3591ec6100dd143eb3e
2014-04-22 19:40:45 -07:00
David Anderson
f9f4c7dcd6
Add an interpreter because. (bug 5902, r=ds).
2013-09-01 00:23:44 -07:00
Nicholas Hastings
124ede82b3
Fix build.
2013-08-29 15:05:34 -04:00
Nicholas Hastings
1c40d77b14
Fix build.
2013-08-29 14:16:18 -04:00
Kyle Sanderson
d05feabcd6
Suppress SpewOpcode if not a debug build (bug 5859, r=dvander).
2013-08-27 08:39:15 -04:00
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
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
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
Kyle Sanderson
6f45794574
Fixed mismatched delete [] on thunks in JIT CompData dtor (bug 5639, r=dvander).
2013-03-16 13:08:35 -04: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
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
d3f0a14867
Imported support for new build system.
2009-08-30 00:21:42 -07: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
David Anderson
8d78c74554
Fixed horrendous crash in the JIT from packing change in the debug table (bug 3334, r=me).
...
I accidentally changed the debug table packing in a commit a while ago. This explains the nonsense debug output and crashes people have been getting on the 1.1 branch. Fortunately this is (mostly) detectable via the "debug.natives" table and the JIT will unpack symbols based on that information.
2008-10-27 02:02:14 -05:00
David Anderson
fb2f0795c5
Fixed JIT 1.2 not compiling code for the SYSREQ.C opcode (bug 2764). This caused LDuke's TF2Nades to crash because spcomp doesn't seem to peephole optimize some sysreq.c's away for float operators (oddity discovered by sawce).
2008-09-14 23:42:20 -07:00
David Anderson
f27202202b
Fixed profiler being initialized at the wrong time, causing a paired callback mismatch (bug amb1977).
...
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402489
2008-09-05 06:15:54 +00:00