johnson 2.0.0.pre1 → 2.0.0.pre2
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG.rdoc +12 -0
- data/Manifest.txt +4 -285
- data/Rakefile +13 -20
- data/ext/tracemonkey/global.cc +4 -1
- data/ext/tracemonkey/js.cc +30 -33
- data/ext/tracemonkey/runtime.cc +96 -6
- data/ext/tracemonkey/split_global.cc +0 -5
- data/ext/tracemonkey/tracemonkey.h +2 -2
- data/lib/johnson.rb +2 -2
- data/lib/johnson/runtime.rb +25 -15
- data/lib/johnson/tracemonkey/runtime.rb +6 -3
- data/vendor/tracemonkey/config/system-headers +1 -3
- data/vendor/tracemonkey/jscntxt.h +5 -2
- data/vendor/tracemonkey/jsdbgapi.cpp +9 -1
- data/vendor/tracemonkey/jsdbgapi.h +4 -0
- data/vendor/tracemonkey/tests/ecma/NativeObjects/browser.js +0 -0
- data/vendor/tracemonkey/tests/ecma/NativeObjects/jstests.list +0 -0
- data/vendor/tracemonkey/tests/ecma_3_1/Object/jstests.list +1 -1
- data/vendor/tracemonkey/tests/js1_3/misc/browser.js +0 -0
- data/vendor/tracemonkey/tests/js1_3/misc/jstests.list +0 -0
- data/vendor/tracemonkey/tests/js1_5/Regress/jstests.list +4 -4
- data/vendor/tracemonkey/tests/js1_5/Scope/jstests.list +1 -1
- data/vendor/tracemonkey/tests/js1_5/decompilation/jstests.list +2 -2
- data/vendor/tracemonkey/tests/js1_7/decompilation/jstests.list +1 -1
- data/vendor/tracemonkey/tests/shell.js +2 -1
- metadata +51 -309
- data/ext/spidermonkey/context.c +0 -116
- data/ext/spidermonkey/context.h +0 -19
- data/ext/spidermonkey/conversions.c +0 -361
- data/ext/spidermonkey/conversions.h +0 -31
- data/ext/spidermonkey/debugger.c +0 -234
- data/ext/spidermonkey/debugger.h +0 -10
- data/ext/spidermonkey/extconf.rb +0 -32
- data/ext/spidermonkey/extensions.c +0 -37
- data/ext/spidermonkey/extensions.h +0 -12
- data/ext/spidermonkey/global.c +0 -40
- data/ext/spidermonkey/global.h +0 -11
- data/ext/spidermonkey/idhash.c +0 -16
- data/ext/spidermonkey/idhash.h +0 -8
- data/ext/spidermonkey/immutable_node.c +0 -1153
- data/ext/spidermonkey/immutable_node.c.erb +0 -523
- data/ext/spidermonkey/immutable_node.h +0 -22
- data/ext/spidermonkey/jroot.h +0 -197
- data/ext/spidermonkey/js_land_proxy.c +0 -620
- data/ext/spidermonkey/js_land_proxy.h +0 -20
- data/ext/spidermonkey/ruby_land_proxy.c +0 -618
- data/ext/spidermonkey/ruby_land_proxy.h +0 -38
- data/ext/spidermonkey/runtime.c +0 -396
- data/ext/spidermonkey/runtime.h +0 -27
- data/ext/spidermonkey/spidermonkey.c +0 -22
- data/ext/spidermonkey/spidermonkey.h +0 -29
- data/lib/johnson/spidermonkey.rb +0 -12
- data/lib/johnson/spidermonkey/context.rb +0 -10
- data/lib/johnson/spidermonkey/debugger.rb +0 -67
- data/lib/johnson/spidermonkey/immutable_node.rb +0 -282
- data/lib/johnson/spidermonkey/js_land_proxy.rb +0 -64
- data/lib/johnson/spidermonkey/mutable_tree_visitor.rb +0 -242
- data/lib/johnson/spidermonkey/ruby_land_proxy.rb +0 -17
- data/lib/johnson/spidermonkey/runtime.rb +0 -74
- data/test/johnson/spidermonkey/context_test.rb +0 -21
- data/test/johnson/spidermonkey/immutable_node_test.rb +0 -34
- data/test/johnson/spidermonkey/js_land_proxy_test.rb +0 -273
- data/test/johnson/spidermonkey/ruby_land_proxy_test.rb +0 -274
- data/test/johnson/spidermonkey/runtime_test.rb +0 -41
- data/vendor/spidermonkey/.cvsignore +0 -9
- data/vendor/spidermonkey/Makefile.in +0 -449
- data/vendor/spidermonkey/Makefile.ref +0 -365
- data/vendor/spidermonkey/README.html +0 -820
- data/vendor/spidermonkey/SpiderMonkey.rsp +0 -12
- data/vendor/spidermonkey/Y.js +0 -19
- data/vendor/spidermonkey/build.mk +0 -43
- data/vendor/spidermonkey/config.mk +0 -192
- data/vendor/spidermonkey/config/AIX4.1.mk +0 -65
- data/vendor/spidermonkey/config/AIX4.2.mk +0 -64
- data/vendor/spidermonkey/config/AIX4.3.mk +0 -65
- data/vendor/spidermonkey/config/Darwin.mk +0 -83
- data/vendor/spidermonkey/config/Darwin1.3.mk +0 -81
- data/vendor/spidermonkey/config/Darwin1.4.mk +0 -41
- data/vendor/spidermonkey/config/Darwin5.2.mk +0 -81
- data/vendor/spidermonkey/config/Darwin5.3.mk +0 -81
- data/vendor/spidermonkey/config/HP-UXB.10.10.mk +0 -77
- data/vendor/spidermonkey/config/HP-UXB.10.20.mk +0 -77
- data/vendor/spidermonkey/config/HP-UXB.11.00.mk +0 -80
- data/vendor/spidermonkey/config/IRIX.mk +0 -87
- data/vendor/spidermonkey/config/IRIX5.3.mk +0 -44
- data/vendor/spidermonkey/config/IRIX6.1.mk +0 -44
- data/vendor/spidermonkey/config/IRIX6.2.mk +0 -44
- data/vendor/spidermonkey/config/IRIX6.3.mk +0 -44
- data/vendor/spidermonkey/config/IRIX6.5.mk +0 -44
- data/vendor/spidermonkey/config/Linux_All.mk +0 -103
- data/vendor/spidermonkey/config/Mac_OS10.0.mk +0 -82
- data/vendor/spidermonkey/config/OSF1V4.0.mk +0 -72
- data/vendor/spidermonkey/config/OSF1V5.0.mk +0 -69
- data/vendor/spidermonkey/config/SunOS4.1.4.mk +0 -101
- data/vendor/spidermonkey/config/SunOS5.10.mk +0 -50
- data/vendor/spidermonkey/config/SunOS5.3.mk +0 -91
- data/vendor/spidermonkey/config/SunOS5.4.mk +0 -92
- data/vendor/spidermonkey/config/SunOS5.5.1.mk +0 -44
- data/vendor/spidermonkey/config/SunOS5.5.mk +0 -87
- data/vendor/spidermonkey/config/SunOS5.6.mk +0 -89
- data/vendor/spidermonkey/config/SunOS5.7.mk +0 -44
- data/vendor/spidermonkey/config/SunOS5.8.mk +0 -44
- data/vendor/spidermonkey/config/SunOS5.9.mk +0 -44
- data/vendor/spidermonkey/config/WINNT4.0.mk +0 -117
- data/vendor/spidermonkey/config/WINNT5.0.mk +0 -117
- data/vendor/spidermonkey/config/WINNT5.1.mk +0 -117
- data/vendor/spidermonkey/config/WINNT5.2.mk +0 -117
- data/vendor/spidermonkey/config/WINNT6.0.mk +0 -117
- data/vendor/spidermonkey/config/dgux.mk +0 -64
- data/vendor/spidermonkey/editline/Makefile.ref +0 -144
- data/vendor/spidermonkey/editline/README +0 -83
- data/vendor/spidermonkey/editline/editline.3 +0 -175
- data/vendor/spidermonkey/editline/editline.c +0 -1369
- data/vendor/spidermonkey/editline/editline.h +0 -135
- data/vendor/spidermonkey/editline/sysunix.c +0 -182
- data/vendor/spidermonkey/editline/unix.h +0 -82
- data/vendor/spidermonkey/fdlibm/.cvsignore +0 -7
- data/vendor/spidermonkey/fdlibm/Makefile.in +0 -127
- data/vendor/spidermonkey/fdlibm/Makefile.ref +0 -192
- data/vendor/spidermonkey/fdlibm/e_acos.c +0 -147
- data/vendor/spidermonkey/fdlibm/e_acosh.c +0 -105
- data/vendor/spidermonkey/fdlibm/e_asin.c +0 -156
- data/vendor/spidermonkey/fdlibm/e_atan2.c +0 -165
- data/vendor/spidermonkey/fdlibm/e_atanh.c +0 -110
- data/vendor/spidermonkey/fdlibm/e_cosh.c +0 -133
- data/vendor/spidermonkey/fdlibm/e_exp.c +0 -202
- data/vendor/spidermonkey/fdlibm/e_fmod.c +0 -184
- data/vendor/spidermonkey/fdlibm/e_gamma.c +0 -71
- data/vendor/spidermonkey/fdlibm/e_gamma_r.c +0 -70
- data/vendor/spidermonkey/fdlibm/e_hypot.c +0 -173
- data/vendor/spidermonkey/fdlibm/e_j0.c +0 -524
- data/vendor/spidermonkey/fdlibm/e_j1.c +0 -523
- data/vendor/spidermonkey/fdlibm/e_jn.c +0 -315
- data/vendor/spidermonkey/fdlibm/e_lgamma.c +0 -71
- data/vendor/spidermonkey/fdlibm/e_lgamma_r.c +0 -347
- data/vendor/spidermonkey/fdlibm/e_log.c +0 -184
- data/vendor/spidermonkey/fdlibm/e_log10.c +0 -134
- data/vendor/spidermonkey/fdlibm/e_pow.c +0 -386
- data/vendor/spidermonkey/fdlibm/e_rem_pio2.c +0 -222
- data/vendor/spidermonkey/fdlibm/e_remainder.c +0 -120
- data/vendor/spidermonkey/fdlibm/e_scalb.c +0 -89
- data/vendor/spidermonkey/fdlibm/e_sinh.c +0 -122
- data/vendor/spidermonkey/fdlibm/e_sqrt.c +0 -497
- data/vendor/spidermonkey/fdlibm/fdlibm.h +0 -273
- data/vendor/spidermonkey/fdlibm/fdlibm.mak +0 -1453
- data/vendor/spidermonkey/fdlibm/fdlibm.mdp +0 -0
- data/vendor/spidermonkey/fdlibm/k_cos.c +0 -135
- data/vendor/spidermonkey/fdlibm/k_rem_pio2.c +0 -354
- data/vendor/spidermonkey/fdlibm/k_sin.c +0 -114
- data/vendor/spidermonkey/fdlibm/k_standard.c +0 -785
- data/vendor/spidermonkey/fdlibm/k_tan.c +0 -170
- data/vendor/spidermonkey/fdlibm/s_asinh.c +0 -101
- data/vendor/spidermonkey/fdlibm/s_atan.c +0 -175
- data/vendor/spidermonkey/fdlibm/s_cbrt.c +0 -133
- data/vendor/spidermonkey/fdlibm/s_ceil.c +0 -120
- data/vendor/spidermonkey/fdlibm/s_copysign.c +0 -72
- data/vendor/spidermonkey/fdlibm/s_cos.c +0 -118
- data/vendor/spidermonkey/fdlibm/s_erf.c +0 -356
- data/vendor/spidermonkey/fdlibm/s_expm1.c +0 -267
- data/vendor/spidermonkey/fdlibm/s_fabs.c +0 -70
- data/vendor/spidermonkey/fdlibm/s_finite.c +0 -71
- data/vendor/spidermonkey/fdlibm/s_floor.c +0 -121
- data/vendor/spidermonkey/fdlibm/s_frexp.c +0 -99
- data/vendor/spidermonkey/fdlibm/s_ilogb.c +0 -85
- data/vendor/spidermonkey/fdlibm/s_isnan.c +0 -74
- data/vendor/spidermonkey/fdlibm/s_ldexp.c +0 -66
- data/vendor/spidermonkey/fdlibm/s_lib_version.c +0 -73
- data/vendor/spidermonkey/fdlibm/s_log1p.c +0 -211
- data/vendor/spidermonkey/fdlibm/s_logb.c +0 -79
- data/vendor/spidermonkey/fdlibm/s_matherr.c +0 -64
- data/vendor/spidermonkey/fdlibm/s_modf.c +0 -132
- data/vendor/spidermonkey/fdlibm/s_nextafter.c +0 -124
- data/vendor/spidermonkey/fdlibm/s_rint.c +0 -131
- data/vendor/spidermonkey/fdlibm/s_scalbn.c +0 -107
- data/vendor/spidermonkey/fdlibm/s_signgam.c +0 -40
- data/vendor/spidermonkey/fdlibm/s_significand.c +0 -68
- data/vendor/spidermonkey/fdlibm/s_sin.c +0 -118
- data/vendor/spidermonkey/fdlibm/s_tan.c +0 -112
- data/vendor/spidermonkey/fdlibm/s_tanh.c +0 -122
- data/vendor/spidermonkey/fdlibm/w_acos.c +0 -78
- data/vendor/spidermonkey/fdlibm/w_acosh.c +0 -78
- data/vendor/spidermonkey/fdlibm/w_asin.c +0 -80
- data/vendor/spidermonkey/fdlibm/w_atan2.c +0 -79
- data/vendor/spidermonkey/fdlibm/w_atanh.c +0 -81
- data/vendor/spidermonkey/fdlibm/w_cosh.c +0 -77
- data/vendor/spidermonkey/fdlibm/w_exp.c +0 -88
- data/vendor/spidermonkey/fdlibm/w_fmod.c +0 -78
- data/vendor/spidermonkey/fdlibm/w_gamma.c +0 -85
- data/vendor/spidermonkey/fdlibm/w_gamma_r.c +0 -81
- data/vendor/spidermonkey/fdlibm/w_hypot.c +0 -78
- data/vendor/spidermonkey/fdlibm/w_j0.c +0 -105
- data/vendor/spidermonkey/fdlibm/w_j1.c +0 -106
- data/vendor/spidermonkey/fdlibm/w_jn.c +0 -128
- data/vendor/spidermonkey/fdlibm/w_lgamma.c +0 -85
- data/vendor/spidermonkey/fdlibm/w_lgamma_r.c +0 -81
- data/vendor/spidermonkey/fdlibm/w_log.c +0 -78
- data/vendor/spidermonkey/fdlibm/w_log10.c +0 -81
- data/vendor/spidermonkey/fdlibm/w_pow.c +0 -99
- data/vendor/spidermonkey/fdlibm/w_remainder.c +0 -77
- data/vendor/spidermonkey/fdlibm/w_scalb.c +0 -95
- data/vendor/spidermonkey/fdlibm/w_sinh.c +0 -77
- data/vendor/spidermonkey/fdlibm/w_sqrt.c +0 -77
- data/vendor/spidermonkey/javascript-trace.d +0 -73
- data/vendor/spidermonkey/js.c +0 -3951
- data/vendor/spidermonkey/js.mdp +0 -0
- data/vendor/spidermonkey/js.msg +0 -308
- data/vendor/spidermonkey/js.pkg +0 -2
- data/vendor/spidermonkey/js3240.rc +0 -79
- data/vendor/spidermonkey/jsOS240.def +0 -654
- data/vendor/spidermonkey/jsapi.c +0 -5836
- data/vendor/spidermonkey/jsapi.h +0 -2624
- data/vendor/spidermonkey/jsarena.c +0 -450
- data/vendor/spidermonkey/jsarena.h +0 -318
- data/vendor/spidermonkey/jsarray.c +0 -2996
- data/vendor/spidermonkey/jsarray.h +0 -127
- data/vendor/spidermonkey/jsatom.c +0 -1045
- data/vendor/spidermonkey/jsatom.h +0 -442
- data/vendor/spidermonkey/jsbit.h +0 -253
- data/vendor/spidermonkey/jsbool.c +0 -176
- data/vendor/spidermonkey/jsbool.h +0 -73
- data/vendor/spidermonkey/jsclist.h +0 -139
- data/vendor/spidermonkey/jscntxt.c +0 -1348
- data/vendor/spidermonkey/jscntxt.h +0 -1120
- data/vendor/spidermonkey/jscompat.h +0 -57
- data/vendor/spidermonkey/jsconfig.h +0 -248
- data/vendor/spidermonkey/jsconfig.mk +0 -181
- data/vendor/spidermonkey/jscpucfg.c +0 -396
- data/vendor/spidermonkey/jscpucfg.h +0 -212
- data/vendor/spidermonkey/jsdate.c +0 -2390
- data/vendor/spidermonkey/jsdate.h +0 -124
- data/vendor/spidermonkey/jsdbgapi.c +0 -1802
- data/vendor/spidermonkey/jsdbgapi.h +0 -464
- data/vendor/spidermonkey/jsdhash.c +0 -868
- data/vendor/spidermonkey/jsdhash.h +0 -592
- data/vendor/spidermonkey/jsdtoa.c +0 -3167
- data/vendor/spidermonkey/jsdtoa.h +0 -130
- data/vendor/spidermonkey/jsdtracef.c +0 -317
- data/vendor/spidermonkey/jsdtracef.h +0 -77
- data/vendor/spidermonkey/jsemit.c +0 -6909
- data/vendor/spidermonkey/jsemit.h +0 -741
- data/vendor/spidermonkey/jsexn.c +0 -1371
- data/vendor/spidermonkey/jsexn.h +0 -96
- data/vendor/spidermonkey/jsfile.c +0 -2736
- data/vendor/spidermonkey/jsfile.h +0 -56
- data/vendor/spidermonkey/jsfile.msg +0 -90
- data/vendor/spidermonkey/jsfun.c +0 -2634
- data/vendor/spidermonkey/jsfun.h +0 -254
- data/vendor/spidermonkey/jsgc.c +0 -3562
- data/vendor/spidermonkey/jsgc.h +0 -403
- data/vendor/spidermonkey/jshash.c +0 -476
- data/vendor/spidermonkey/jshash.h +0 -151
- data/vendor/spidermonkey/jsify.pl +0 -485
- data/vendor/spidermonkey/jsinterp.c +0 -7007
- data/vendor/spidermonkey/jsinterp.h +0 -525
- data/vendor/spidermonkey/jsinvoke.c +0 -43
- data/vendor/spidermonkey/jsiter.c +0 -1067
- data/vendor/spidermonkey/jsiter.h +0 -122
- data/vendor/spidermonkey/jskeyword.tbl +0 -124
- data/vendor/spidermonkey/jskwgen.c +0 -460
- data/vendor/spidermonkey/jslibmath.h +0 -266
- data/vendor/spidermonkey/jslock.c +0 -1309
- data/vendor/spidermonkey/jslock.h +0 -313
- data/vendor/spidermonkey/jslocko.asm +0 -60
- data/vendor/spidermonkey/jslog2.c +0 -94
- data/vendor/spidermonkey/jslong.c +0 -264
- data/vendor/spidermonkey/jslong.h +0 -412
- data/vendor/spidermonkey/jsmath.c +0 -567
- data/vendor/spidermonkey/jsmath.h +0 -57
- data/vendor/spidermonkey/jsnum.c +0 -1239
- data/vendor/spidermonkey/jsnum.h +0 -283
- data/vendor/spidermonkey/jsobj.c +0 -5282
- data/vendor/spidermonkey/jsobj.h +0 -709
- data/vendor/spidermonkey/jsopcode.c +0 -5245
- data/vendor/spidermonkey/jsopcode.h +0 -394
- data/vendor/spidermonkey/jsopcode.tbl +0 -523
- data/vendor/spidermonkey/jsotypes.h +0 -202
- data/vendor/spidermonkey/jsparse.c +0 -6704
- data/vendor/spidermonkey/jsparse.h +0 -511
- data/vendor/spidermonkey/jsprf.c +0 -1264
- data/vendor/spidermonkey/jsprf.h +0 -150
- data/vendor/spidermonkey/jsproto.tbl +0 -128
- data/vendor/spidermonkey/jsprvtd.h +0 -267
- data/vendor/spidermonkey/jspubtd.h +0 -744
- data/vendor/spidermonkey/jsregexp.c +0 -4364
- data/vendor/spidermonkey/jsregexp.h +0 -183
- data/vendor/spidermonkey/jsreops.tbl +0 -145
- data/vendor/spidermonkey/jsscan.c +0 -2012
- data/vendor/spidermonkey/jsscan.h +0 -387
- data/vendor/spidermonkey/jsscope.c +0 -1957
- data/vendor/spidermonkey/jsscope.h +0 -418
- data/vendor/spidermonkey/jsscript.c +0 -1832
- data/vendor/spidermonkey/jsscript.h +0 -287
- data/vendor/spidermonkey/jsshell.msg +0 -50
- data/vendor/spidermonkey/jsstddef.h +0 -83
- data/vendor/spidermonkey/jsstr.c +0 -5005
- data/vendor/spidermonkey/jsstr.h +0 -641
- data/vendor/spidermonkey/jstypes.h +0 -475
- data/vendor/spidermonkey/jsutil.c +0 -345
- data/vendor/spidermonkey/jsutil.h +0 -157
- data/vendor/spidermonkey/jsxdrapi.c +0 -800
- data/vendor/spidermonkey/jsxdrapi.h +0 -218
- data/vendor/spidermonkey/jsxml.c +0 -8476
- data/vendor/spidermonkey/jsxml.h +0 -349
- data/vendor/spidermonkey/lock_SunOS.s +0 -119
- data/vendor/spidermonkey/perfect.js +0 -39
- data/vendor/spidermonkey/plify_jsdhash.sed +0 -36
- data/vendor/spidermonkey/prmjtime.c +0 -846
- data/vendor/spidermonkey/prmjtime.h +0 -103
- data/vendor/spidermonkey/resource.h +0 -15
- data/vendor/spidermonkey/rules.mk +0 -197
- data/vendor/spidermonkey/win32.order +0 -384
data/CHANGELOG.rdoc
CHANGED
@@ -1,3 +1,15 @@
|
|
1
|
+
=== 2.0.0.pre2 / 2010-02-23
|
2
|
+
|
3
|
+
* Raise NoMemoryError as appropriate; acccept a size parameter or env variable for runtime size
|
4
|
+
* pull latest 1.9.2 SM
|
5
|
+
* Allow ruby code to create new gobal objects and add preliminary seal support
|
6
|
+
* Clear parent and prototype on new globals
|
7
|
+
* Cooperate with StackDeck's new backtrace-manipulating ways.
|
8
|
+
* remove thread ref to context (allows collection)
|
9
|
+
* Bump Hoe and Rake Compiler deps. Automatically grab submodules.
|
10
|
+
* Remove the old spidermonkey extension.
|
11
|
+
* Fix include guard for base TM header [Quin Hoxie]
|
12
|
+
|
1
13
|
=== 2.0.0.pre1 / 2010-02-11
|
2
14
|
|
3
15
|
* Split global fix; covers all known issues
|
data/Manifest.txt
CHANGED
@@ -4,31 +4,6 @@ Manifest.txt
|
|
4
4
|
README.rdoc
|
5
5
|
Rakefile
|
6
6
|
bin/johnson
|
7
|
-
ext/spidermonkey/context.c
|
8
|
-
ext/spidermonkey/context.h
|
9
|
-
ext/spidermonkey/conversions.c
|
10
|
-
ext/spidermonkey/conversions.h
|
11
|
-
ext/spidermonkey/debugger.c
|
12
|
-
ext/spidermonkey/debugger.h
|
13
|
-
ext/spidermonkey/extconf.rb
|
14
|
-
ext/spidermonkey/extensions.c
|
15
|
-
ext/spidermonkey/extensions.h
|
16
|
-
ext/spidermonkey/global.c
|
17
|
-
ext/spidermonkey/global.h
|
18
|
-
ext/spidermonkey/idhash.c
|
19
|
-
ext/spidermonkey/idhash.h
|
20
|
-
ext/spidermonkey/immutable_node.c
|
21
|
-
ext/spidermonkey/immutable_node.c.erb
|
22
|
-
ext/spidermonkey/immutable_node.h
|
23
|
-
ext/spidermonkey/jroot.h
|
24
|
-
ext/spidermonkey/js_land_proxy.c
|
25
|
-
ext/spidermonkey/js_land_proxy.h
|
26
|
-
ext/spidermonkey/ruby_land_proxy.c
|
27
|
-
ext/spidermonkey/ruby_land_proxy.h
|
28
|
-
ext/spidermonkey/runtime.c
|
29
|
-
ext/spidermonkey/runtime.h
|
30
|
-
ext/spidermonkey/spidermonkey.c
|
31
|
-
ext/spidermonkey/spidermonkey.h
|
32
7
|
ext/tracemonkey/context.cc
|
33
8
|
ext/tracemonkey/context.h
|
34
9
|
ext/tracemonkey/conversions.cc
|
@@ -76,14 +51,6 @@ lib/johnson/parser.rb
|
|
76
51
|
lib/johnson/parser/syntax_error.rb
|
77
52
|
lib/johnson/ruby_land_proxy.rb
|
78
53
|
lib/johnson/runtime.rb
|
79
|
-
lib/johnson/spidermonkey.rb
|
80
|
-
lib/johnson/spidermonkey/context.rb
|
81
|
-
lib/johnson/spidermonkey/debugger.rb
|
82
|
-
lib/johnson/spidermonkey/immutable_node.rb
|
83
|
-
lib/johnson/spidermonkey/js_land_proxy.rb
|
84
|
-
lib/johnson/spidermonkey/mutable_tree_visitor.rb
|
85
|
-
lib/johnson/spidermonkey/ruby_land_proxy.rb
|
86
|
-
lib/johnson/spidermonkey/runtime.rb
|
87
54
|
lib/johnson/tracemonkey.rb
|
88
55
|
lib/johnson/tracemonkey/context.rb
|
89
56
|
lib/johnson/tracemonkey/debugger.rb
|
@@ -153,11 +120,6 @@ test/johnson/generic/version_test.rb
|
|
153
120
|
test/johnson/generic/visitors/dot_visitor_test.rb
|
154
121
|
test/johnson/generic/visitors/enumerating_visitor_test.rb
|
155
122
|
test/johnson/generic/visitors/helper.rb
|
156
|
-
test/johnson/spidermonkey/context_test.rb
|
157
|
-
test/johnson/spidermonkey/immutable_node_test.rb
|
158
|
-
test/johnson/spidermonkey/js_land_proxy_test.rb
|
159
|
-
test/johnson/spidermonkey/ruby_land_proxy_test.rb
|
160
|
-
test/johnson/spidermonkey/runtime_test.rb
|
161
123
|
test/johnson/tracemonkey/context_test.rb
|
162
124
|
test/johnson/tracemonkey/immutable_node_test.rb
|
163
125
|
test/johnson/tracemonkey/js_land_proxy_test.rb
|
@@ -165,253 +127,6 @@ test/johnson/tracemonkey/ruby_land_proxy_test.rb
|
|
165
127
|
test/johnson/tracemonkey/runtime_test.rb
|
166
128
|
test/johnson/tracemonkey/split_global_test.html
|
167
129
|
test/johnson/tracemonkey/split_global_test.rb
|
168
|
-
vendor/spidermonkey/.cvsignore
|
169
|
-
vendor/spidermonkey/Makefile.in
|
170
|
-
vendor/spidermonkey/Makefile.ref
|
171
|
-
vendor/spidermonkey/README.html
|
172
|
-
vendor/spidermonkey/SpiderMonkey.rsp
|
173
|
-
vendor/spidermonkey/Y.js
|
174
|
-
vendor/spidermonkey/build.mk
|
175
|
-
vendor/spidermonkey/config.mk
|
176
|
-
vendor/spidermonkey/config/AIX4.1.mk
|
177
|
-
vendor/spidermonkey/config/AIX4.2.mk
|
178
|
-
vendor/spidermonkey/config/AIX4.3.mk
|
179
|
-
vendor/spidermonkey/config/Darwin.mk
|
180
|
-
vendor/spidermonkey/config/Darwin1.3.mk
|
181
|
-
vendor/spidermonkey/config/Darwin1.4.mk
|
182
|
-
vendor/spidermonkey/config/Darwin5.2.mk
|
183
|
-
vendor/spidermonkey/config/Darwin5.3.mk
|
184
|
-
vendor/spidermonkey/config/HP-UXB.10.10.mk
|
185
|
-
vendor/spidermonkey/config/HP-UXB.10.20.mk
|
186
|
-
vendor/spidermonkey/config/HP-UXB.11.00.mk
|
187
|
-
vendor/spidermonkey/config/IRIX.mk
|
188
|
-
vendor/spidermonkey/config/IRIX5.3.mk
|
189
|
-
vendor/spidermonkey/config/IRIX6.1.mk
|
190
|
-
vendor/spidermonkey/config/IRIX6.2.mk
|
191
|
-
vendor/spidermonkey/config/IRIX6.3.mk
|
192
|
-
vendor/spidermonkey/config/IRIX6.5.mk
|
193
|
-
vendor/spidermonkey/config/Linux_All.mk
|
194
|
-
vendor/spidermonkey/config/Mac_OS10.0.mk
|
195
|
-
vendor/spidermonkey/config/OSF1V4.0.mk
|
196
|
-
vendor/spidermonkey/config/OSF1V5.0.mk
|
197
|
-
vendor/spidermonkey/config/SunOS4.1.4.mk
|
198
|
-
vendor/spidermonkey/config/SunOS5.10.mk
|
199
|
-
vendor/spidermonkey/config/SunOS5.3.mk
|
200
|
-
vendor/spidermonkey/config/SunOS5.4.mk
|
201
|
-
vendor/spidermonkey/config/SunOS5.5.1.mk
|
202
|
-
vendor/spidermonkey/config/SunOS5.5.mk
|
203
|
-
vendor/spidermonkey/config/SunOS5.6.mk
|
204
|
-
vendor/spidermonkey/config/SunOS5.7.mk
|
205
|
-
vendor/spidermonkey/config/SunOS5.8.mk
|
206
|
-
vendor/spidermonkey/config/SunOS5.9.mk
|
207
|
-
vendor/spidermonkey/config/WINNT4.0.mk
|
208
|
-
vendor/spidermonkey/config/WINNT5.0.mk
|
209
|
-
vendor/spidermonkey/config/WINNT5.1.mk
|
210
|
-
vendor/spidermonkey/config/WINNT5.2.mk
|
211
|
-
vendor/spidermonkey/config/WINNT6.0.mk
|
212
|
-
vendor/spidermonkey/config/dgux.mk
|
213
|
-
vendor/spidermonkey/editline/Makefile.ref
|
214
|
-
vendor/spidermonkey/editline/README
|
215
|
-
vendor/spidermonkey/editline/editline.3
|
216
|
-
vendor/spidermonkey/editline/editline.c
|
217
|
-
vendor/spidermonkey/editline/editline.h
|
218
|
-
vendor/spidermonkey/editline/sysunix.c
|
219
|
-
vendor/spidermonkey/editline/unix.h
|
220
|
-
vendor/spidermonkey/fdlibm/.cvsignore
|
221
|
-
vendor/spidermonkey/fdlibm/Makefile.in
|
222
|
-
vendor/spidermonkey/fdlibm/Makefile.ref
|
223
|
-
vendor/spidermonkey/fdlibm/e_acos.c
|
224
|
-
vendor/spidermonkey/fdlibm/e_acosh.c
|
225
|
-
vendor/spidermonkey/fdlibm/e_asin.c
|
226
|
-
vendor/spidermonkey/fdlibm/e_atan2.c
|
227
|
-
vendor/spidermonkey/fdlibm/e_atanh.c
|
228
|
-
vendor/spidermonkey/fdlibm/e_cosh.c
|
229
|
-
vendor/spidermonkey/fdlibm/e_exp.c
|
230
|
-
vendor/spidermonkey/fdlibm/e_fmod.c
|
231
|
-
vendor/spidermonkey/fdlibm/e_gamma.c
|
232
|
-
vendor/spidermonkey/fdlibm/e_gamma_r.c
|
233
|
-
vendor/spidermonkey/fdlibm/e_hypot.c
|
234
|
-
vendor/spidermonkey/fdlibm/e_j0.c
|
235
|
-
vendor/spidermonkey/fdlibm/e_j1.c
|
236
|
-
vendor/spidermonkey/fdlibm/e_jn.c
|
237
|
-
vendor/spidermonkey/fdlibm/e_lgamma.c
|
238
|
-
vendor/spidermonkey/fdlibm/e_lgamma_r.c
|
239
|
-
vendor/spidermonkey/fdlibm/e_log.c
|
240
|
-
vendor/spidermonkey/fdlibm/e_log10.c
|
241
|
-
vendor/spidermonkey/fdlibm/e_pow.c
|
242
|
-
vendor/spidermonkey/fdlibm/e_rem_pio2.c
|
243
|
-
vendor/spidermonkey/fdlibm/e_remainder.c
|
244
|
-
vendor/spidermonkey/fdlibm/e_scalb.c
|
245
|
-
vendor/spidermonkey/fdlibm/e_sinh.c
|
246
|
-
vendor/spidermonkey/fdlibm/e_sqrt.c
|
247
|
-
vendor/spidermonkey/fdlibm/fdlibm.h
|
248
|
-
vendor/spidermonkey/fdlibm/fdlibm.mak
|
249
|
-
vendor/spidermonkey/fdlibm/fdlibm.mdp
|
250
|
-
vendor/spidermonkey/fdlibm/k_cos.c
|
251
|
-
vendor/spidermonkey/fdlibm/k_rem_pio2.c
|
252
|
-
vendor/spidermonkey/fdlibm/k_sin.c
|
253
|
-
vendor/spidermonkey/fdlibm/k_standard.c
|
254
|
-
vendor/spidermonkey/fdlibm/k_tan.c
|
255
|
-
vendor/spidermonkey/fdlibm/s_asinh.c
|
256
|
-
vendor/spidermonkey/fdlibm/s_atan.c
|
257
|
-
vendor/spidermonkey/fdlibm/s_cbrt.c
|
258
|
-
vendor/spidermonkey/fdlibm/s_ceil.c
|
259
|
-
vendor/spidermonkey/fdlibm/s_copysign.c
|
260
|
-
vendor/spidermonkey/fdlibm/s_cos.c
|
261
|
-
vendor/spidermonkey/fdlibm/s_erf.c
|
262
|
-
vendor/spidermonkey/fdlibm/s_expm1.c
|
263
|
-
vendor/spidermonkey/fdlibm/s_fabs.c
|
264
|
-
vendor/spidermonkey/fdlibm/s_finite.c
|
265
|
-
vendor/spidermonkey/fdlibm/s_floor.c
|
266
|
-
vendor/spidermonkey/fdlibm/s_frexp.c
|
267
|
-
vendor/spidermonkey/fdlibm/s_ilogb.c
|
268
|
-
vendor/spidermonkey/fdlibm/s_isnan.c
|
269
|
-
vendor/spidermonkey/fdlibm/s_ldexp.c
|
270
|
-
vendor/spidermonkey/fdlibm/s_lib_version.c
|
271
|
-
vendor/spidermonkey/fdlibm/s_log1p.c
|
272
|
-
vendor/spidermonkey/fdlibm/s_logb.c
|
273
|
-
vendor/spidermonkey/fdlibm/s_matherr.c
|
274
|
-
vendor/spidermonkey/fdlibm/s_modf.c
|
275
|
-
vendor/spidermonkey/fdlibm/s_nextafter.c
|
276
|
-
vendor/spidermonkey/fdlibm/s_rint.c
|
277
|
-
vendor/spidermonkey/fdlibm/s_scalbn.c
|
278
|
-
vendor/spidermonkey/fdlibm/s_signgam.c
|
279
|
-
vendor/spidermonkey/fdlibm/s_significand.c
|
280
|
-
vendor/spidermonkey/fdlibm/s_sin.c
|
281
|
-
vendor/spidermonkey/fdlibm/s_tan.c
|
282
|
-
vendor/spidermonkey/fdlibm/s_tanh.c
|
283
|
-
vendor/spidermonkey/fdlibm/w_acos.c
|
284
|
-
vendor/spidermonkey/fdlibm/w_acosh.c
|
285
|
-
vendor/spidermonkey/fdlibm/w_asin.c
|
286
|
-
vendor/spidermonkey/fdlibm/w_atan2.c
|
287
|
-
vendor/spidermonkey/fdlibm/w_atanh.c
|
288
|
-
vendor/spidermonkey/fdlibm/w_cosh.c
|
289
|
-
vendor/spidermonkey/fdlibm/w_exp.c
|
290
|
-
vendor/spidermonkey/fdlibm/w_fmod.c
|
291
|
-
vendor/spidermonkey/fdlibm/w_gamma.c
|
292
|
-
vendor/spidermonkey/fdlibm/w_gamma_r.c
|
293
|
-
vendor/spidermonkey/fdlibm/w_hypot.c
|
294
|
-
vendor/spidermonkey/fdlibm/w_j0.c
|
295
|
-
vendor/spidermonkey/fdlibm/w_j1.c
|
296
|
-
vendor/spidermonkey/fdlibm/w_jn.c
|
297
|
-
vendor/spidermonkey/fdlibm/w_lgamma.c
|
298
|
-
vendor/spidermonkey/fdlibm/w_lgamma_r.c
|
299
|
-
vendor/spidermonkey/fdlibm/w_log.c
|
300
|
-
vendor/spidermonkey/fdlibm/w_log10.c
|
301
|
-
vendor/spidermonkey/fdlibm/w_pow.c
|
302
|
-
vendor/spidermonkey/fdlibm/w_remainder.c
|
303
|
-
vendor/spidermonkey/fdlibm/w_scalb.c
|
304
|
-
vendor/spidermonkey/fdlibm/w_sinh.c
|
305
|
-
vendor/spidermonkey/fdlibm/w_sqrt.c
|
306
|
-
vendor/spidermonkey/javascript-trace.d
|
307
|
-
vendor/spidermonkey/js.c
|
308
|
-
vendor/spidermonkey/js.mdp
|
309
|
-
vendor/spidermonkey/js.msg
|
310
|
-
vendor/spidermonkey/js.pkg
|
311
|
-
vendor/spidermonkey/js3240.rc
|
312
|
-
vendor/spidermonkey/jsOS240.def
|
313
|
-
vendor/spidermonkey/jsapi.c
|
314
|
-
vendor/spidermonkey/jsapi.h
|
315
|
-
vendor/spidermonkey/jsarena.c
|
316
|
-
vendor/spidermonkey/jsarena.h
|
317
|
-
vendor/spidermonkey/jsarray.c
|
318
|
-
vendor/spidermonkey/jsarray.h
|
319
|
-
vendor/spidermonkey/jsatom.c
|
320
|
-
vendor/spidermonkey/jsatom.h
|
321
|
-
vendor/spidermonkey/jsbit.h
|
322
|
-
vendor/spidermonkey/jsbool.c
|
323
|
-
vendor/spidermonkey/jsbool.h
|
324
|
-
vendor/spidermonkey/jsclist.h
|
325
|
-
vendor/spidermonkey/jscntxt.c
|
326
|
-
vendor/spidermonkey/jscntxt.h
|
327
|
-
vendor/spidermonkey/jscompat.h
|
328
|
-
vendor/spidermonkey/jsconfig.h
|
329
|
-
vendor/spidermonkey/jsconfig.mk
|
330
|
-
vendor/spidermonkey/jscpucfg.c
|
331
|
-
vendor/spidermonkey/jscpucfg.h
|
332
|
-
vendor/spidermonkey/jsdate.c
|
333
|
-
vendor/spidermonkey/jsdate.h
|
334
|
-
vendor/spidermonkey/jsdbgapi.c
|
335
|
-
vendor/spidermonkey/jsdbgapi.h
|
336
|
-
vendor/spidermonkey/jsdhash.c
|
337
|
-
vendor/spidermonkey/jsdhash.h
|
338
|
-
vendor/spidermonkey/jsdtoa.c
|
339
|
-
vendor/spidermonkey/jsdtoa.h
|
340
|
-
vendor/spidermonkey/jsdtracef.c
|
341
|
-
vendor/spidermonkey/jsdtracef.h
|
342
|
-
vendor/spidermonkey/jsemit.c
|
343
|
-
vendor/spidermonkey/jsemit.h
|
344
|
-
vendor/spidermonkey/jsexn.c
|
345
|
-
vendor/spidermonkey/jsexn.h
|
346
|
-
vendor/spidermonkey/jsfile.c
|
347
|
-
vendor/spidermonkey/jsfile.h
|
348
|
-
vendor/spidermonkey/jsfile.msg
|
349
|
-
vendor/spidermonkey/jsfun.c
|
350
|
-
vendor/spidermonkey/jsfun.h
|
351
|
-
vendor/spidermonkey/jsgc.c
|
352
|
-
vendor/spidermonkey/jsgc.h
|
353
|
-
vendor/spidermonkey/jshash.c
|
354
|
-
vendor/spidermonkey/jshash.h
|
355
|
-
vendor/spidermonkey/jsify.pl
|
356
|
-
vendor/spidermonkey/jsinterp.c
|
357
|
-
vendor/spidermonkey/jsinterp.h
|
358
|
-
vendor/spidermonkey/jsinvoke.c
|
359
|
-
vendor/spidermonkey/jsiter.c
|
360
|
-
vendor/spidermonkey/jsiter.h
|
361
|
-
vendor/spidermonkey/jskeyword.tbl
|
362
|
-
vendor/spidermonkey/jskwgen.c
|
363
|
-
vendor/spidermonkey/jslibmath.h
|
364
|
-
vendor/spidermonkey/jslock.c
|
365
|
-
vendor/spidermonkey/jslock.h
|
366
|
-
vendor/spidermonkey/jslocko.asm
|
367
|
-
vendor/spidermonkey/jslog2.c
|
368
|
-
vendor/spidermonkey/jslong.c
|
369
|
-
vendor/spidermonkey/jslong.h
|
370
|
-
vendor/spidermonkey/jsmath.c
|
371
|
-
vendor/spidermonkey/jsmath.h
|
372
|
-
vendor/spidermonkey/jsnum.c
|
373
|
-
vendor/spidermonkey/jsnum.h
|
374
|
-
vendor/spidermonkey/jsobj.c
|
375
|
-
vendor/spidermonkey/jsobj.h
|
376
|
-
vendor/spidermonkey/jsopcode.c
|
377
|
-
vendor/spidermonkey/jsopcode.h
|
378
|
-
vendor/spidermonkey/jsopcode.tbl
|
379
|
-
vendor/spidermonkey/jsotypes.h
|
380
|
-
vendor/spidermonkey/jsparse.c
|
381
|
-
vendor/spidermonkey/jsparse.h
|
382
|
-
vendor/spidermonkey/jsprf.c
|
383
|
-
vendor/spidermonkey/jsprf.h
|
384
|
-
vendor/spidermonkey/jsproto.tbl
|
385
|
-
vendor/spidermonkey/jsprvtd.h
|
386
|
-
vendor/spidermonkey/jspubtd.h
|
387
|
-
vendor/spidermonkey/jsregexp.c
|
388
|
-
vendor/spidermonkey/jsregexp.h
|
389
|
-
vendor/spidermonkey/jsreops.tbl
|
390
|
-
vendor/spidermonkey/jsscan.c
|
391
|
-
vendor/spidermonkey/jsscan.h
|
392
|
-
vendor/spidermonkey/jsscope.c
|
393
|
-
vendor/spidermonkey/jsscope.h
|
394
|
-
vendor/spidermonkey/jsscript.c
|
395
|
-
vendor/spidermonkey/jsscript.h
|
396
|
-
vendor/spidermonkey/jsshell.msg
|
397
|
-
vendor/spidermonkey/jsstddef.h
|
398
|
-
vendor/spidermonkey/jsstr.c
|
399
|
-
vendor/spidermonkey/jsstr.h
|
400
|
-
vendor/spidermonkey/jstypes.h
|
401
|
-
vendor/spidermonkey/jsutil.c
|
402
|
-
vendor/spidermonkey/jsutil.h
|
403
|
-
vendor/spidermonkey/jsxdrapi.c
|
404
|
-
vendor/spidermonkey/jsxdrapi.h
|
405
|
-
vendor/spidermonkey/jsxml.c
|
406
|
-
vendor/spidermonkey/jsxml.h
|
407
|
-
vendor/spidermonkey/lock_SunOS.s
|
408
|
-
vendor/spidermonkey/perfect.js
|
409
|
-
vendor/spidermonkey/plify_jsdhash.sed
|
410
|
-
vendor/spidermonkey/prmjtime.c
|
411
|
-
vendor/spidermonkey/prmjtime.h
|
412
|
-
vendor/spidermonkey/resource.h
|
413
|
-
vendor/spidermonkey/rules.mk
|
414
|
-
vendor/spidermonkey/win32.order
|
415
130
|
vendor/tracemonkey/Makefile.in
|
416
131
|
vendor/tracemonkey/Makefile.ref
|
417
132
|
vendor/tracemonkey/README.html
|
@@ -1622,6 +1337,8 @@ vendor/tracemonkey/tests/ecma/Math/15.8.2.8.js
|
|
1622
1337
|
vendor/tracemonkey/tests/ecma/Math/15.8.2.9.js
|
1623
1338
|
vendor/tracemonkey/tests/ecma/Math/jstests.list
|
1624
1339
|
vendor/tracemonkey/tests/ecma/Math/shell.js
|
1340
|
+
vendor/tracemonkey/tests/ecma/NativeObjects/browser.js
|
1341
|
+
vendor/tracemonkey/tests/ecma/NativeObjects/jstests.list
|
1625
1342
|
vendor/tracemonkey/tests/ecma/NativeObjects/shell.js
|
1626
1343
|
vendor/tracemonkey/tests/ecma/Number/15.7.1.js
|
1627
1344
|
vendor/tracemonkey/tests/ecma/Number/15.7.2.js
|
@@ -2466,6 +2183,8 @@ vendor/tracemonkey/tests/js1_3/inherit/proto_9.js
|
|
2466
2183
|
vendor/tracemonkey/tests/js1_3/inherit/shell.js
|
2467
2184
|
vendor/tracemonkey/tests/js1_3/jsref.js
|
2468
2185
|
vendor/tracemonkey/tests/js1_3/jstests.list
|
2186
|
+
vendor/tracemonkey/tests/js1_3/misc/browser.js
|
2187
|
+
vendor/tracemonkey/tests/js1_3/misc/jstests.list
|
2469
2188
|
vendor/tracemonkey/tests/js1_3/misc/shell.js
|
2470
2189
|
vendor/tracemonkey/tests/js1_3/regress/delete-001.js
|
2471
2190
|
vendor/tracemonkey/tests/js1_3/regress/function-001-n.js
|
data/Rakefile
CHANGED
@@ -1,17 +1,16 @@
|
|
1
1
|
require "rubygems"
|
2
2
|
|
3
|
-
gem "hoe", "~> 2.
|
3
|
+
gem "hoe", "~> 2.5"
|
4
4
|
require "hoe"
|
5
5
|
|
6
|
-
gem "rake-compiler", "~> 0.
|
6
|
+
gem "rake-compiler", "~> 0.7"
|
7
7
|
require "rake/extensiontask"
|
8
8
|
|
9
9
|
FILTER = ENV['FILTER'] || ENV['TESTOPTS']
|
10
10
|
|
11
|
-
INTERPRETERS = [ "
|
11
|
+
INTERPRETERS = [ "tracemonkey" ]
|
12
12
|
|
13
13
|
SUFFIXES = {}
|
14
|
-
SUFFIXES[ "spidermonkey" ] = "c"
|
15
14
|
SUFFIXES[ "tracemonkey" ] = "cc"
|
16
15
|
|
17
16
|
generated_nodes = []
|
@@ -24,7 +23,8 @@ INTERPRETERS.each do |interpreter|
|
|
24
23
|
|
25
24
|
generated_node = "ext/#{interpreter}/immutable_node.#{suffix}"
|
26
25
|
|
27
|
-
file generated_node => "ext/#{interpreter}/immutable_node.#{suffix}.erb"
|
26
|
+
file generated_node => ["ext/#{interpreter}/immutable_node.#{suffix}.erb",
|
27
|
+
"vendor/#{interpreter}/.git"] do |t|
|
28
28
|
template = ERB.new(File.open(t.prerequisites.first, "rb") { |x| x.read })
|
29
29
|
jsops = jsops interpreter
|
30
30
|
tokens = tokens interpreter
|
@@ -50,20 +50,17 @@ Hoe.spec "johnson" do
|
|
50
50
|
self.extra_rdoc_files = FileList["*.rdoc"]
|
51
51
|
self.history_file = "CHANGELOG.rdoc"
|
52
52
|
self.readme_file = "README.rdoc"
|
53
|
-
self.spec_extras[:extensions] = %w(ext/
|
54
|
-
ext/tracemonkey/extconf.rb)
|
53
|
+
self.spec_extras[:extensions] = %w(ext/tracemonkey/extconf.rb)
|
55
54
|
|
56
|
-
extra_deps << ["stackdeck", "~> 0.
|
55
|
+
extra_deps << ["stackdeck", "~> 0.2"]
|
57
56
|
extra_dev_deps << ["rake-compiler", "~> 0.6"]
|
58
57
|
|
59
58
|
clean_globs << "ext/**/Makefile"
|
60
59
|
clean_globs << "ext/**/*.{o,so,dylib,bundle,a,log}"
|
61
60
|
clean_globs << "vendor/**/*.{o,so,dylib,bundle,a,log}"
|
62
|
-
clean_globs << "ext/spidermonkey/immutable_node.c"
|
63
61
|
clean_globs << "ext/tracemonkey/immutable_node.cc"
|
64
62
|
clean_globs << "lib/johnson/**/*.{bundle,so}"
|
65
63
|
clean_globs << "tmp"
|
66
|
-
clean_globs << "vendor/spidermonkey/**/*.OBJ"
|
67
64
|
|
68
65
|
clean_globs << "vendor/tracemonkey/**/.deps"
|
69
66
|
clean_globs << "vendor/tracemonkey/dist"
|
@@ -96,26 +93,22 @@ Hoe.spec "johnson" do
|
|
96
93
|
clean_globs << "vendor/tracemonkey/{lirasm,shell,tests}/Makefile"
|
97
94
|
clean_globs << "vendor/tracemonkey/unallmakefiles"
|
98
95
|
|
99
|
-
Rake::ExtensionTask.new "spidermonkey", spec do |ext|
|
100
|
-
ext.lib_dir = "lib/johnson/spidermonkey"
|
101
|
-
ext.source_pattern = "*.{c,h}"
|
102
|
-
end
|
103
|
-
|
104
96
|
Rake::ExtensionTask.new "tracemonkey", spec do |ext|
|
105
97
|
ext.lib_dir = "lib/johnson/tracemonkey"
|
106
98
|
ext.source_pattern = "*.{cc,h}"
|
107
99
|
end
|
108
100
|
end
|
109
101
|
|
110
|
-
|
102
|
+
file "vendor/tracemonkey/.git" do
|
103
|
+
sh "git submodule update --init"
|
104
|
+
end
|
105
|
+
|
106
|
+
task :compile => "vendor/tracemonkey/.git"
|
111
107
|
|
108
|
+
task(:test).clear
|
112
109
|
task :test => :compile
|
113
110
|
|
114
111
|
task :clean do
|
115
|
-
Dir.chdir "vendor/spidermonkey" do
|
116
|
-
sh "make clean -f Makefile.ref" unless Dir["**/libjs.a"].empty?
|
117
|
-
end
|
118
|
-
|
119
112
|
Dir.chdir "vendor/tracemonkey" do
|
120
113
|
sh "make clean -f Makefile.ref" unless Dir["**/libjs.a"].empty?
|
121
114
|
end
|
data/ext/tracemonkey/global.cc
CHANGED
@@ -36,5 +36,8 @@ static JSClass OurGlobalClass = {
|
|
36
36
|
|
37
37
|
JSObject* johnson_create_global_object(JSContext* context)
|
38
38
|
{
|
39
|
-
|
39
|
+
JSObject* obj = JS_NewObject(context, &OurGlobalClass, NULL, NULL);
|
40
|
+
JS_SetParent(context, obj, NULL);
|
41
|
+
JS_SetPrototype(context, obj, NULL);
|
42
|
+
return obj;
|
40
43
|
}
|
data/ext/tracemonkey/js.cc
CHANGED
@@ -70,6 +70,9 @@ split_create_inner(JSContext *cx, JSObject *outer);
|
|
70
70
|
static ComplexObject *
|
71
71
|
split_get_private(JSContext *cx, JSObject *obj);
|
72
72
|
|
73
|
+
int trace_split = 0;
|
74
|
+
int trace_mark = 0;
|
75
|
+
|
73
76
|
static JSBool
|
74
77
|
split_addProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
|
75
78
|
{
|
@@ -85,6 +88,14 @@ split_addProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
|
|
85
88
|
|
86
89
|
/* Patched. See https://bugzilla.mozilla.org/show_bug.cgi?id=542864 */
|
87
90
|
|
91
|
+
/*
|
92
|
+
JSString* s = JS_ValueToString(cx, id);
|
93
|
+
char* c = JS_GetStringBytes(s);
|
94
|
+
if(strcmp(c,"Document")==0){
|
95
|
+
fprintf(stderr,"%s\n",c );
|
96
|
+
}
|
97
|
+
*/
|
98
|
+
|
88
99
|
JSPropertyOp setter = 0;
|
89
100
|
JSPropertyOp getter = 0;
|
90
101
|
uintN attrs = 0;
|
@@ -92,15 +103,11 @@ split_addProperty(JSContext *cx, JSObject *obj, jsval id, jsval *vp)
|
|
92
103
|
|
93
104
|
JS_GetPropertyAttrsGetterAndSetterById(cx, obj, id, &attrs, &found, &getter, &setter);
|
94
105
|
|
95
|
-
if (
|
96
|
-
|
97
|
-
} else {
|
98
|
-
if (!JS_ValueToId(cx, *vp, &asId)) {
|
99
|
-
return JS_FALSE;
|
100
|
-
}
|
106
|
+
if (!JS_ValueToId(cx, *vp, &asId)) {
|
107
|
+
return JS_FALSE;
|
101
108
|
}
|
102
109
|
|
103
|
-
return JS_DefinePropertyById(cx, cpx->inner,
|
110
|
+
return JS_DefinePropertyById(cx, cpx->inner, id, asId, getter, setter, attrs | JSPROP_ENUMERATE);
|
104
111
|
}
|
105
112
|
return JS_TRUE;
|
106
113
|
}
|
@@ -271,6 +278,7 @@ split_resolve(JSContext *cx, JSObject *obj, jsval id, uintN flags,
|
|
271
278
|
static void
|
272
279
|
split_finalize(JSContext *cx, JSObject *obj)
|
273
280
|
{
|
281
|
+
if (trace_split) fprintf(stderr,"finalize 0x%08x\n", obj);
|
274
282
|
JS_free(cx, JS_GetPrivate(cx, obj));
|
275
283
|
}
|
276
284
|
|
@@ -281,7 +289,16 @@ split_mark(JSContext *cx, JSObject *obj, void *arg)
|
|
281
289
|
|
282
290
|
cpx = (ComplexObject *) JS_GetPrivate(cx, obj);
|
283
291
|
|
292
|
+
if (trace_mark) fprintf(stderr,"mark 0x%08x %s\n", obj, cpx->isInner ? "" : "outer");
|
293
|
+
|
294
|
+
/*
|
295
|
+
if (!cpx->isInner) {
|
296
|
+
fprintf(stderr,"mark %016x\n", obj);
|
297
|
+
}
|
298
|
+
*/
|
299
|
+
|
284
300
|
if (!cpx->isInner && cpx->inner) {
|
301
|
+
// if (trace_mark) fprintf(stderr,"mark inner 0x%08x\n", cpx->inner);
|
285
302
|
/* Mark the inner object. */
|
286
303
|
JS_MarkGCThing(cx, cpx->inner, "ComplexObject.inner", arg);
|
287
304
|
}
|
@@ -357,7 +374,6 @@ static JSExtendedClass split_global_class = {
|
|
357
374
|
NULL, NULL, NULL, NULL, NULL
|
358
375
|
};
|
359
376
|
|
360
|
-
#if 1
|
361
377
|
static JSBool
|
362
378
|
split_equality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
|
363
379
|
{
|
@@ -378,31 +394,6 @@ split_equality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
|
|
378
394
|
*bp = (cpx == ourCpx);
|
379
395
|
return JS_TRUE;
|
380
396
|
}
|
381
|
-
#else
|
382
|
-
static JSBool
|
383
|
-
split_equality(JSContext *cx, JSObject *obj, jsval v, JSBool *bp)
|
384
|
-
{
|
385
|
-
*bp = JS_FALSE;
|
386
|
-
if (JSVAL_IS_PRIMITIVE(v))
|
387
|
-
return JS_TRUE;
|
388
|
-
|
389
|
-
JSObject *obj2 = JSVAL_TO_OBJECT(v);
|
390
|
-
if (JS_GET_CLASS(cx, obj2) != &split_global_class.base)
|
391
|
-
return JS_TRUE;
|
392
|
-
|
393
|
-
ComplexObject *cpx = (ComplexObject *) JS_GetPrivate(cx, obj2);
|
394
|
-
ComplexObject *ourCpx = (ComplexObject *) JS_GetPrivate(cx, obj);
|
395
|
-
|
396
|
-
if( cpx == ourCpx ) {
|
397
|
-
*bp = JS_TRUE;
|
398
|
-
} else if ( cpx->inner ) {
|
399
|
-
*bp = ( cpx->inner == obj && ourCpx->outer == obj2);
|
400
|
-
} else {
|
401
|
-
*bp = ( cpx->outer == obj && ourCpx->inner == obj2);
|
402
|
-
}
|
403
|
-
return JS_TRUE;
|
404
|
-
}
|
405
|
-
#endif
|
406
397
|
|
407
398
|
JSObject *
|
408
399
|
split_create_outer(JSContext *cx)
|
@@ -429,6 +420,8 @@ split_create_outer(JSContext *cx)
|
|
429
420
|
return NULL;
|
430
421
|
}
|
431
422
|
|
423
|
+
if (trace_split) fprintf(stderr,"outer 0x%08x\n", obj);
|
424
|
+
|
432
425
|
return obj;
|
433
426
|
}
|
434
427
|
|
@@ -453,11 +446,15 @@ split_create_inner(JSContext *cx, JSObject *outer)
|
|
453
446
|
JS_free(cx, cpx);
|
454
447
|
return NULL;
|
455
448
|
}
|
449
|
+
|
450
|
+
JS_SetPrototype(cx,obj,NULL);
|
456
451
|
|
457
452
|
outercpx = (ComplexObject *) JS_GetPrivate(cx, outer);
|
458
453
|
outercpx->inner = obj;
|
459
454
|
outercpx->frozen = JS_FALSE;
|
460
455
|
|
456
|
+
if (trace_split) fprintf(stderr,"inner 0x%08x 0x%08x\n", outer, obj);
|
457
|
+
|
461
458
|
return obj;
|
462
459
|
}
|
463
460
|
|