Andreas Gal
0681b83f5d
Backout bug 477187.
2009-02-10 09:54:14 -08:00
Andreas Gal
7aa1ce597e
Substitute operation counting with a watchdog thread (477187, 2nd attempt, r=brendan/mrbkap/jst, sr=brendan/jst).
2009-02-10 03:45:36 -08:00
Andreas Gal
50aec18ba5
Merge.
2009-02-09 22:54:41 -08:00
Andreas Gal
bf5e68458a
Backing out bug 477187. Breaks xpcshell.
2009-02-09 22:54:05 -08:00
Andreas Gal
d9be29b652
Merge.
2009-02-09 18:21:15 -08:00
Andreas Gal
86e19efcc6
Substitute operation counting with a watchdog thread (477187, r=brendan/mrbkap/jst, sr=brendan/jst).
2009-02-09 18:20:50 -08:00
Jeff Walden
bece1071d4
Remove some trailing whitespace to maybe kick build machines out of an orange
2009-02-08 03:30:29 -08:00
Robert Sayre
6440ac75ae
Fix bustage from Bug 476873
2009-02-06 12:36:14 -08:00
Jason Orendorff
94a4f791be
Bug 476873 - TM: Trace JSOP_ARRAYPUSH. r=brendan.
2009-02-06 13:19:06 -06:00
Graydon Hoare
2a6984d9a8
Bug 469625 - Deoptimize special own-properties, r=brendan.
2009-02-04 11:08:31 -08:00
Jason Orendorff
2643f0f19a
Bug 462027 - Bail off trace when reentering interpreter. r=gal.
2009-02-03 18:25:12 -06:00
Jason Orendorff
22a1b4eab2
Revert to 07be1f190a3d. Revision 5f5c1cd63641 should not have been pushed.
2009-02-03 12:38:44 -06:00
Jason Orendorff
c9e5602d7f
[mq]: bug-462027-v9
2009-02-02 20:42:46 -06:00
Jason Orendorff
e7b29758e9
Bug 476177 - TM: cx->stackPool must not be accessed on trace. r=brendan.
...
--HG--
extra : rebase_source : 746d61b54aa38cbe18fe31bce4efcbbad4629678
2009-01-30 17:40:05 -06:00
shaver@mozilla.org
bef69f676f
Backed out changeset 7246c4dcf997 (bug 469625) due to trace-test.js failures.
2009-01-28 22:26:46 -05:00
brendan@mozilla.org
d4a74db4aa
Conservatively track modifications along the prototype chain of arrays (469625, r=jorendorff).
2009-01-28 16:16:20 -08:00
Blake Kaplan
0357a463be
Bug 467499 - Pass the proper size argument to ResizeSlots. r=shaver/crowder
2009-01-26 16:20:05 -08:00
Jeff Walden
64214803a7
Bug 465980 - Some array methods don't work right on ginormous arrays. r=brendan
2009-01-12 13:07:48 -08:00
Brendan Eich
8d1ce06619
Back out patch for bug 469625, it mysterious busts stuff.
2008-12-19 01:32:48 -08:00
Brendan Eich
94fa86c42c
Bug 469625 - TM: Crash [@ js_String_getelem] (r=jorendorff).
2008-12-18 22:35:46 -08:00
Jason Orendorff
d3d93eccb7
Bug 460865 - Read barrier for cx->fp. r=mrbkap, r=dmandelin.
...
--HG--
extra : rebase_source : 19963188b2f9f96336ce6ca28dbaefccf3a639b7
2008-12-09 10:38:32 -06:00
Jason Orendorff
56ae34b835
Bug 462459 - TM: Better tracer support for |new Array(...)|. r=gal.
2008-11-05 07:29:38 -06:00
Brendan Eich
041f2915bc
Bug 456511 - (imacros) TM: Make conversion work on arbitrary JSObjects (r=gal).
2008-11-13 00:30:20 -08:00
Andreas Gal
305473e7a6
Backed out changeset a40f2117bcc0
2008-11-12 17:39:48 -08:00
Brendan
8450fcfc84
Add imacros to support conversion of arbitrary JSObjects (456511, r=gal).
2008-11-12 16:55:45 -08:00
Jason Orendorff
65b10073ac
Bug 460157 - Yet more macros for defining builtins. r=brendan
2008-10-21 17:58:06 -05:00
Jason Orendorff
a7c801c24b
Bug 459266 - TM: Allow CALLINFO macros to specify linkage. r=brendan.
2008-10-16 14:24:10 -05:00
Jason Orendorff
c6bca4ae17
Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith)
2008-10-08 17:08:33 -05:00
Brendan Eich
6cc0220283
Bug 457920 - regexp-dna.js and generality want JSOP_GETELEM(dense array, "0") (r=mrbkap/gal).
2008-10-06 22:30:36 -07:00
Jason Orendorff
7e5462b9e8
Bug 389034 - JS_SetProperty() ends up resolving w/o JSRESOLVE_ASSIGNING (r=brendan, sr=bzbarsky)
2008-09-25 11:13:31 -05:00
Andreas Gal
3606400ce6
Expose push pop in jsarray and add builtins (453734, r=mrbkap).
2008-09-16 17:07:59 -07:00
Andreas Gal
687570fbae
Trace slow array get/set of indexed props (453261, r=brendan).
2008-09-15 00:54:28 -07:00
Blake Kaplan
e2a1c9202f
Work around incorrect but annoying strict-aliasing warning. r=brendan
2008-09-10 00:36:01 -07:00
Brendan Eich
4b0dc1c4d5
Avoid needless prototype-shape purges (454035, r=igor).
2008-09-09 11:24:03 -07:00
Taras Glek
47f8a782cc
bug 453889: Correct prbool misuse in spidermonkey
2008-09-08 13:41:09 -07:00
Taras Glek
ee4fd995ff
bug 432917: Replace "must flow through label" comments with statically-checkable macro. r=igor
2008-09-08 10:51:10 -07:00
Jim Blandy
31a62b6b2d
Bug 97954: Give jsconfig.h a better name, and make room for the new js-config.h. r=bsmedberg
...
We'd like the SpiderMonkey configure script to generate a header file
named js-config.h to hold #definitions chosen at configure time that
affect the SpiderMonkey API, like JS_THREADSAFE. However, that name
is very similar to that of an existing header file, jsconfig.h. This
patch renames the existing header file, and updates all references to
it.
--HG--
rename : js/src/jsconfig.h => js/src/jsversion.h
2008-09-05 10:19:17 -07:00
Brendan Eich
2793c12720
Kind of an Array initialiser tour-de-force for bug 452878:
...
1. Split FastNewArray from FastNewObject built-in for greater speed/specialization and further splitting into Array_1str, etc.
2. Add Array_1str, Array_2obj, and Array_3num builtins for benchmarked new Array(...) constructions.
3. Export ARRAY_SET_DENSE_LENGTH and ARRAY_GROWBY via jsarray.h to jstracer.cpp.
4. Tweaked SetArrayElement to make common/best case code be the predicted/prefetched path.
5. js_MakeArraySlow now preserves the pre-slow length in JSSLOT_ARRAY_COUTN as a jsval-tagged int if possible -- this will help the tracer avoid aborting on dense arrays that turned slow but not sparse by addition of a named property.
6. Export js_fun_apply and js_Object from their respective .cpp files, in these cases just to jstracer.cpp via local prototypes (no .h files involved).
7. More INS_CONSTPTR and INS_CONST macrology for better names in trace debug spew.
8. Fix TraceRecorder::test_property_cache to avoid aborting on JSOP_SETNAME that creates a new global, by setting it to undefined so it can be lazily imported. This helps 3d-raytrace.js, which has an unintended global loop control variable in a function.
9. JSTraceableNative loses its premature-deadwood tclasp member (my bad).
10. TraceRecorder::record_JSOP_NEW() handles 'new Object' now along with the 'new Array' variations. I also cut down the copy-paste code from JSOP_CALL's record method to mostly what is needed now.
11. Add KNOWN_NATIVE_DECL macro for concise prototype of library-private js_* native functions, and alphabetized the lists (too long for any other order to be winning).
12. Big honking special case for foo.apply(obj, [str]), which we can generalize as needed. Helps string-tagcloud.js. What's cool is how tracing allows us to rewrite this to foo(str) with this set to obj, eliminating the Function.prototype.apply. This requires some rewriting in JSOP_ENDINIT's record method.
2008-09-01 01:24:58 -07:00
Blake Kaplan
a5d6367c5d
Bug 451483 - Array.splice() should return an empty array. r=brendan
2008-08-25 17:12:30 -07:00
shaver@mozilla.org
7eba6cb0de
trace |new Array|, via the magic of copy and paste
2008-08-21 00:50:20 -07:00
Brendan Eich
3c720dd40f
Use JS_FRIEND_API for new JS_ArrayToJSUint8Buffer, etc., and use it on prototypes and definitions (fixes some platform builds).
2008-08-20 23:46:31 -07:00
Vladimir Vukicevic
ea512d7047
b=451242, add fast-paths for dense array to uint/int/double buffer conversion; r=bent/mrbkap
2008-08-20 14:47:01 -07:00
Brendan Eich
e301205cb0
Add Array (generic) join builtin, plus (not yet used) optional this-class guarding for builtins.
2008-08-10 14:50:31 -07:00
Igor Bukanov
56f20b25f1
bug 412296 - removal of minarg support for fast native
2008-08-08 18:02:50 +02:00
Blake Kaplan
8536a45550
Don't use 'i' if the id was not an index. bug 443843, r=shaver
2008-07-07 23:01:09 +02:00
bcrowder@mozilla.com
b332b7e04a
Bug 438415 - Assertion failure: *vp != JSVAL_HOLE, r=shaver, r=brendan
2008-07-01 12:47:09 -07:00
bcrowder@mozilla.com
a9937e532b
Bug 435345 - Cannot accurately watch the 'length' property of arrays, r=shaver
2008-07-01 12:47:09 -07:00
bcrowder@mozilla.com
2250d2e485
Bug 434837 - Accessors in prototype chain of arrays don't assign 'this' correctly, r=shaver, r=brendan
2008-05-21 12:24:25 -07:00
bcrowder@mozilla.com
bbb1de85be
Bug 435226 - dense arrays yield bogus __count__ values, r=shaver
2008-06-09 15:25:33 -07:00
Igor Bukanov
6e3ca3deb5
[Bug 432881] SM: JSVAL_VOID as a pseudo-boolean. r=brendan
2008-06-25 11:43:02 +02:00
Brendan Eich
7d3ff26c38
Third and final followup patch for bug 260106.
2008-06-06 13:23:19 -07:00
Brendan Eich
9d417c25f9
Followup patch for bug 260106.
2008-06-05 16:00:25 -07:00
Benjamin Smedberg
93076abf3d
Return to building spidermonkey as C++, because we believe we found the cause of the perf regression elsewhere (non-code).
...
--HG--
rename : js/src/js.c => js/src/js.cpp
rename : js/src/jsapi.c => js/src/jsapi.cpp
rename : js/src/jsarena.c => js/src/jsarena.cpp
rename : js/src/jsarray.c => js/src/jsarray.cpp
rename : js/src/jsatom.c => js/src/jsatom.cpp
rename : js/src/jsbool.c => js/src/jsbool.cpp
rename : js/src/jscntxt.c => js/src/jscntxt.cpp
rename : js/src/jscpucfg.c => js/src/jscpucfg.cpp
rename : js/src/jsdate.c => js/src/jsdate.cpp
rename : js/src/jsdbgapi.c => js/src/jsdbgapi.cpp
rename : js/src/jsdhash.c => js/src/jsdhash.cpp
rename : js/src/jsdtoa.c => js/src/jsdtoa.cpp
rename : js/src/jsemit.c => js/src/jsemit.cpp
rename : js/src/jsexn.c => js/src/jsexn.cpp
rename : js/src/jsfile.c => js/src/jsfile.cpp
rename : js/src/jsfun.c => js/src/jsfun.cpp
rename : js/src/jsgc.c => js/src/jsgc.cpp
rename : js/src/jshash.c => js/src/jshash.cpp
rename : js/src/jsinterp.c => js/src/jsinterp.cpp
rename : js/src/jsinvoke.c => js/src/jsinvoke.cpp
rename : js/src/jsiter.c => js/src/jsiter.cpp
rename : js/src/jskwgen.c => js/src/jskwgen.cpp
rename : js/src/jslock.c => js/src/jslock.cpp
rename : js/src/jslog2.c => js/src/jslog2.cpp
rename : js/src/jslong.c => js/src/jslong.cpp
rename : js/src/jsmath.c => js/src/jsmath.cpp
rename : js/src/jsnum.c => js/src/jsnum.cpp
rename : js/src/jsobj.c => js/src/jsobj.cpp
rename : js/src/jsopcode.c => js/src/jsopcode.cpp
rename : js/src/jsparse.c => js/src/jsparse.cpp
rename : js/src/jsprf.c => js/src/jsprf.cpp
rename : js/src/jsregexp.c => js/src/jsregexp.cpp
rename : js/src/jsscan.c => js/src/jsscan.cpp
rename : js/src/jsscope.c => js/src/jsscope.cpp
rename : js/src/jsscript.c => js/src/jsscript.cpp
rename : js/src/jsstr.c => js/src/jsstr.cpp
rename : js/src/jsutil.c => js/src/jsutil.cpp
rename : js/src/jsxdrapi.c => js/src/jsxdrapi.cpp
rename : js/src/jsxml.c => js/src/jsxml.cpp
rename : js/src/prmjtime.c => js/src/prmjtime.cpp
2008-05-27 16:58:12 -04:00
Benjamin Smedberg
d491c5f256
Back out revision bd9c9cbf9ec8 (build spidermonkey as C++) for perftesting and profit.
...
--HG--
rename : js/src/js.cpp => js/src/js.c
rename : js/src/jsapi.cpp => js/src/jsapi.c
rename : js/src/jsarena.cpp => js/src/jsarena.c
rename : js/src/jsarray.cpp => js/src/jsarray.c
rename : js/src/jsatom.cpp => js/src/jsatom.c
rename : js/src/jsbool.cpp => js/src/jsbool.c
rename : js/src/jscntxt.cpp => js/src/jscntxt.c
rename : js/src/jscpucfg.cpp => js/src/jscpucfg.c
rename : js/src/jsdate.cpp => js/src/jsdate.c
rename : js/src/jsdbgapi.cpp => js/src/jsdbgapi.c
rename : js/src/jsdhash.cpp => js/src/jsdhash.c
rename : js/src/jsdtoa.cpp => js/src/jsdtoa.c
rename : js/src/jsemit.cpp => js/src/jsemit.c
rename : js/src/jsexn.cpp => js/src/jsexn.c
rename : js/src/jsfile.cpp => js/src/jsfile.c
rename : js/src/jsfun.cpp => js/src/jsfun.c
rename : js/src/jsgc.cpp => js/src/jsgc.c
rename : js/src/jshash.cpp => js/src/jshash.c
rename : js/src/jsinterp.cpp => js/src/jsinterp.c
rename : js/src/jsiter.cpp => js/src/jsiter.c
rename : js/src/jskwgen.cpp => js/src/jskwgen.c
rename : js/src/jslock.cpp => js/src/jslock.c
rename : js/src/jslog2.cpp => js/src/jslog2.c
rename : js/src/jslong.cpp => js/src/jslong.c
rename : js/src/jsmath.cpp => js/src/jsmath.c
rename : js/src/jsnum.cpp => js/src/jsnum.c
rename : js/src/jsobj.cpp => js/src/jsobj.c
rename : js/src/jsopcode.cpp => js/src/jsopcode.c
rename : js/src/jsparse.cpp => js/src/jsparse.c
rename : js/src/jsprf.cpp => js/src/jsprf.c
rename : js/src/jsregexp.cpp => js/src/jsregexp.c
rename : js/src/jsscan.cpp => js/src/jsscan.c
rename : js/src/jsscope.cpp => js/src/jsscope.c
rename : js/src/jsscript.cpp => js/src/jsscript.c
rename : js/src/jsstr.cpp => js/src/jsstr.c
rename : js/src/jsutil.cpp => js/src/jsutil.c
rename : js/src/jsxdrapi.cpp => js/src/jsxdrapi.c
rename : js/src/jsxml.cpp => js/src/jsxml.c
rename : js/src/prmjtime.cpp => js/src/prmjtime.c
2008-05-27 12:19:17 -04:00
edward.lee@engineering.uiuc.edu
25be47b4e5
Bug 387935, Always build JS as C++, r=benjamin
...
--HG--
rename : js/src/js.c => js/src/js.cpp
rename : js/src/jsapi.c => js/src/jsapi.cpp
rename : js/src/jsarena.c => js/src/jsarena.cpp
rename : js/src/jsarray.c => js/src/jsarray.cpp
rename : js/src/jsatom.c => js/src/jsatom.cpp
rename : js/src/jsbool.c => js/src/jsbool.cpp
rename : js/src/jscntxt.c => js/src/jscntxt.cpp
rename : js/src/jscpucfg.c => js/src/jscpucfg.cpp
rename : js/src/jsdate.c => js/src/jsdate.cpp
rename : js/src/jsdbgapi.c => js/src/jsdbgapi.cpp
rename : js/src/jsdhash.c => js/src/jsdhash.cpp
rename : js/src/jsdtoa.c => js/src/jsdtoa.cpp
rename : js/src/jsemit.c => js/src/jsemit.cpp
rename : js/src/jsexn.c => js/src/jsexn.cpp
rename : js/src/jsfile.c => js/src/jsfile.cpp
rename : js/src/jsfun.c => js/src/jsfun.cpp
rename : js/src/jsgc.c => js/src/jsgc.cpp
rename : js/src/jshash.c => js/src/jshash.cpp
rename : js/src/jsinterp.c => js/src/jsinterp.cpp
rename : js/src/jsiter.c => js/src/jsiter.cpp
rename : js/src/jskwgen.c => js/src/jskwgen.cpp
rename : js/src/jslock.c => js/src/jslock.cpp
rename : js/src/jslog2.c => js/src/jslog2.cpp
rename : js/src/jslong.c => js/src/jslong.cpp
rename : js/src/jsmath.c => js/src/jsmath.cpp
rename : js/src/jsnum.c => js/src/jsnum.cpp
rename : js/src/jsobj.c => js/src/jsobj.cpp
rename : js/src/jsopcode.c => js/src/jsopcode.cpp
rename : js/src/jsparse.c => js/src/jsparse.cpp
rename : js/src/jsprf.c => js/src/jsprf.cpp
rename : js/src/jsregexp.c => js/src/jsregexp.cpp
rename : js/src/jsscan.c => js/src/jsscan.cpp
rename : js/src/jsscope.c => js/src/jsscope.cpp
rename : js/src/jsscript.c => js/src/jsscript.cpp
rename : js/src/jsstr.c => js/src/jsstr.cpp
rename : js/src/jsutil.c => js/src/jsutil.cpp
rename : js/src/jsxdrapi.c => js/src/jsxdrapi.cpp
rename : js/src/jsxml.c => js/src/jsxml.cpp
rename : js/src/prmjtime.c => js/src/prmjtime.cpp
2007-07-16 11:40:49 -07:00