js/src/jsbuiltins.cpp
4d81cfd3f6e4bd20bc76626faffd39ff770c629c
created 2008-08-13 17:45 -0700
pushed 2011-04-26 22:38 +0000
David Anderson David Anderson - Merge.
97498b23f3602fba6ae4128551ac15835d5aa5a6
created 2008-08-13 17:44 -0700
pushed 2011-04-26 22:38 +0000
David Anderson David Anderson - Fix from brendan for propertyIsEnumerable having an inconsistent return type.
baac751c4bf54243cdeb047afe121381b9a71a88
created 2008-08-13 17:20 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - Forgot to string-tag before going from atom to jsid in two builtins.
b7199324e019798953cd243e7c5c73677eddcf1d
created 2008-08-13 14:02 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - Major and winning overhaul to for-in codegen (mad props to Andreas for advice).
e36360dacbd3498d39e4f6cf9f7ad106bb7b73a9
created 2008-08-12 18:52 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - - Add String match and three replace overloadings, and allow known native matching to continue in search of exact match (not best, and not abort on first mismatch).
cdda9caf1fb20945587aec6222162c0a7ea02dc1
created 2008-08-12 14:28 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - js_obj_hasOwnProperty is supposed to return a boolean but was incorrectly generating code to return a number, resulting on a failure in the boolean comparison due to an unexpected i2f (450304).
9e6d84330f65e0e4b9eddba2226ca81067e346ad
created 2008-08-12 01:05 -0400
pushed 2011-04-26 22:38 +0000
shaver shaver - cmp over number and (string or bool or undefined)
cc72e295f3af9cd667168eb936c24c5169c54f4b
created 2008-08-11 17:47 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - Object.prototype.{hasOwnProperty,propertyIsEnumerable}.
3470c59c9942327df762137cb83156437adf2b07
created 2008-08-11 16:12 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Support non-flat strings in Any_getelem and Any_setelem.
2470044a1a86cffd9067711072876834637b5ebb
created 2008-08-11 15:03 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - Fix FastNewObject built-in to create dense array instance with its own map.
dc1bf0cbd1b65886db14f388ffb0030d162f368a
created 2008-08-11 11:43 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Merge.
bfd442d5f0cd0a860b9aa2019232b89072f65ad9
created 2008-08-11 11:43 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Avoid goto across initialization of sprop2 (446508).
718349c9238e21f3149a8453bfe16f1adbdfdae3
created 2008-08-11 11:18 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - Rework GCF_DONT_BLOCK to be cx->gcDontBlock, assert it's set, set before entering trace and clear on exit.
2145c9d9a5a5018f4a143ccb189f3d6f83280757
created 2008-08-11 11:03 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - Make js_ConcatStrings JS_FASTCALL and use directly as a built-in; remove gcflag param from it and from js_NewString.
a68d753df8111dfb0817db03082c628fef37decd
created 2008-08-11 10:41 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - Unregress FastNewObject builtin to handle user-defined constructors (note to self: run tests before coffee...).
7a9d86ec587f67e02bb2b0597b31cb9b800cd414
created 2008-08-11 10:24 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - - Trace JSOP_NEWINIT/INITPROP/INITELEM/ENDINIT, which required extending the FastNewObject builtin to create a dense Array or a new Object (easy to discriminate on the constructor function's u.n.clasp member).
f3487192950fbe6d2e18b696921b9bbb64f0de84
created 2008-08-10 14:50 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - Add Array (generic) join builtin, plus (not yet used) optional this-class guarding for builtins.
4920eaced572295282be1484500cba0ee10a749d
created 2008-08-10 00:39 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - - Avoid unnecessary FASTCALL builtin wrappers for existing js_* library-private or friend functions, which could be (and now are) fastcall (JS_FASTCALL). A couple of builtins avoid name collisions by using js_Fast instead of just js_ as their name prefix.
f83b2d421fbc6bfd28b1a43b487caee427f995f1
created 2008-08-09 22:54 -0400
pushed 2011-04-26 22:38 +0000
shaver shaver - JSOP_TYPEOF and JSOP_TYPEOFEXPR
79b7c73bb4c65feb91b6404b1282e68a0a44d965
created 2008-08-09 22:15 -0400
pushed 2011-04-26 22:38 +0000
shaver shaver - Builtin for String.prototype.concat (single int-arg version)
116eeda87b141c87961f17b828a8bf78a67f7346
created 2008-08-09 21:50 -0400
pushed 2011-04-26 22:38 +0000
shaver shaver - Implement cmp for string-on-string.
ce02fcaa233d64b10c6eabd95e5e41bb14c069ca
created 2008-08-09 21:47 -0400
pushed 2011-04-26 22:38 +0000
Robert Sayre Robert Sayre - Bug 449978 – TM: trace some more builtins for string-validate-input
905b652d020130401fcfc6467886039175f5ba5c
created 2008-08-08 16:40 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - Merge.
ba3f7041b98eb57323a82df86a969b62c6e7cb00
created 2008-08-08 14:45 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - Merge.
f180eba5b24751c2ab13e42c337f950d33a3f152
created 2008-08-08 14:38 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - Get operator new on interpreted functions working, along with JSOP_SETPROP on an unmutated object, or one of the right shape but where the setprop is adding the next property, and it's not in the object yet.
af2af6f68095b78a2350f2af270e21f5d7f0f58e
created 2008-08-08 15:26 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Add very preliminary nesting for trees. This is disabled by default. To enable set TRACEMONKEY=nesting in the environment.
6f5b4c7001c7c5d95b37c25af1caa76e39071a36
created 2008-08-07 19:59 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Don't activate a tree if it has globals, since we can't handle that yet.
51f8776d87b1f2750079c00dbfb7c7ab3fe492da
created 2008-08-06 15:56 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Add CallTree builtin.
89624a4b87c3f906925f30c404455274d055be11
created 2008-08-06 13:36 -0700
pushed 2011-04-26 22:38 +0000
Brendan Eich Brendan Eich - - Add builtins to support for-in loops, both iterating and getting/setter properties by name using o[i] instead of o.p where i is 'p'.
01eb436bb5d70df744dc982032cb0298549b6158
created 2008-07-31 15:42 -0500
pushed 2011-04-26 22:38 +0000
David Anderson David Anderson - Fixed builtin_dmod not working on Win32.
4f1a037b281a4cf5308797a05d85ead1f39f8733
created 2008-07-31 12:22 -0700
pushed 2011-04-26 22:38 +0000
shaver shaver - use optimized path for fromCharCode
3e6f2131c8b6a5fc1e4b44f398d40586668f72f9
created 2008-07-31 11:35 -0700
pushed 2011-04-26 22:38 +0000
shaver shaver - add specialized StringToInt32 and filter for it
edd0d8812b7b0679251b54fb8b32f46bc56a0727
created 2008-07-31 07:41 -0700
pushed 2011-04-26 22:38 +0000
shaver shaver - Coerce strings to numbers for appropriate ops.
3ead93ea00f0489bfc81bd5287b9c1c26b7737d1
created 2008-07-30 17:28 -0700
pushed 2011-04-26 22:38 +0000
shaver shaver - Implement JSOP_EQ and JSOP_NE over strings, plus JSOP_STRING.
f65c7990a10083860e60524edabb2809ae571e10
created 2008-07-30 15:51 -0700
pushed 2011-04-26 22:38 +0000
shaver shaver - trace Math.random
0793c5db30463c567e6ae7e5fae7b2a9675b38b2
created 2008-07-30 15:19 -0700
pushed 2011-04-26 22:38 +0000
shaver shaver - Trace String.fromCharCode.
31a1d13aa7044dcc1f364e3de93e3b9123b4fd99
created 2008-07-29 19:19 -0500
pushed 2011-04-26 22:38 +0000
David Anderson David Anderson - Fixed some MSVC whinings, implemented rdtsc on win32
624a5f42008b63d7bf10f5a791eb093bbba3580d
created 2008-07-29 07:53 -0700
pushed 2011-04-26 22:38 +0000
shaver shaver - JSOP_ADD over strings
a0232a1e6de84f18888fae3da92160463fb4c3b7
created 2008-07-29 07:32 -0700
pushed 2011-04-26 22:38 +0000
shaver shaver - Trace String.prototype.substring for two-arg case.
980c23ed651ebe7dc13570c42655484296353303
created 2008-07-27 18:34 -0400
pushed 2011-04-26 22:38 +0000
shaver shaver - do setelem in a builtin, so we don't abort trace every 8 times when growing
7d4d4ed0e52e04cc090ac789e3f09a41a0295fc8
created 2008-07-27 14:55 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - If we see a f2i(UnboxDouble) chain, simplify it to UnboxInt32 which does the conversion internally. This also enables a fastpath to read 31-bit jsval integers from arrays.
2c56d87c195a6e64dcbbf16bdb82e92079233119
created 2008-07-16 14:36 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Don't use a builtin for this. For functions its interned in the native frame. For global this we read from fp->thisp. Restore jsinterp.cpp and jsinterp.h (no longer need COMPUTE_THIS exposed).
0c6fa110c7bfc154dabad39a1f63c968f5e7b614
created 2008-07-15 21:37 -0400
pushed 2011-04-26 22:38 +0000
shaver shaver - Trace JSOP_THIS and JSOP_THISPROP.
63d0917202cdd4acd439950001c2742b11dc6940
created 2008-07-15 15:05 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Assign blame where blame is due.
be90e8cf66b74f998ecf02015b13015f1587555b
created 2008-07-14 18:22 -0400
pushed 2011-04-26 22:38 +0000
shaver shaver - fix our aliasing idiocy by extending jsdpun, add Math.sqrt, add strict-aliasing to our Makefile.ref flags
b15aafddf015d59f3c364e29c713211b71e56c3e
created 2008-07-14 00:28 -0400
pushed 2011-04-26 22:38 +0000
shaver shaver - make JSOP_CALL builtin specialization data-driven
478add19377d5715175f4ef6ef9edab090067f8c
created 2008-07-12 00:03 -0400
pushed 2011-04-26 22:38 +0000
shaver shaver - add Math.cos and Math.pow to the specialized-call party, and add tests
f4a1671e5fb1169a312aad31cea9f40305986f5b
created 2008-07-11 23:04 -0400
pushed 2011-04-26 22:38 +0000
shaver shaver - I will remember that stacked values are not boxed.
26a4c733812df13f54f0ce769b7fbaec1b5fc6a9
created 2008-07-11 22:59 -0400
pushed 2011-04-26 22:38 +0000
shaver shaver - Specialized tracing of Math.sin, as a proof of concept. Doesn't quite work due to regalloc mismatch, but close!
34a01f96dff7613cb51e76bc150f43d4ce98b8f5
created 2008-07-11 11:40 -0400
pushed 2011-04-26 22:38 +0000
shaver shaver - Windows cares a lot more about where FASTCALL is; such a sensitive platform
b921df2b5ead96386f1a6fe7021a44fe9a3137b2
created 2008-07-10 08:40 -0400
pushed 2011-04-26 22:38 +0000
shaver shaver - fix include ordering for THREADSAFE build
dc043e4e6c34c5538ed0bdd0e235d2b94e4f5db5
created 2008-07-08 23:48 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Move builtin[] table in jsbuiltin.cpp
8374e34d597e56684f05628edb4f5c0bf8752e44
created 2008-07-06 15:55 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Move the type level from int/double to number. All traces start out as double in all slots, and denote and promote to/from int as needed. The FuncFilter optimizes on-trace casting and elininates redundant f->i-> chains. More optimization needed on this of course, and this code is now a bit slower than the previous integer-register use. However, this does solve the q += 2.5 issues. The heap access code does not properly cast yet and is likely unstable.
fcd3450f9272bba03d987ed0fe90040c2253a801
created 2008-07-06 11:19 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Merge.
a53c3daea0e8bce5abd06e13a810b60177cf5ba5
created 2008-07-06 10:59 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Added doubleToUint32 builtin and make tracker a template.
a2e3ea92df6516cb0f4f4f0dd04f49ee0cba5218
created 2008-07-06 13:58 -0400
pushed 2011-04-26 22:38 +0000
shaver shaver - fix builtin_UnboxInt32 signature and name shape_ins for debugging
859e409ef3796a8abd3e636595d06bb481e4d13d
created 2008-07-05 23:21 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Added support for semi-stable loop variables. Compiling for(...) q += 2.5; is ridiculously difficult because it flip-flops between int and double. Add support to promote integer values to doubles at the loop tail if at loop entry we expect a double. Since this isn't possible the other way around, we have to get luck that we catch a path into the loop where q is already double. For this we add 3 trigger points (10, 13, 37). We will try three times to record a trace at those iteration counts of a loop. If none succeed the loop is blacklisted. This probably needs more tuning down the road.
b5556367172da3d22140e614f878a8c05eee47fa
created 2008-07-05 22:04 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Add helpers for i->f and f->i conversion. The f->i path goes via builtin calls.
d23078399de1315e772b009814d1680b3edc51dc
created 2008-07-05 17:29 -0700
pushed 2011-04-26 22:38 +0000
Andreas Gal Andreas Gal - Added missing jsbuiltins.cpp
less more (0) tip