Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							c55510cb36 
							
						 
					 
					
						
						
							
							Inline context initialization & improve _object.value  
						
						... 
						
						
						
						* Context setup is now done via _newContext.
* _newContext is a function that resides in inline.go. _newContext is very flat,
resulting in almost no function calls (a 180 from the earlier status quo).
* inline.go is a Go source file that is built by Perl (via inline).
* Lots of crufty functions removed (along with all of their TODO & FIXME).
* In addition, before, the underlying value of _object.value was a pointer to
something. This made for extra work, since the type of _object.value is interface{},
which is already something of a pointer. Now, the underlying value of _object.value
in Function, Date, RegExp, ..., is a struct value.
* type_function.go was streamlined, removing superfluous struct fields and methods.
* There is now less "digging" to get to the actual value of a function, which is important
when makings lots of calls.
Before (without inline):
    PASS
    BenchmarkNew        2000           1067871 ns/op
    ok      github.com/robertkrimen/otto    3.336s
    PASS
    BenchmarkNew        2000           1077644 ns/op
    ok      github.com/robertkrimen/otto    3.367s
After (with inline):
    PASS
    BenchmarkNew       10000            364418 ns/op
    ok      github.com/robertkrimen/otto    4.616s
    PASS
    BenchmarkNew       10000            307241 ns/op
    ok      github.com/robertkrimen/otto    4.051s
This (partially) fixes  #22  
						
					 
					
						2013-06-09 18:28:18 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							506ba2768f 
							
						 
					 
					
						
						
							
							Tidy tests (make release, make check, etc.)  
						
						
						
					 
					
						2013-06-06 19:57:12 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							15539ede6c 
							
						 
					 
					
						
						
							
							Add Object.freeze (sdgoij)  
						
						
						
					 
					
						2013-05-12 14:54:47 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							7e2b4f2063 
							
						 
					 
					
						
						
							
							Rewrite of property handling to be more robust and compliant  
						
						... 
						
						
						
						* No more _stash
* Now using a "virtual table" system via _objectClass
* Make Array.concat GoArray compatible (via .isArray())
Fix  #16  
						
					 
					
						2013-05-12 14:14:51 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							2e20275e07 
							
						 
					 
					
						
						
							
							Add check for testing against the release version of Go  
						
						
						
					 
					
						2013-05-05 10:23:18 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							cfd5635e46 
							
						 
					 
					
						
						
							
							Fix iterator evaluation to return the proper result if a break happens  
						
						
						
					 
					
						2013-04-27 22:03:12 +02:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							cc243b17d7 
							
						 
					 
					
						
						
							
							Can now attach a label to a block and have it break properly  
						
						
						
					 
					
						2013-04-27 15:52:46 +02:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							8ab608b974 
							
						 
					 
					
						
						
							
							Makefile for building of otto/otto*  
						
						... 
						
						
						
						Fix stray dbg(...) in runtime 
						
					 
					
						2013-04-26 09:27:49 +02:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							16a30ee951 
							
						 
					 
					
						
						
							
							Differentiate between direct and indirect eval  
						
						
						
					 
					
						2013-02-27 21:23:21 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							321cc0dca8 
							
						 
					 
					
						
						
							
							Add _argumentsStash, with better conforming arguments behavior:  
						
						... 
						
						
						
						1. Can not delete a function parameter
    2. Deleting the index of an arguments object simply
       removes the link to that function parameter 
						
					 
					
						2013-02-24 14:28:07 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							840fde7610 
							
						 
					 
					
						
						
							
							Switch function environment to be declarative...  
						
						... 
						
						
						
						...instead of object.
