Nicholas Hastings
fdc3c0791e
Merge pull request #266 from alliedmodders/tfconds-reducks
...
Replace frameloop for player condition checks in TF2 ext with sendproxies (r=All of the KyleS).
2015-02-27 04:43:15 -08:00
David Anderson
04827466b0
Rewrite the .smx parser.
...
This removes one the last remnants of the SourceMod 1.0 VM implementation.
The new parser introduces a number of design changes in the VM. First, the VM now takes greater responsibility for validating and sanity checking the structure of the SMX container format. Previously, malformed SMX files could easily crash SourcePawn. The loader now rejects files that have out-of-bounds offsets or incomplete sections. Complex sections, like debug info or the code stream, are verified lazily.
Internally, the sp_plugin_t structure has been removed. It has been replaced by a new LegacyImage class, designed to be independent from the SPVM API. This potentially lets us load code streams from non-.smx containers. More importantly, it removes a lot of bookkeeping and pre-computed state from PluginRuntime. The LegacyImage class is now responsible for handling debug info as well.
PluginRuntime is now intended to hold only cached or immutable data, and PluginContext holds all VM state. As such PluginContext is now responsible for allocating a plugin's runtime memory, not PluginRuntime.
Finally, some aspects of the loading process have been cleaned up. The
decompression and image handoff logic should now be easier to
understand.
2015-02-25 22:28:10 -08:00
David Anderson
afbcdc8a20
Merge branch 'rm-interpreter'
2015-02-25 22:22:07 -08:00
David Anderson
b5ae5defcf
Merge branch 'simpl-fns'
2015-02-25 22:21:43 -08:00
David Anderson
1f351c50d5
Merge branch 'fix-native-updating'
2015-02-25 22:20:41 -08:00
David Anderson
9a37b94f4d
Merge pull request #280 from alliedmodders/rm-ctx
...
Remove sp_context_t.
2015-02-26 15:46:32 -08:00
David Anderson
acf6dcac86
Remove the interpreter.
2015-02-24 23:57:08 -08:00
David Anderson
fcec0ee7c7
Use AutoPtr in more places in the JIT.
2015-02-24 23:50:42 -08:00
David Anderson
b9b0ec865c
Simplify the JIT function cache.
2015-02-24 23:43:07 -08:00
David Anderson
fcaa5361c8
Don't expose mutable sp_native_t.
2015-02-24 23:10:18 -08:00
David Anderson
33588b65ce
Remove sp_context_t.
2015-02-24 21:54:34 -08:00
David Anderson
c09c65e4c7
Remove sp_context_t::plugin.
2015-02-24 21:54:34 -08:00
David Anderson
11ea385169
Remove sp_context_t::rval.
2015-02-24 21:54:34 -08:00
David Anderson
3a0310e832
Remove sp_context_t::basecx.
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
4c9321f02a
Move frm from sp_context_t to PluginContext.
2015-02-24 21:01:05 -08:00
David Anderson
d2005bd42a
Move cip from sp_context_t to PluginContext.
2015-02-24 20:53:44 -08:00
David Anderson
8817de8a55
Remove err from sp_context_t.
2015-02-24 20:41:51 -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
Asher Baker
7f0ff04ccf
Updated plugin blacklist.
2015-02-25 01:10:28 +00: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
deedc1aaa6
Remove unused fields from sp_context_t.
2015-02-24 15:21:52 -08:00
dvander@alliedmods.net
37af05c456
Move the debug return stack into PluginContext.
2015-02-24 15:20:00 -08:00
David Anderson
8c35d79576
Merge pull request #279 from alliedmodders/mv-basecontext
...
Rename BaseContext to PluginContext.
2015-02-24 14:56:32 -08:00
Asher Baker
6572989993
Merge pull request #213 from splewis/find-array-nonzero-blocks
...
Add block parameter to FindValueInArray native.
2015-02-24 22:37:49 +00:00
dvander@alliedmods.net
8eed58a467
Rename sp_vm_basecontext to plugin-context.
2015-02-24 12:55:00 -08:00
dvander@alliedmods.net
2e77155b4e
Rename BaseContext to PluginContext.
2015-02-24 12:50:09 -08:00
dvander@alliedmods.net
8b8edf6e70
Remove dead file and fix gcc build.
2015-02-24 11:39:28 -08:00
dvander@alliedmods.net
f0aa177bf8
Merge branch 'cc3'
2015-02-24 11:06:11 -08:00
dvander@alliedmods.net
e163204643
Merge branch 'cc2'.
2015-02-24 11:05:25 -08:00
dvander@alliedmods.net
50d7d7eedb
Merge branch 'rm-watchdog-singleton'
2015-02-24 11:04:06 -08:00
David Anderson
ec05036a2d
Merge pull request #274 from alliedmodders/refactor-api
...
Refactor the public API entrypoint for SourcePawn.
2015-02-24 11:03:32 -08:00
Nicholas Hastings
b8223d1b98
Merge pull request #267 from 50Wliu/tf2_setclientteam
...
Add TF2_SetClientTeam to provide symmetry to TF2_GetClientTeam (r=psychonic).
2015-02-24 10:23:23 -05: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
b406c3d03d
Merge sp_vm_engine and engine2.
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
David Anderson
e58415f94a
Fix shell build on Windows.
2015-02-24 01:49:03 -08:00
David Anderson
38d2c3690a
Merge pull request #273 from alliedmodders/add-shell
...
Build the debug spshell as part of AMBuild.
2015-02-23 20:28:30 -08:00
David Anderson
4212fb88c8
Build the debug spshell as part of AMBuild.
2015-02-23 20:21:17 -08:00
David Anderson
f769e1a00c
Merge pull request #272 from alliedmodders/rn-runtime
...
Rename BaseRuntime to PluginRuntime.
2015-02-23 16:56:18 -08:00
dvander@alliedmods.net
1f9b898702
Rename BaseRuntime files to plugin-runtime.
2015-02-23 16:44:15 -08:00