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 
						 
				 
			
				
					
						
							
							
								dvander@alliedmods.net 
							
						 
					 
					
						
						
						
						
							
						
						
							2f71cb4cd7 
							
						 
					 
					
						
						
							
							Rename BaseRuntime to PluginRuntime.  
						
						
						
					 
					
						2015-02-23 16:40:36 -08:00