Also, make sure arguments passed through to function are not deletable. 
						
					 
					
						2013-02-23 14:47:18 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							393b9384a5 
							
						 
					 
					
						
						
							
							Fit number (exponent/decimal) formatting to ECMA-262 (slightly better)  
						
						
						
					 
					
						2013-02-22 11:50:04 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							a24b29ebfe 
							
						 
					 
					
						
						
							
							Fix toString(-0)  
						
						
						
					 
					
						2013-02-21 19:02:29 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							3c9faa2810 
							
						 
					 
					
						
						
							
							Fix String.char*At to look at utf16 version  
						
						
						
					 
					
						2013-02-21 14:25:04 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							bf322e56ee 
							
						 
					 
					
						
						
							
							Fix subtle range bug in String.substring (uint => int64)  
						
						... 
						
						
						
						Was looking for negative in the following calculation:
uint(0) - uint(3) => uint(0) 
						
					 
					
						2013-02-20 16:24:01 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							4e4e89c894 
							
						 
					 
					
						
						
							
							Fix bug in String.slice with a (go) slice bounds violation  
						
						... 
						
						
						
						Basically, check that start is less than length before trying
to take a slice.
Also, rename valueToArrayIndex to valueToRangeIndex to reflect
the fact that it does not always return a value that is valid
index (value could be length) 
						
					 
					
						2013-02-20 15:58:43 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							d297d3c508 
							
						 
					 
					
						
						
							
							Add Number.toString  
						
						
						
					 
					
						2013-02-05 11:36:07 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							15aadd333c 
							
						 
					 
					
						
						
							
							Upgrade underscore to 1.4.4, including tests  
						
						
						
					 
					
						2013-02-04 21:58:47 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							a879744c20 
							
						 
					 
					
						
						
							
							Add Go <=> JavaScript type interaction  
						
						... 
						
						
						
						Via reflection for struct, map, and slice/array
