Go to file
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
configs Remove references to the DisableJIT option. r=psychonic 2014-07-15 09:42:49 -07:00
core Rewrite the .smx parser. 2015-02-25 22:28:10 -08:00
editor Added AMXX Pawn geshi generation script. 2010-08-23 13:53:44 -04:00
extensions Use new IVEngineServer::GetIServer to get IServer* on Insurgency. 2015-02-22 15:16:26 -05:00
gamedata Updated plugin blacklist. 2015-02-25 01:10:28 +00:00
loader Disable RTTI for Loader, Logic, and JIT bins 2014-09-11 17:15:59 -07:00
msvc10 Added msvc10 proj file for Regex extension and hooked up to meta sln (NPOTB). 2013-03-17 11:29:55 -04:00
plugins Merge pull request #213 from splewis/find-array-nonzero-blocks 2015-02-24 22:37:49 +00:00
public Rewrite the .smx parser. 2015-02-25 22:28:10 -08:00
sourcepawn Rewrite the .smx parser. 2015-02-25 22:28:10 -08:00
tools Merge currently in-use gdc-psyfork symbols.txt. 2015-02-05 14:44:58 -05:00
translations Add support for customizing ban reasons in basebans.sp (bug 5762, r=psychonic). 2013-08-28 13:17:17 -04:00
versionlib Change version display. 2014-05-25 03:18:05 -07:00
.arcconfig Add a .arcconfig file so that arc works 2013-10-15 22:57:59 +01:00
.gitignore Fix .gitignore typo 2014-06-30 15:06:22 +02:00
.travis.yml Install g++-4.8 before installing llvm 3.5 2015-02-21 19:20:18 -08:00
AMBuildScript Remove conditionals in ambuild scripts for using msvc <2013 (not supported). 2015-01-21 11:04:52 -05:00
changelog.txt Triggering a build. 2011-04-13 19:05:41 -05:00
configure.py Add an ambuild configure option to disable auto versioning. 2014-07-02 13:29:59 -05:00
product.version Bump version to 1.8.0-dev. 2014-12-18 04:55:58 -08:00
pushbuild.txt Trigger build for hl2sdk-dota changes. 2015-02-20 09:16:40 -05:00
README.md and maybe also a hyphen 2014-05-27 01:09:12 -06:00

SourceMod

General

Development