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 
						 
				 
			
				
					
						
							
							
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							edb7b49c25 
							
						 
					 
					
						
						
							
							Fixed bogus warning from GCC.  
						
						... 
						
						
						
						--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402466 
						
					 
					
						2008-08-23 09:29:27 +00:00 
						 
				 
			
				
					
						
							
							
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							b595047fdf 
							
						 
					 
					
						
						
							
							Fixed OP_SWITCH accidentally using the wrong address to get the pcode base (regression based on assumption of JitWriter::inbase).  
						
						... 
						
						
						
						--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402464 
						
					 
					
						2008-08-19 06:40:25 +00:00 
						 
				 
			
				
					
						
							
							
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							7875fe1acd 
							
						 
					 
					
						
						
							
							Landed sourcepawn-1.2.  The big changes:  
						
						... 
						
						
						
						1) JIT compilation/optimization now occurs per-function, and only when functions are first used.  We're now officially a whole-method JIT rather than an AOT compiler (albiet, still a simple JIT).  This has two implications: Functions are now much better abstracted internally, and loading a plugin is now much less expensive.  If a function contains calls to other functions, THOSE functions are only compiled when they're invoked as well.
2) I've removed debug mode.  We always show full backtraces now, as there was a very cheap way to implement this which really cleaned up everything.  This is great for a number of reasons -- there's less code, the JIT is better designed, we don't need to relocate debug tables, and best of all we no longer have to tell users to enable debug mode at their own expense.
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402459 
						
					 
					
						2008-08-15 05:22:26 +00:00 
						 
				 
			
				
					
						
							
							
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							fa5ee3287f 
							
						 
					 
					
						
						
							
							fixed regressions in debug mode  
						
						... 
						
						
						
						--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402402 
						
					 
					
						2008-07-11 09:24:12 +00:00 
						 
				 
			
				
					
						
							
							
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							1a156deca5 
							
						 
					 
					
						
						
							
							landed massive refactoring of the JIT.  contexts are actually contexts now, and a higher level structure wraps sp_plugin_t info.  on that note, both sp_plugin_t and sp_context_t are entirely opaque, and not even core has access to them.  amazingly, i managed to keep binary compatibility here although a large number of functions are deprecated (and core should eventually stop calling them).  
						
						... 
						
						
						
						NOTE: the JIT is now embeddable out-of-box and usable by other projects which is pretty cool.  I will commit a shell app demonstrating this soon
--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402400 
						
					 
					
						2008-07-11 08:18:43 +00:00 
						 
				 
			
				
					
						
							
							
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							749177d0b3 
							
						 
					 
					
						
						
							
							updated license  
						
						... 
						
						
						
						--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402254 
						
					 
					
						2008-06-13 07:24:43 +00:00 
						 
				 
			
				
					
						
							
							
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							2c94b1268a 
							
						 
					 
					
						
						
							
							phase0, new versioning. we don't use build numbers anymore except (VS_VERSIONINFO stays until phase 3 is done)  
						
						... 
						
						
						
						--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402242 
						
					 
					
						2008-06-02 05:03:27 +00:00 
						 
				 
			
				
					
						
							
							
								David Anderson 
							
						 
					 
					
						
						
						
						
							
						
						
							3aea76cfb3 
							
						 
					 
					
						
						
							
							insignificant changes from branch  
						
						... 
						
						
						
						--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402218 
						
					 
					
						2008-05-29 04:50:59 +00:00 
						 
				 
			
				
					
						
							
							
								Scott Ehlert 
							
						 
					 
					
						
						
						
						
							
						
						
							6e91780e73 
							
						 
					 
					
						
						
							
							Err, fixed Linux build  
						
						... 
						
						
						
						--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402139 
						
					 
					
						2008-05-12 02:05:57 +00:00 
						 
				 
			
				
					
						
							
							
								Scott Ehlert 
							
						 
					 
					
						
						
						
						
							
						
						
							77ff2c40bd 
							
						 
					 
					
						
						
							
							Symbols no longer stripped on Linux for easier debugging  
						
						... 
						
						
						
						--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402137 
						
					 
					
						2008-05-11 07:49:30 +00:00 
						 
				 
			
				
					
						
							
							
								Borja Ferrer 
							
						 
					 
					
						
						
						
						
							
						
						
							5e721623a0 
							
						 
					 
					
						
						
							
							fixed a math mistake  
						
						... 
						
						
						
						--HG--
extra : convert_revision : svn%3A39bc706e-5318-0410-9160-8a85361fbb7c/trunk%402104 
						
					 
					
						2008-04-27 19:41:51 +00:00