Commit Graph

195005 Commits

Author SHA1 Message Date
Andreas Gal
ad62482aae When re-importing registers after a tree call, make sure to use the inner trees calldepth at its side exit, not the call depths of the calling tree. 2008-08-12 23:25:17 -07:00
Andreas Gal
a122c24f09 Introduce a large fixed-size native frame stack and store its ceiling in state->eos. 2008-08-12 21:39:44 -07:00
Andreas Gal
3b1435ec1b Merge. 2008-08-12 20:19:05 -07:00
Andreas Gal
259fd32832 Hands down the hardest bug I had to debug in TM so far. Make sure to read back any registers an inner tree might have changed before writing out the typemap for the nested_exit guard, otherwise we might be pointing to old stale pre-(inner-)loop state and pick an incorrect (in this case too narrow) type. fannkuch=2.8x with this. 2008-08-12 20:18:29 -07:00
Brendan Eich
161f3ee0d3 - 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).
- Add CallGetter built-in and use it for regexp class-getter-implemented prototype properties.
- Add BUILTIN5 support (this should be "it" ;-).
2008-08-12 18:52:28 -07:00
Andreas Gal
c4b577b4a7 Merge. 2008-08-12 17:40:56 -07:00
Andreas Gal
71a25465c1 Add constvalp and isconstp to LIR instructions (nanojit). 2008-08-12 17:37:38 -07:00
Brendan Eich
cf7235c9c7 Use aobj consistently in test_property_cache (450317). 2008-08-12 17:21:32 -07:00
Andreas Gal
5180dbdb1c Merge. 2008-08-12 16:57:55 -07:00
Andreas Gal
0342908813 Enumerate missing argument slots on the caller's stack and initialize them to undefined (450304). 2008-08-12 16:51:55 -07:00
Brendan Eich
3fe880522e Fix shapelessUnknownCalleeHelper. 2008-08-12 16:36:32 -07:00
Brendan Eich
1d5c5b2b3b Merge. 2008-08-12 16:35:11 -07:00
David Anderson
487b7c9a71 Added NaN test case that fails when jitting; currently looking into why. 2008-08-12 15:45:06 -07:00
Brendan Eich
8e3d3753cd Fix annoying warnings, finally. 2008-08-12 14:50:42 -07:00
Andreas Gal
463f13293a Merge. 2008-08-12 14:29:09 -07:00
Andreas Gal
cbd19ae50d 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). 2008-08-12 14:28:15 -07:00
David Anderson
e97997eef5 Merge. 2008-08-12 11:53:24 -07:00
David Anderson
768c8b4cf9 Only use fastcall on x86. 2008-08-12 11:46:57 -07:00
Brendan Eich
5f632a4da8 More guard argument formatting. 2008-08-12 11:36:52 -07:00
David Anderson
84344430f2 Merge. 2008-08-12 10:47:50 -07:00
David Anderson
8bda2d0857 Fixed nanojit using a variable before it got set (verbosity mode only it seems). 2008-08-12 10:45:24 -07:00
shaver@mozilla.org
419fd08a5f fix !JS_TRACER build 2008-08-12 13:16:47 -04:00
shaver@mozilla.org
8c4e95c301 add way to explicitly disable tracer for easier testing 2008-08-12 13:16:30 -04:00
Brendan Eich
29cfda93a5 Consolidate common name (global slot) addressing code. 2008-08-12 09:42:29 -07:00
Brendan Eich
f03a4a89b8 Put trailing args on their own lines when they otherwise would seem to associate with a nested call in a previous arg position. 2008-08-12 09:27:54 -07:00
Brendan Eich
ceb8e7bca7 Merge, plus ((void)0) parens. 2008-08-12 09:23:38 -07:00
Brendan Eich
e4661b0de3 Fix goto over init whinage. 2008-08-12 09:18:19 -07:00
shaver@mozilla.org
50a8f5de75 fix build for !JS_TRACER, both threaded and switch interps 2008-08-12 12:09:59 -04:00
shaver@mozilla.org
1c378f9ce8 guard all of jstracer.h against non-tracer builds 2008-08-12 11:36:29 -04:00
shaver@mozilla.org
05f44e8d71 NAMEINC, INCNAME, NAMEDEC, DECNAME 2008-08-12 11:33:40 -04:00
Andreas Gal
321fa72911 Merge. 2008-08-12 03:40:16 -07:00
Andreas Gal
82e54245dc Don't read type from typemap if we already have it in a local variable. 2008-08-12 02:00:05 -07:00
Andreas Gal
187cf6aa90 Don't re-record traces over and over in case of excessive type mismatches. Instead, blacklist the fragment and slowly back away from recording it. 2008-08-12 01:31:28 -07:00
Brendan Eich
f463732cc4 JSOP_FORNAME. 2008-08-12 01:06:02 -07:00
Brendan Eich
1aa45f0af0 Factor forInOp from JSOP_FORLOCAL, use it from JSOP_FORARG's recorder too; tighten up JSOP_SETNAME. 2008-08-12 00:34:43 -07:00
Brendan Eich
ffaea5a969 Fix some comments and tighten up assertions about block scope (mrbkap please look). 2008-08-11 23:45:40 -07:00
Brendan Eich
d5a31d6582 Comments for JSOP_{,STRICT}{EQ,NE} about the layering and constraints on evolution of the non-strict equality ops' recorders. 2008-08-11 23:44:43 -07:00
shaver@mozilla.org
7c6039450b cmp over number and (string or bool or undefined) 2008-08-12 01:05:33 -04:00
shaver@mozilla.org
54767150ba mistaken relanding, didn't track merges well enough 2008-08-12 00:41:23 -04:00
shaver@mozilla.org
b92ac7988c reland eb01b1d55d9b after the mismerge 2008-08-12 00:37:16 -04:00
shaver@mozilla.org
55d57d19b1 reland 3ea1e1317707 after the mismerge 2008-08-12 00:36:25 -04:00
Brendan Eich
20fffc55a1 Restore lost shaver rev 0e50c89c476b -- how did that get lost? 2008-08-11 20:27:47 -07:00
Brendan Eich
ea56efac00 Dependent string test. 2008-08-11 20:26:04 -07:00
Brendan Eich
10a6e0581a Merge, sigh. 2008-08-11 19:21:42 -07:00
Brendan Eich
8aca9c6704 Rename js_DestroyJIT to js_FinishJIT to match Init/Finish vs. New/Destroy naming scheme used elsewhere; use same #if conditions around #include jstracer.h as around code depending on it. 2008-08-11 19:17:30 -07:00
shaver@mozilla.org
8892bdfa76 JSOP_EQ/NE for objects 2008-08-11 22:11:31 -04:00
Brendan Eich
5427f3c66a Argh, I hate hg. 2008-08-11 19:10:24 -07:00
Brendan Eich
be2e9be54c Merge, in the name of all that which does not suck\! 2008-08-11 18:53:21 -07:00
Brendan Eich
b10b83d1b6 Merge. 2008-08-11 18:50:12 -07:00
David Anderson
f38172708e Merge. 2008-08-11 18:49:34 -07:00