Fix  #10  
						
					 
					
						2013-02-04 10:31:44 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							8044e8ae38 
							
						 
					 
					
						
						
							
							Adjust Makefile (test-synopsis)  
						
						
						
					 
					
						2013-01-25 10:46:58 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							3696636fce 
							
						 
					 
					
						
						
							
							Move test262 & more into a separate distribution  
						
						
						
					 
					
						2013-01-25 10:14:14 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							a13a891d92 
							
						 
					 
					
						
						
							
							Minor .test262 adjustments  
						
						
						
					 
					
						2013-01-24 23:56:48 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							668d0fc6a7 
							
						 
					 
					
						
						
							
							Fix broken (panicking) RegExp transformations  
						
						... 
						
						
						
						Transformations would panic on some edge (error) cases:
    \u0z
    \x_ 
						
					 
					
						2012-12-28 15:50:37 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							bff799a0e1 
							
						 
					 
					
						
						
							
							Test for correct endIndex when submatching  
						
						
						
					 
					
						2012-11-11 16:23:51 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							1b39f1b6cc 
							
						 
					 
					
						
						
							
							Calculate endIndex from last place of match, not last place of last submatch  
						
						
						
					 
					
						2012-11-09 15:36:08 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							845172c82c 
							
						 
					 
					
						
						
							
							endIndex needs to be an offset from lastIndex  
						
						
						
					 
					
						2012-11-07 15:46:21 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							d9765234a4 
							
						 
					 
					
						
						
							
							Fix to not bypass finally on continue, break, return, etc.  
						
						
						
					 
					
						2012-11-06 17:58:31 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							a4de862caa 
							
						 
					 
					
						
						
							
							Test condition in case of continue in do-while  
						
						
						
					 
					
						2012-11-06 17:27:12 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							26f8a53978 
							
						 
					 
					
						
						
							
							Accept out-of-range +/-Infinity (instead of NaNing)  
						
						
						
					 
					
						2012-11-06 11:06:45 -08:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							68943ba1e4 
							
						 
					 
					
						
						
							
							More (complex) RegExp => RE2 transforming and tests  
						
						... 
						
						
						
						The unescaping of that which does not need escaping 
						
					 
					
						2012-10-20 23:32:30 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							cd4f36ce98 
							
						 
					 
					
						
						
							
							Fix not skipping /* & // after encountering them  
						
						
						
					 
					
						2012-10-20 13:45:58 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							3a6dcf46ef 
							
						 
					 
					
						
						
							
							Don't expose re2 regular expression via //.source  
						
						
						
					 
					
						2012-10-20 12:55:29 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							f842eda638 
							
						 
					 
					
						
						
							
							Add a String.substr implementation  
						
						... 
						
						
						
						This will fix  #6  
						
					 
					
						2012-10-19 13:26:22 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							1728c036d4 
							
						 
					 
					
						
						
							
							Partial rewrite of lexer  
						
						... 
						
						
						
						- Better identifier scanning
- Less repetition in decoding the stream (cached in readIn)
- Method privitization 
						
					 
					
						2012-10-19 12:24:53 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							24e71588dd 
							
						 
					 
					
						
						
							
							Add String.fromCharCode  
						
						
						
					 
					
						2012-10-18 10:58:23 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							7982fa0fac 
							
						 
					 
					
						
						
							
							Fix scanning \r, \b, \f, \v as \t  
						
						... 
						
						
						
						Copy and paste error of epic proportions?
This will fix  #5  
						
					 
					
						2012-10-17 18:57:48 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							ed98144c35 
							
						 
					 
					
						
						
							
							Remarks on UTF-8/16  
						
						
						
					 
					
						2012-10-17 11:54:04 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							a780c85861 
							
						 
					 
					
						
						
							
							Fill out switch, for, for-in labelling  
						
						... 
						
						
						
						This and the previous commit fix  #4  
						
					 
					
						2012-10-16 23:11:35 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							58cf2a4b67 
							
						 
					 
					
						
						
							
							Add break capability to switch  
						
						
						
					 
					
						2012-10-16 22:57:25 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							d4c606a2a0 
							
						 
					 
					
						
						
							
							Add test262 testing environment  
						
						... 
						
						
						
						http://test262.ecmascript.org/  
					
						2012-10-16 10:07:04 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							a12391834e 
							
						 
					 
					
						
						
							
							Sometimes RegExp captures can fail, detect this  
						
						... 
						
						
						
						Fix  #2  (In .exec so far) 
					
						2012-10-14 21:45:38 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							7dfbf6ab13 
							
						 
					 
					
						
						
							
							Better regular expression syntax checking  
						
						... 
						
						
						
						And a limitation elaboration 
						
					 
					
						2012-10-12 18:55:41 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							c57edbfe2b 
							
						 
					 
					
						
						
							
							Alter Object.Call to be more in line with .Get, .Set  
						
						
						
					 
					
						2012-10-11 17:57:51 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							49dc256af8 
							
						 
					 
					
						
						
							
							Add README.markdown for registry  
						
						
						
					 
					
						2012-10-10 16:17:36 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							84b4aee178 
							
						 
					 
					
						
						
							
							Add README for underscore  
						
						
						
					 
					
						2012-10-10 16:11:46 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							5958af6914 
							
						 
					 
					
						
						
							
							Add registry package  
						
						... 
						
						
						
						Automatic inclusion of source on import 
						
					 
					
						2012-10-10 15:46:10 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							2d707b5a97 
							
						 
					 
					
						
						
							
							Don't get carried away with Markdown in godoc  
						
						
						
					 
					
						2012-10-10 14:52:52 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							b7a70e7470 
							
						 
					 
					
						
						
							
							Add note about commandline otto  
						
						
						
					 
					
						2012-10-09 18:58:11 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							89e6086ff6 
							
						 
					 
					
						
						
							
							Add embedding example & isolate synopsis testing  
						
						
						
					 
					
						2012-10-09 18:47:39 -07:00 
						 
				 
			
				
					
						
							
							
								Robert Krimen 
							
						 
					 
					
						
						
						
						
							
						
						
							0134729b74 
							
						 
					 
					
						
						
							
							Fixed synopsis test  
						
						
						
					 
					
						2012-10-09 17:27:43 -07:00