David Anderson
fcaa5361c8
Don't expose mutable sp_native_t.
2015-02-24 23:10:18 -08:00
David Anderson
11ea385169
Remove sp_context_t::rval.
2015-02-24 21:54:34 -08:00
David Anderson
31ab1ced06
Move hp from sp_context_t to PluginContext.
2015-02-24 21:54:34 -08:00
David Anderson
b2c61a341a
Move sp from sp_context_t to PluginContext.
2015-02-24 21:54:30 -08:00
David Anderson
d2005bd42a
Move cip from sp_context_t to PluginContext.
2015-02-24 20:53:44 -08:00
David Anderson
97dbc7ff07
Move n_err from sp_context_t to PluginContext.
2015-02-24 20:16:13 -08:00
dvander@alliedmods.net
9c104ef310
Move nidx from sp_context_t to PluginContext.
2015-02-24 19:59:45 -08:00
dvander@alliedmods.net
5502fbbdc1
Move the tracker from sp_context_t to PluginContext.
2015-02-24 15:43:41 -08:00
dvander@alliedmods.net
37af05c456
Move the debug return stack into PluginContext.
2015-02-24 15:20:00 -08:00
dvander@alliedmods.net
8eed58a467
Rename sp_vm_basecontext to plugin-context.
2015-02-24 12:55:00 -08:00
David Anderson
781c5129a9
Remove the JITX86 class.
2015-02-24 02:03:58 -08:00
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
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
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