Commit Graph

20 Commits

Author SHA1 Message Date
Taras Glek
c7528a9f01 bug 432917: Replace "must flow through label" comments with statically-checkable macro. r=igor 2008-09-08 10:51:10 -07:00
Jim Blandy
d8cc274426 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.
2008-09-05 10:19:17 -07:00
Brendan Eich
9f541e1e76 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
57b757674a Bug 451483 - Array.splice() should return an empty array. r=brendan 2008-08-25 17:12:30 -07:00
d65112e26b trace |new Array|, via the magic of copy and paste 2008-08-21 00:50:20 -07:00
Brendan Eich
9f29681195 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
44a95c8e96 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
02a188d82a 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
11505a9ec5 bug 412296 - removal of minarg support for fast native 2008-08-08 18:02:50 +02:00
Blake Kaplan
4f28d5c1a3 Don't use 'i' if the id was not an index. bug 443843, r=shaver 2008-07-07 23:01:09 +02:00
c4707cae81 Bug 438415 - Assertion failure: *vp != JSVAL_HOLE, r=shaver, r=brendan 2008-07-01 12:47:09 -07:00
f412ce8864 Bug 435345 - Cannot accurately watch the 'length' property of arrays, r=shaver 2008-07-01 12:47:09 -07:00
c290f36e91 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
4b16055ad7 Bug 435226 - dense arrays yield bogus __count__ values, r=shaver 2008-06-09 15:25:33 -07:00
Igor Bukanov
1aa5c32a96 [Bug 432881] SM: JSVAL_VOID as a pseudo-boolean. r=brendan 2008-06-25 11:43:02 +02:00
Brendan Eich
ddb43b17ea Third and final followup patch for bug 260106. 2008-06-06 13:23:19 -07:00
Brendan Eich
58245c40f3 Followup patch for bug 260106. 2008-06-05 16:00:25 -07:00
Benjamin Smedberg
86da87a6f2 Return to building spidermonkey as C++, because we believe we found the cause of the perf regression elsewhere (non-code). 2008-05-27 16:58:12 -04:00
Benjamin Smedberg
e310131a6f Back out revision bd9c9cbf9ec8 (build spidermonkey as C++) for perftesting and profit. 2008-05-27 12:19:17 -04:00
1650653ff4 Bug 387935, Always build JS as C++, r=benjamin 2007-07-16 11:40:49 -07:00