Vladimir Vukicevic
d317d0075d
b=480796; detect whether ARM chip has VFP and/or v6t2 instructions; r=gal
2009-03-20 15:53:33 -07:00
Andreas Gal
2018b20826
Bump maxbranches to 32 (484341, r=dmandelin).
2009-03-20 14:24:23 -07:00
Jeff Walden
314cf39c41
Bug 472592 - unbox_jsval is infallible, make the signature reflect that. r=gal
2009-01-11 13:57:42 -08:00
Jeff Walden
179a1749fb
Despite the previous log message, the previous push was r=brendan
2009-01-10 15:25:03 -08:00
Jeff Walden
949fc3d056
Bug 466905 - Fix JSOP_NEWARRAY to be not-buggy and use it when possible. NOT REVIEWED YET
2009-01-10 12:15:08 -08:00
Andreas Gal
73fd6451b9
Track timeout side exits separately in jitstats (472761, r=jwalden).
2009-01-09 16:38:57 -08:00
Graydon Hoare
8424af9530
Bug 472553 - Annotations required by jsstack.js analysis, r=jorendorff.
2009-01-07 14:14:51 -08:00
Igor Bukanov
3d5269621d
bug 465030 - Support terminating long-running scripts without using extra threads or signals. r=gal,sayrer
2009-01-07 18:45:13 +01:00
Igor Bukanov
33ba59a269
Backed out changeset 763b96e81579 - I committed the wrong patch
2009-01-07 18:44:50 +01:00
Igor Bukanov
01c091bb60
bug 465030 - Support terminating long-running scripts without using extra threads or signals. r=gal,sayrer
2009-01-07 18:40:58 +01:00
Graydon Hoare
6383e1d5d2
Bug 470388 - Tighten assertion for JSFRAME_POP_BLOCKS on trace-entry frame, r=brendan.
2009-01-06 18:20:33 -08:00
Jason Orendorff
7f92f10b08
Bug 468641 - TM: Add bytecode disassembly to JS_JIT_SPEW output (r=crowder)
2009-01-06 16:51:32 -06:00
Jason Orendorff
be00149c86
Bug 462021 - TM: Make JSStackFrame reconstitution infallible (part 4 of 4, rename recoveryDoublePool to reservedDoublePool, r=brendan)
...
--HG--
extra : rebase_source : d865549cb727aada20fbaa78286de37a97b85bca
2009-01-06 13:39:14 -06:00
Jason Orendorff
b20c028359
Bug 462021 - TM: Make JSStackFrame reconstitution infallible (part 3 of 4, call objects, r=brendan)
...
--HG--
extra : rebase_source : 14a82b2b08c8b7dbae5e72623685b7c3947df603
2008-12-11 17:53:05 -06:00
Jason Orendorff
acc67a8b40
Bug 462021 - TM: Make JSStackFrame reconstitution infallible (part 2 of 4, stack, r=gal)
...
--HG--
extra : rebase_source : f8e3e4853793d02e0771ea663cebe7e1a0d98e4e
2008-12-11 17:53:05 -06:00
Jason Orendorff
999ec8e790
Bug 462021 - TM: Make JSStackFrame reconstitution infallible (part 1 of 4, easy stuff, r=gal)
...
--HG--
extra : rebase_source : 46b26c86f02bb0db70ca357ed71f5a8a9464dc9c
2008-12-11 17:53:04 -06:00
Andreas Gal
61a1479f3e
Don't try to deallocate the trace recorder from inside one of its own instance methods (472049, r=brendan).
2009-01-05 16:13:53 -08:00
Andreas Gal
a59109830e
Use a single lirbuf for the tracer and rewind lirbuf during GC (471821, r=danderson).
2009-01-02 10:55:02 -08:00
Andreas Gal
8b28ae8610
Store frame state information in the code cache and merely put a pointer to it onto the native call stack (470375, r=danderson).
2009-01-01 17:55:43 -08:00
David Mandelin
90baccb99f
Bug 471602 part 1: make regexp compiler use one shared LIR buffer, r=gal
2008-12-31 16:41:33 -08:00
Jeff Walden
6f05e9de07
Make similar-acting code similar-reading as well (but not shared due to the +/- difference), no bug
2008-12-29 07:59:06 -06:00
Jeff Walden
af717d86d5
Bug 470739 - Trace more == cases. r=gal
2008-12-26 14:48:33 -05:00
Igor Bukanov
81c3a2b632
Backed out changeset 2d5e6b1c7254 - busted the WINNT 5.1 talos tracemonkey.
2008-12-23 19:24:09 +01:00
Andrei Saprykin
11dac3f234
bug 453157 - watchdog thread as an alternative to operation count. r=igor,mrbkap
2008-12-23 16:12:11 +01:00
Jesse Ruderman
dba23c0ab9
Fix bustage
2008-12-22 16:07:49 -08:00
Jeff Walden
5d25aca194
Bug 470737 - TM: "switch(1/0){case Infinity:}" 4X slower with JIT enabled. r=gal
2008-12-22 15:42:24 -08:00
Jeff Walden
5d05cfd543
Bug 470409 - TM: Crash [@ js_EqualStrings]. r=brendan
2008-12-21 21:26:08 -08:00
Igor Bukanov
5d5cb0738c
bug 469233 - using interrupt hook support in the interpreter for trace recording. r=brendan
2008-12-21 12:55:09 +01:00
Igor Bukanov
8062218e55
Backed out changeset 605fd1985d05 - more merge typos.
2008-12-21 12:50:36 +01:00
Igor Bukanov
1be7edd38e
bug 469233 - using interrupt hook support in the interpreter for trace recording. r=brendan
2008-12-21 12:31:38 +01:00
Igor Bukanov
635ca1d23a
Backed out changeset f13e2a2a5d66 - I was not careful when merging the unary op changes
2008-12-21 12:23:08 +01:00
Igor Bukanov
3388b615ce
bug 469233 - using interrupt hook support in the interpreter for trace recording. r=brendan
2008-12-21 00:16:41 +01:00
Jeff Walden
4710efd8a4
Bug 469942 - TM: 20% slower to compute unary +/-. r=brendan
2008-12-19 19:30:09 -08:00
Brendan Eich
7826ab3e9f
Fix warnings pointed out by Waldo from apply patch (465214).
2008-12-19 14:15:35 -08:00
Brendan Eich
608700e168
Back out patch for bug 469625, it mysterious busts stuff.
2008-12-19 01:32:48 -08:00
Brendan Eich
16350be804
Merge, dammit!
2008-12-18 22:40:58 -08:00
Brendan Eich
b9cf426072
Bug 469625 - TM: Crash [@ js_String_getelem] (r=jorendorff).
2008-12-18 22:35:46 -08:00
Brendan Eich
90fd9c4313
Merge m-c into tm again.
2008-12-18 22:11:42 -08:00
Brendan Eich
9af4f618a7
Bug 470300 - "Assertion failure: StackBase(fp) + blockDepth == regs.sp" with |let| (r=gal).
2008-12-18 21:08:57 -08:00
Andreas Gal
bbf40348b6
Trace apply/call with an imacro (465214, r=brendan).
2008-12-18 19:20:47 -08:00
Graydon Hoare
d248d11954
Bug 470176 and bug 470173 - prevent traces from writing to imported properties, r=brendan.
2008-12-18 18:25:12 -08:00
Jeff Walden
201e000573
Bug 470133 - TM: fails to trace case with a type mismatch. r=gal
2008-12-18 10:35:09 -08:00
Brendan Eich
3abd77d8ea
Bug 469927 - TM: much slower than interpreter with short loop with |let| (r=mrbkap, a=sayrer).
2008-12-18 01:31:15 -08:00
David Anderson
dbab136074
Fixed bogus assertion in a rare type-instability case (bug 470061, r=gal).
2008-12-18 03:15:09 -05:00
Andreas Gal
589fb9eb38
Merge.
2008-12-17 23:09:55 -08:00
Andreas Gal
3af573343f
Backed out changeset 95b210c2fc92 preemptively. Seems to crash the browser.
2008-12-17 23:09:26 -08:00
Andreas Gal
2dffadf0fb
Merge.
2008-12-17 22:54:02 -08:00
Andreas Gal
62f0547add
Trace apply/call using an imacro (465214, r=brendan).
2008-12-17 22:53:35 -08:00
Graydon Hoare
3477355ddd
Bug 465443, bail off trace when readonly properties are written, r=brendan.
2008-12-17 20:50:05 -08:00
Brendan Eich
bbd3fdab2a
Bug 469927 - TM: much slower than interpreter with short loop with |let| (r=mrbkap).
2008-12-17 12:34:06 -08:00
Brendan Eich
56658da21f
Bug 465460 - TM: valueOf ignored on third iteration of loop (r=gal).
2008-12-16 19:03:42 -08:00
Blake Kaplan
c3dc1ab151
Bug 469761 - Protect against apply on a non-function. r=gal
2008-12-16 15:09:05 -08:00
Andreas Gal
7ba58d96a8
Backed out changeset 5f64a0d18e53
2008-12-12 17:04:32 -08:00
Andreas Gal
f7da8821da
Branch-exit and attach traces on shape mismatches (r=danderson).
2008-12-12 14:26:55 -08:00
Robert Sayre
443f738d12
Backed out changeset f682453c06d0. Failing scriptaculous unit tests, doesn't build on windows or mac ppc.
2008-12-11 20:43:32 -08:00
Brendan Eich
ece10ee8df
Bug 465460 - TM: valueOf ignored on third iteration of loop (r=gal).
2008-12-11 17:50:56 -08:00
Jeff Walden
6afac16038
Bug 465255 - Rewrite TraceRecorder::cmp, take five. (Three, sir!) Three! r=gal
2008-12-08 21:11:56 -08:00
Graydon Hoare
37cfe58e72
Bug 468484 - Rename avmplus::AvmConfiguration, adjust sites of use, r=gal.
2008-12-10 17:19:40 -08:00
Rick Reitmaier
a70c5b7d48
Bug 468484 - LirBuffer has been modified to provide advance warning of out of memory (OOM) conditions, r=danderson.
...
LirBuffer has been modified to provide advance warning of
out of memory (OOM) conditions.
A new page is allocated LIR_BUF_THRESHOLD instructions
prior to reaching the end of page. If the page allocation fails,
call to outOmem() will return true. The buffer can still be
safely written to during during this period but it is assumed
the higher level code will catch this condition and handle
it appropriately as writing LIR_BUF_THRESHOLD instructions
past this point will cause a crash.
This opportunity was also taken to re-factor the code for
LirBufWriter making it more platform agnostic.
- All non-LInsp data in the instruction stream is now managed
through structures that overlay the memory region.
- prepFor() was added to replace the multiple
ensureReferenceable() calls for each instruction.
- insCall() was also modified somewhat in that the
arguments are now stored growing downwards from
the position of the pseudo instruction LirCallIns.
CodegenLIR now has LirBuffer checks at the granularity
of each emitXXX() call that is exposed publicly. This seemed
like a reasonable approach since a client could potentially
call at this level indefinitely. If we want to reduce the frequency
of these checks then we'd have to push the check up into the
verifier.
Assembler OOM handling has also changed. The variable
_startingIns was added and contains the location at which
the assembler began writing code for the current
begin/assem/end sequence. If an OOM condition occurs
the assembler will reset the current instruction pointer
to _startingIns, effectively overwriting the code that has
been generated. This allows the assembler to produce
code indefinitely (and without error) until the upper layers
have noticed the error and respond accordingly.
The constant LARGEST_UNDERRUN_PROT was added
and needs to be set to a platform specific value that is
equal to or greater than the number of NIns written for
the largest possible instruction. i.e. you cannot write
more than this number of NIns to the buffer for each
call to underrunProtect().
2008-11-14 12:46:35 -08:00
Jason Orendorff
b7fb9bc849
Bug 460865 - Read barrier for cx->fp. r=mrbkap, r=dmandelin.
...
--HG--
extra : rebase_source : 19963188b2f9f96336ce6ca28dbaefccf3a639b7
2008-12-09 10:38:32 -06:00
Jeff Walden
e48c310d01
Dangit, why do the tests run correctly locally in small batches? Backing out bug 465255...
2008-12-08 22:19:54 -08:00
Jeff Walden
f143157358
Bug 465255 - Rewrite TraceRecorder::cmp, take two. r=gal
2008-12-08 21:11:56 -08:00
Andreas Gal
e346e5cf60
Eliminate mergeCount from fragments since its unused (468391, r=danderson).
2008-12-07 19:13:50 -08:00
Jeff Walden
77eeb36575
Back out bug 465255, seems I was wrong about the compile error and warning being the only bugs.
2008-12-05 19:51:35 -08:00
Jeff Walden
f9e63195f3
Followup fix for a typing bug (why wasn't I seeing errors with g++?) and a goto-past-initialization (which I also think should have been caught by g++). r=bustage
2008-12-05 18:14:50 -08:00
Jeff Walden
6cb6d5d43b
Bug 465255 - Rewrite TraceRecorder::cmp. r=gal
2008-12-05 16:17:59 -08:00
Andreas Gal
362036b89e
Don't try to setup arguments when tracing Function.call() if we don't have at least 2 arguments (468174, r=brendan).
2008-12-05 16:05:21 -08:00
Andreas Gal
3653f3cb56
Merge.
2008-12-04 18:14:17 -08:00
Andreas Gal
e367780a2f
Trace apply and call (462482, r=brendan).
2008-12-04 18:07:18 -08:00
David Anderson
9ba9c170dc
Fixed assembler errors not blacklisting the loop header, resulting in senseless re-recordings (bug 467854, r=gal).
2008-12-04 16:24:55 -08:00
David Anderson
beea650730
Fixed crashing when deep aborting before a loop header (bug 467857, r=gal).
2008-12-04 16:21:30 -08:00
Andreas Gal
a5c2753bb6
Merge.
2008-12-01 16:45:16 -08:00
Andreas Gal
a78d7744c8
Guard on the JSFunction and parent pointers instead of the identity of the function object in case of shapeless calls (451974, r=brendan).
2008-12-01 16:44:22 -08:00
David Anderson
bce9294e0f
Fixed resolve hooks causing recorder to crash (bug 467007, r=gal).
2008-12-01 15:08:40 -08:00
Andreas Gal
f607be887d
Don't output JIT statistics if we don't ever record a trace (466942, r=danderson).
2008-11-27 00:50:24 -08:00
David Anderson
4d1da21f33
Fixed TIMEOUT_EXIT guard being in the wrong location (from bug 453157, r=gal).
2008-11-26 08:29:24 -08:00
Graydon Hoare
fb8e45ee46
Bug 454569 - post-landing style and cast fixes, sr=brendan.
2008-11-25 13:20:52 -08:00
Graydon Hoare
5a94caadef
Bug 454569 - Improve accuracy of tracemonkey's oracle, r=gal.
2008-11-24 14:53:27 -08:00
David Anderson
c2f9deb2b1
Fixed regression checked in for bug 466128 (bug 466262, r=gal).
2008-11-21 22:55:03 -06:00
David Anderson
cea571a94b
Fixed JSOP_NEG not checking overflow at recording time (bug 465688, r=gal).
2008-11-21 17:17:34 -08:00
David Anderson
56fbffe8c4
Allow recorders to trash multiple trees on the way out (bug 466128, r=gal).
2008-11-21 15:31:59 -08:00
David Anderson
37d2933b13
Fixed double-free of treeInfo in a type instability edge case (bug 465686, r=gal).
2008-11-20 17:20:16 -06:00
David Anderson
6c91afa7b7
Fix CALLPROP not guarding that the callee is not NULL (bug 465580, r=gal).
2008-11-19 16:08:41 -08:00
David Anderson
63c268384c
Fixed unsafe coercion of JSVAL_VOID to string on trace entry (bug 465483, r=brendan).
2008-11-18 19:48:02 -06:00
Vladimir Vukicevic
7a34f9500d
Merge mozilla-central into tracemonkey
2008-11-18 13:54:21 -08:00
Brendan Eich
83c020dce3
Bug 465220 - nested imacro abort not cleanly handled (botches assertions) (r=mrbkap, a=beltzner).
2008-11-17 16:56:01 -08:00
Brendan Eich
37c40ca7c0
Merge.
2008-11-17 16:29:40 -08:00
Igor Bukanov
a76c374322
bug 464334 - removal of no longer applicable asserts that sp <= static spdepth. r=brendan a1.9.1b2=beltzner
2008-11-17 13:48:57 +01:00
Andreas Gal
27b72971da
Removed bogus assert when stringifying objects (465209, r=brendan, a=mconnor).
2008-11-17 01:12:18 -08:00
Andreas Gal
f7ca65fe0f
Don't demote multiplication, even if result is demoted and inputs are demotable (465308, r=danderson).
2008-11-17 01:39:49 -08:00
Andreas Gal
36cc27f654
Make sure to flush the JIT cache after a gc even if we didn't import globals (464418, r=brendan, 2nd attempt to push).
2008-11-17 01:20:54 -08:00
David Anderson
442b376986
Fixed regression from recent constant folding patch (bug 465272, r=gal).
2008-11-16 22:52:15 -08:00
Andreas Gal
a9d9eff7ee
Merge.
2008-11-16 22:13:37 -08:00
Andreas Gal
3c5889df4e
Fix tracing of JSOP_IN (465241, r=danderson).
2008-11-16 22:13:13 -08:00
David Anderson
a653ef6015
Fixed branch traces being erroneously marked as dependent trees (bug 464979, r=gal).
2008-11-16 21:58:35 -08:00
Andreas Gal
0218a2502b
Merge.
2008-11-16 20:22:52 -08:00
Andreas Gal
b1e33fe0ff
JIT affects truthiness of "" <= null (465234, r=Waldo).
2008-11-16 20:22:01 -08:00
David Anderson
6f0cd7b8ba
Constant fold additions to avoid erroneous isPromoteInt detection (bug 465249, r=gal).
2008-11-16 20:14:27 -08:00
Jeff Walden
7c2bb3cab6
Bug 465137 - TM: JIT thinks !NaN is false. r=gal
2008-11-16 18:28:51 -08:00
Andreas Gal
78fbb9e673
Merge.
2008-11-16 13:53:02 -08:00
Andreas Gal
012365500f
Removed bogus assert when stringifying objects (465209, r=brendan).
2008-11-16 13:51:29 -08:00
David Anderson
db46b11fa1
Fixed recorders already deeply aborted being pushed onto the deep abort stack (bug 465145, r=gal).
2008-11-16 02:34:51 -06:00
Brendan Eich
93a63ea9b2
Avoid bogus assertbotch (more work needed to reconstruct imacro stack depth).
2008-11-15 23:56:49 -08:00
Andreas Gal
4da6188c80
Implement ordered comparison for objects (465133, r=brendan).
2008-11-15 23:19:46 -08:00
David Anderson
321ce0dc05
Deep abort recorders outer recorders if we need to flush the JIT cache early (bug 463829, r=brendan,gal).
2008-11-15 18:54:24 -06:00
Brendan Eich
d3da4b8e87
Fast followup to pick nit in last commit.
2008-11-15 12:49:00 -08:00
Brendan Eich
eb9a67cd20
Bug 465013 - TM: General Error trying to play video on CNN (r=gal).
2008-11-15 12:41:26 -08:00
Brendan Eich
bab1f697ee
Bug 464978 - TM: hang with "[] + null" (r=danderson).
2008-11-15 10:33:50 -08:00
Graydon Hoare
acc4b45377
Bug 450000 - Support script timeouts in compiled code, r=gal.
2008-11-14 16:56:00 -08:00
Jeff Walden
8e7fb5c94b
Bug 464986 - Crash trying to compile a trace generated from stdin in debug build. r=danderson
2008-11-14 14:36:32 -08:00
Andreas Gal
acebe116c1
Don't flush JIT cache from within the recorder (464403, r=brendan).
2008-11-13 15:58:58 -08:00
Brendan Eich
fab08e017c
Fast followup to fix for-each-in (imacros bug, r=me).
2008-11-13 00:43:00 -08:00
Brendan Eich
cb47c4cf08
Bug 456511 - (imacros) TM: Make conversion work on arbitrary JSObjects (r=gal).
2008-11-13 00:30:20 -08:00
David Anderson
30101c6443
Fixed recursion in thin loops accidentally trying to close the parent loop (bug 464089, r=gal).
2008-11-12 19:00:15 -08:00
Andreas Gal
074d900a57
Backed out changeset a40f2117bcc0
2008-11-12 17:39:48 -08:00
Brendan
0ca607d76b
Add imacros to support conversion of arbitrary JSObjects (456511, r=gal).
2008-11-12 16:55:45 -08:00
Andreas Gal
d3c38eade4
Backed out changeset 313d3d61333d
2008-11-12 10:12:22 -08:00
Andreas Gal
348e1dc001
Make sure to flush the JIT cache after a gc even if we didn't import globals (464418, r=brendan).
2008-11-11 23:58:36 -08:00
timeless@mozdev.org
de4863a534
Bug 464214 warnings in jstracer
...
r=gal
2008-11-11 11:21:12 +01:00
Andreas Gal
55c5823950
Backed out changeset 594ec832d9a8
2008-11-07 18:19:35 -08:00
Andreas Gal
54ba19de70
Trace Function.apply and Function.call (462482, r=brendan).
2008-11-07 15:58:52 -08:00
Andreas Gal
41cc8a6bd1
Merge.
2008-11-07 15:24:16 -08:00
Andreas Gal
e609f0bb95
Cleanup GuardRecord, SideExit, and InterpStruct and extract VM-dependant fields (463313, r=danderson).
2008-11-07 15:23:43 -08:00
David Anderson
fa14a92fe7
Fixed multitrees assert when building failed speculated branches (bug 463490, r=gal).
2008-11-07 13:22:05 -08:00
Andreas Gal
a19551a824
Fix GC hangs when OOM during recovery pool re-allocation (463190, r=brendan).
2008-11-05 19:09:12 -08:00
Brendan Eich
7f1675516e
Bug 463259 - "Assertion failure: VALUE_IS_FUNCTION(cx, fval)" (r=mrbkap).
2008-11-05 14:25:39 -08:00
Jason Orendorff
5fdc83f169
Bug 462459 - TM: Better tracer support for |new Array(...)|. r=gal.
2008-11-05 07:29:38 -06:00
Andreas Gal
0d6e29aa6c
Scale down regexp native code cache to 1MB and delete cache on shutdown (r=danderson).
2008-11-04 19:11:23 -08:00
Andreas Gal
b8168d74d9
Merge.
2008-11-04 15:08:24 -08:00
Andreas Gal
cdec6ab0a7
Interpreter directly emits the this object found in the property cache for JSOP_CALLNAME, so do the same in the tracer (462989, r=mrbkap).
2008-11-04 15:07:38 -08:00
David Mandelin
c92c2000cc
Bug 461050 WIP: compiling simple regexps, r=danderson,agal
2008-11-04 14:51:51 -08:00
Robert Sayre
03d49a666b
Merge mozilla-central to tracemonkey.
2008-11-04 02:05:05 -05:00
David Anderson
65f7adbd31
Fixed OOM handling when starting a recorder or assembler (bug 451322, r=gal+rreitmai).
2008-11-03 16:10:20 -08:00
timeless@mozdev.org
b93635a72f
Bug 454561 TM: Crash when JavaScript-Debugger is enabled [ @ jsd_lock ]
...
js_SynthesizeFrame needs to fill in all fields of JSInlineFrame.
r=brendan
2008-10-29 11:06:01 +01:00
Jason Orendorff
2c9b2dd1b4
Fix build breakage --with-static-checking. No bug#.
2008-10-31 11:54:48 -07:00
Andreas Gal
37b4dbe474
Don't manipulate stack during cpuid detection (fix for icc, r=danderson).
2008-10-30 17:56:27 -07:00
David Anderson
00bfbb7d80
Make sure double slots are marked as undemotable when stabilizing a tree with failed speculation (bug 462407, r=gal).
2008-10-30 15:54:22 -07:00
David Anderson
48b976a104
Don't coerce void to string when compiling inner tree calls (bug 462388, r=gal).
2008-10-30 13:48:22 -07:00
Andreas Gal
047344b36b
Merge.
2008-10-30 12:32:08 -07:00
Andreas Gal
0cc2b0cfdf
Fixed assert (fallout from 462265).
2008-10-30 12:31:39 -07:00
David Anderson
1f8d249207
Fixed not tracking linked peers as dependencies (bug 462282, r=gal).
2008-10-30 11:29:25 -07:00
Boris Zbarsky
d1afdda41f
Bug 462184. Make INCLUDE_VERBOSE_OUTPUT actually work, and rename it to JS_JIT_SPEW. r=brendan
2008-10-29 21:56:35 -07:00
David Anderson
685543cd89
Mark any double slot in an unstable exit as undemotable (bug 462071, r=gal).
2008-10-29 17:57:14 -07:00
David Anderson
7247e3ffe4
Fixed trees stabilizing from the wrong peer fragment (bug 462240, r=gal).
2008-10-29 16:12:16 -07:00
Andreas Gal
868e7934a2
Emit JSOP_APPLY for .apply(...) similar to JSOP_EVAL for .eval(...) (462209, r=brendan).
2008-10-29 13:30:41 -07:00
Brendan Eich
6ddc16bbe2
Bug 462103 - TM: We don't trace some variants of string + other type (gal+brendan red-headed stepchild).
2008-10-29 00:14:30 -07:00
Andreas Gal
7b8859883f
Merge.
2008-10-28 22:41:05 -07:00
Andreas Gal
4eca106b8a
Handle dslots == NULL case when reading past the actual length of an array (461974, r=danderson).
2008-10-28 22:40:10 -07:00
Jim Blandy
f83d8c9ea3
Bug 97954: Allow SpiderMonkey to be built on its own, or as part of Mozilla.
...
Give SpiderMonkey its own configure script and top-level Makefile.
Adjust js/src/Makefile as appropriate for life as a stand-alone
makefile, instead of a 'make export; make libs'-style Mozilla tier
makefile. Have the configure script accept '--with-nspr-cflags' and
'--with-nspr-libs' options for using an in-tree NSPR. Also accept
'--with-system-nspr', '--with-nspr-prefix', and
'--with-nspr-exec-prefix' flags for using an installed NSPR. Default
to --disable-jemalloc, assuming we don't have that part of the tree
available; have the top-level configure script pass --enable-jemalloc
as needed.
Since we no longer have an export phase to copy header files into
dist/include/js before we build the library, we need to be able to
find nanojit.h in the nanojit directory; fix references in
jsbuiltins.h and jstracer.cpp.
Give SpiderMonkey it its own copies of many of the files from ./config
and ./build. These are all exact copies, except as follows:
. js/src/config/Makefile.in: js/src only has a subset of
js/src/config, and thus a subset of the makefile targets.
. js/src/config/autoconf.mk.in: js/src/configure.in has its own make
variables to set, not set by the top-level configure script, so it
needs a custom automake.mk template.
. js/src/config/make-system-wrappers.pl: a copy from nsprpub/config,
so that we can build without having an NSPR source tree handy.
Invoke js/src/configure from ./configure, passing the values computed
for NSPR_CFLAGS and NSPR_LIBS by the top-level configure script.
Treat js/src as a static directory of the js tier, and create a new
config/js (just a Makefile) to be the js tier's non-static directory.
Let js/src/configure generate SpiderMonkey's makefiles, not
./configure.
Generate a 'js-config' script, which clients can call to find the
CFLAGS and LIBS values necessary to compile and link against an
installed SpiderMonkey library. Don't include the js-config script in
Macintosh packages.
Teach client.mk how to rebuild js/src/configure.
Tell Mercurial to ignore files generated by autoconf in js/src.
Further work:
. Right now, callers must define JS_THREADSAFE when #including jsapi.h.
This is fixed in a subsequent patch.
. js/src/configure is a trimmed copy of ./configure. It could be
trimmed more.
--HG--
rename : build/autoconf/acoutput-fast.pl => js/src/build/autoconf/acoutput-fast.pl
rename : build/autoconf/altoptions.m4 => js/src/build/autoconf/altoptions.m4
rename : build/autoconf/config.guess => js/src/build/autoconf/config.guess
rename : build/autoconf/config.sub => js/src/build/autoconf/config.sub
rename : build/autoconf/glib.m4 => js/src/build/autoconf/glib.m4
rename : build/autoconf/install-sh => js/src/build/autoconf/install-sh
rename : build/autoconf/make-makefile => js/src/build/autoconf/make-makefile
rename : build/autoconf/match-dir.sh => js/src/build/autoconf/match-dir.sh
rename : build/autoconf/nspr.m4 => js/src/build/autoconf/nspr.m4
rename : build/autoconf/pkg.m4 => js/src/build/autoconf/pkg.m4
rename : build/autoconf/update-makefile.sh => js/src/build/autoconf/update-makefile.sh
rename : build/cygwin-wrapper => js/src/build/cygwin-wrapper
rename : build/hcc => js/src/build/hcc
rename : build/hcpp => js/src/build/hcpp
rename : build/unix/mddepend.pl => js/src/build/unix/mddepend.pl
rename : build/unix/uniq.pl => js/src/build/unix/uniq.pl
rename : config/Makefile.in => js/src/config/Makefile.in
rename : config/Moz/Milestone.pm => js/src/config/Moz/Milestone.pm
rename : config/autoconf.mk.in => js/src/config/autoconf.mk.in
rename : config/config.mk => js/src/config/config.mk
rename : config/elf-dynstr-gc.c => js/src/config/elf-dynstr-gc.c
rename : config/fastcwd.pl => js/src/config/fastcwd.pl
rename : config/gcc_hidden.h => js/src/config/gcc_hidden.h
rename : config/insure.mk => js/src/config/insure.mk
rename : nsprpub/config/make-system-wrappers.pl => js/src/config/make-system-wrappers.pl
rename : config/milestone.pl => js/src/config/milestone.pl
rename : config/milestone.txt => js/src/config/milestone.txt
rename : config/mkdepend/Makefile.in => js/src/config/mkdepend/Makefile.in
rename : config/mkdepend/cppsetup.c => js/src/config/mkdepend/cppsetup.c
rename : config/mkdepend/def.h => js/src/config/mkdepend/def.h
rename : config/mkdepend/ifparser.c => js/src/config/mkdepend/ifparser.c
rename : config/mkdepend/ifparser.h => js/src/config/mkdepend/ifparser.h
rename : config/mkdepend/imakemdep.h => js/src/config/mkdepend/imakemdep.h
rename : config/mkdepend/include.c => js/src/config/mkdepend/include.c
rename : config/mkdepend/main.c => js/src/config/mkdepend/main.c
rename : config/mkdepend/mkdepend.man => js/src/config/mkdepend/mkdepend.man
rename : config/mkdepend/parse.c => js/src/config/mkdepend/parse.c
rename : config/mkdepend/pr.c => js/src/config/mkdepend/pr.c
rename : config/nfspwd.pl => js/src/config/nfspwd.pl
rename : config/nsinstall.c => js/src/config/nsinstall.c
rename : config/nsinstall.py => js/src/config/nsinstall.py
rename : config/pathsub.c => js/src/config/pathsub.c
rename : config/pathsub.h => js/src/config/pathsub.h
rename : config/preprocessor.pl => js/src/config/preprocessor.pl
rename : config/revdepth-nt.pl => js/src/config/revdepth-nt.pl
rename : config/revdepth.pl => js/src/config/revdepth.pl
rename : config/rules.mk => js/src/config/rules.mk
rename : config/system-headers => js/src/config/system-headers
rename : config/version.mk => js/src/config/version.mk
rename : config/version_win.pl => js/src/config/version_win.pl
rename : configure.in => js/src/configure.in
2008-10-29 08:29:22 -07:00
Andreas Gal
7da6b31283
Handle dslots == NULL case when reading past the actual length of an array (461974, r=danderson).
2008-10-28 22:40:10 -07:00
David Anderson
55c302718d
Fixed false-positive integer demotions on non-number types (bug 461945, r=gal)
2008-10-28 16:33:01 -07:00
Andreas Gal
25404443ff
GC no longer flushes the JIT cache. Instead just make sure the shape of the global object will mismatch next time we try to record or execute code, which in turn will force a flush of the code cache (458288, r=brendan/danderson).
2008-10-28 16:22:08 -07:00
Brendan Eich
bad1b50498
Re-land patch for bug 458851 now that latent bug it uncovered (not filed; see hg log) is fixed.
2008-10-28 14:04:29 -07:00
David Anderson
06ec3d4965
Merge.
2008-10-28 14:00:27 -07:00
Brendan Eich
e95f449f88
Fix tracing apply with wrong arguments (no bug, r=gal+dvander).
2008-10-28 13:58:20 -07:00
Jason Orendorff
5258c4d288
Bug 461723 - TM: "Assertion failure: (m != JSVAL_INT) || isInt32(*vp)" with "(0 + void 0) && 0". r=gal.
2008-10-28 11:52:38 -07:00
Jason Orendorff
37724bb378
Backed out changeset d4fe79372140 (bug 458851) due to persistent orange on TraceMonkey tinderboxes.
2008-10-28 10:49:06 -07:00
Brendan Eich
51f987553a
Bug 458851 - TM: for-in loops skip every other value in certain cases (r=gal/mrbkap).
2008-10-27 22:30:52 -07:00
David Anderson
bf1a78f4fe
Implemented multiple type specialized trees per entry point (bug 450833, r=gal)
2008-10-27 20:42:49 -07:00
Jason Orendorff
154b1955c7
Bug 456384 - TM: v8-richards.js benchmark opens a print dialog in browser with JIT enabled. r=brendan
2008-10-27 16:15:32 -07:00
Andreas Gal
ba12fe7023
Merge.
2008-10-25 01:04:47 -07:00
Andreas Gal
df30935a17
guardDenseArray and guardDenseArrayIndex must guard on the actual outcome, since we don't always abort trace if its not a dense array (461611, r=me).
2008-10-25 01:03:38 -07:00
David Anderson
e33e23e267
Fixed false positive demotions due to missing isPromoteInt (bug 461612, r=gal).
2008-10-25 01:50:38 -05:00
Andreas Gal
06b393e8a2
Trace reading from dense arrays out of bounds and trace undefined -> number conversion in binary ops (461611, r=brendan).
2008-10-24 21:51:04 -07:00
David Anderson
6ebb53e98e
Fixed branch demotions using the branch PC rather than the root PC, causing infinite records (bug 455547, r=gal).
2008-10-24 14:01:17 -07:00
Brendan Eich
fcca844194
Bug 461248 - Remove JSOP_RESUME (r=gal/jorendorff).
2008-10-24 12:34:08 -07:00
Jason Orendorff
90796fca26
Bug 461492 - TM: INT32 can't be used as return type for traceable native that actually returns an int. r=gal.
2008-10-24 12:49:54 -05:00
David Anderson
590d3d2443
Fixed crash from JIT cache flushes when js_Interpret was holding TraceRecorders (bug 458288, r=brendan).
2008-10-24 10:47:59 -07:00
Andreas Gal
19ed8b2e9c
Only track and look up LOOP_EXIT side exits in the tree info (r=danderson).
2008-10-22 22:29:51 -07:00
Andreas Gal
5b7d8ddbe0
Backed out changeset 82f5fed6d91a (Linux GCC doesn't seem to like clobbering ebx in inline assembly).
2008-10-22 19:08:28 -07:00
Andreas Gal
04b27d4cf3
Avoid pusha/popa inside assembly (icc crashes) when checking for SSE2 using cpuid (461280, r=danderson).
2008-10-22 18:55:54 -07:00
Andreas Gal
5cc94e1d59
Re-use loop exit side exit if we already have one for that PC location and the same type map (461076, r=danderson).
2008-10-22 16:27:25 -07:00
Andreas Gal
e2a6acb46a
Use LIR_loop for loop edge to avoid going into a side exit handler at every loop edge (461231, r=danderson).
2008-10-22 16:00:08 -07:00
Andreas Gal
b14d526b66
Merge.
2008-10-21 17:50:52 -07:00
Andreas Gal
ec7efc925c
Remove code to unlink trees to reduce the size of GuardRecord. Allow GuardRecords to share one common SideExit structure. The VM places both explicitly into the LIR (460538, r=danderson).
2008-10-21 17:50:32 -07:00
Jason Orendorff
e1877796ba
Bug 460501 - Round-trip change due to "&&" constant-folding leaving extra parens. r=brendan.
2008-10-21 13:35:22 -05:00
Vladimir Vukicevic
3164784c33
Make ARM nanojit compile again (doesn't run)
2008-10-20 11:18:30 -07:00
Jason Orendorff
e0b7bce037
Bug 459266 - TM: Allow CALLINFO macros to specify linkage. r=brendan.
2008-10-16 14:24:10 -05:00
Jason Orendorff
f8a75808ed
Bug 459446 - Trace JSOP_POPV. r=brendan.
2008-10-15 15:22:05 -05:00
Andreas Gal
ea1d9c5edc
Allow a single level of self-calling until we have support for recursion (459775, r=brendan).
2008-10-13 23:20:39 -07:00
Graydon Hoare
bf84bf6273
Merge tamarin-redux (nanojit2) into tracemonkey (457786, r=edwsmith,gal,danderson).
2008-10-13 13:29:18 -07:00
David Anderson
55ee8061f8
Return innermost guard from js_ExecuteTree and not outermost (r=gal).
2008-10-13 12:44:37 -07:00
Jason Orendorff
12c5730930
TM: Remove unreachable "return false" in TraceRecorder::record_JSOP_NOT. No bug, r=gal.
2008-10-13 14:10:35 -05:00
Jason Orendorff
6b88d0da8d
Bug 459426 - Reunite record_JSOP_{NEW,CALL}. r=gal.
2008-10-13 11:04:26 -05:00
Andreas Gal
9bfc3c5072
Properly recover from a nested side exit with more than a single level of nesting (459539, r=danderson).
2008-10-12 15:39:32 -07:00
Andreas Gal
d622ee23d8
Merge.
2008-10-11 20:27:03 -07:00
Andreas Gal
798a62ad00
Stack water level is off by +1 in getTop, and JSOP_CALLPROP premature updates the tracker (459537, r=danderson).
2008-10-11 20:26:29 -07:00
Boris Zbarsky
33415ac1fb
Adding some documentation
2008-10-10 12:43:30 -04:00
Jason Orendorff
232767cb27
Bug 459294 - TM: move soft float builtins next to SoftFloatFilter. r=andreas.
2008-10-10 11:31:23 -05:00
Andreas Gal
9a086f63ae
Don't carry around oldpc in AbortRecording path (459321, r=danderson).
2008-10-09 16:17:13 -07:00
Andreas Gal
35de6c0d9d
Merge.
2008-10-08 21:02:57 -07:00
Andreas Gal
c974289da5
Support thin loops (iteration < 2) by closing the loop even if we are on the last iteration (456431, r=danderson).
2008-10-08 21:02:04 -07:00
danderson
c56579e021
Blacklist loop if its unstable and we don't recompile it (459174, r=gal).
2008-10-08 19:58:40 -07:00
Andreas Gal
afc99f7ccc
In ifop, avoid eq0(eq0(x)), instead flip guard direction and use single eq0 (459164, r=danderson).
2008-10-08 17:49:54 -07:00
Andreas Gal
471ed73a35
Evaluate cond to true if value evaluates to true in non-fused if (459159, r=danderson).
2008-10-08 17:44:04 -07:00
Andreas Gal
fb350afe17
Non-fused ifs emit different comparison code than the interpreter uses (459151, r=danderson).
2008-10-08 16:23:54 -07:00
Jason Orendorff
3204ec178a
Bug 459085 - TM: Number.toString traceable native is broken (r=gal)
2008-10-08 17:19:15 -05:00
Jason Orendorff
a27d101dab
Bug 458735 - Improve internal API for traceable natives (r=brendan, nanojit r=edwsmith)
2008-10-08 17:08:33 -05:00
Andreas Gal
52f71e38dc
Add missing comparison before letting the result of the conditional move flow into the guard for ordered boolean comparisons (457778, r=danderson).
2008-10-07 13:32:30 -07:00
Andreas Gal
1b0fd40e30
Trace push and pop for dense and sparse arrays (453734, r=brendan).
2008-10-07 11:00:16 -07:00
Brendan Eich
19e9638dc3
Bug 457920 - regexp-dna.js and generality want JSOP_GETELEM(dense array, "0") (r=mrbkap/gal).
2008-10-06 22:30:36 -07:00
Boris Zbarsky
cab53dbee6
Bug 456165. Trace |new Date()|. r=brendan
2008-10-06 20:28:22 -04:00
David Anderson
26d5db2cc5
Merge.
2008-10-06 16:48:14 -07:00
David Anderson
a4daa1c332
Fixed NaN handling again after backout of busted patch (bug 458472, r=gal).
2008-10-06 16:47:05 -07:00
Andreas Gal
40d1236378
Add support for writing back a boxed value when side-exiting on JSOP_RESUME (453734, r=brendan).
2008-10-06 16:22:57 -07:00
Andreas Gal
95b8fa8a84
Backed out changeset 2176f46b2702 (trying to identify cause for tinderbox burning).
2008-10-06 13:58:11 -07:00
David Anderson
c34cf06820
Fixed incorrect handling of NaN in ifop causing one new branch per iteration (bug 458472, r=gal).
2008-10-03 17:28:03 -07:00
Brendan Eich
502fb4e4c8
Bug 456831 - TM: Trace JSOP_SETLOCALPOP (r=mrbkap).
2008-10-02 15:39:25 -07:00
David Anderson
15a55dfe6d
Fixed random test failures on AMD64, booleans were being loaded as 64-bit values.
2008-10-02 16:30:58 -05:00
Andreas Gal
49de341e4a
Fixed more confusion of quads/numbers while emitting LIR (bug 458076, r=danderson).
2008-10-01 18:04:39 -05:00
Andreas Gal
8aa08cec2a
For GETELEM/SETELEM we must check that its a native object first before trying to compare the objects shape to the shape of the global object to ensure its not aliasing the global object (457979, r=shaver).
2008-09-30 20:10:46 -07:00
Vladimir Vukicevic
f761c61b8e
TM: move cmov_available setting into nj arch backends where appropriate
2008-09-30 17:15:09 -07:00
Andreas Gal
83ea7eb834
Merge.
2008-09-30 16:35:52 -07:00
David Mandelin
a9fa2e79d8
Don't trace a property access with a watchpoint (455413, r=brendan)
2008-09-30 13:34:17 -07:00
Andreas Gal
9adad6d33a
Merge.
2008-09-30 13:02:53 -07:00
Andreas Gal
9c4eefd7ec
Fix guarding in case of sparse array setelem (regression from 457580, r=danderson).
2008-09-30 13:02:23 -07:00
David Anderson
0804b51ac0
Fixed cmp number check logic for 64-bit environments (bug 457129, r=gal).
2008-09-30 11:45:00 -05:00
David Anderson
60ff7369b3
Fixed global object ownership change not aborting recording (bug 455173, r=gal).
2008-09-29 23:55:58 -05:00
David Anderson
75e7abcf38
Fixed crash when charCodeAt failed (with NaN) while recording (bug 457795, r=gal).
2008-09-29 23:20:34 -05:00
Brendan Eich
11db6aaf1d
Always use JSBool (not bool sometimes, JSBool others) as JSVAL_IS_BOOLEAN's native slot type.
2008-09-29 22:27:43 -04:00
Andreas Gal
320dd48955
Add a resume point (JSOP_RESUME) immediately following JSOP_CALL (457789, r=mrbkap).
2008-09-29 18:49:40 -07:00
Andreas Gal
36e0e1fcbf
Catch negative indexes at recording time. At runtime the builtins already check for us. Also guard for shape and setters/getters for non-dense integer index setelem case (57580, r=mrbkap).
2008-09-28 17:11:47 -07:00
Andreas Gal
5fdd5d2b67
Properly handle cmov and sse2 flags, and put them in a central place not into each platform-dependant assembler (457355, r=danderson).
2008-09-26 20:39:21 -07:00
Andreas Gal
5cc5fdedb8
Merge.
2008-09-26 19:21:27 -07:00
Andreas Gal
9960750440
Can't use JSVAL_IS_BOOLEAN on trace since boolean type contains undefined (457351, r=brendan).
2008-09-26 19:20:52 -07:00
David Anderson
ce71880114
Fixed a bug where no shape guard was emitted if a property was not found, causing it to remain unseen if added later. Abort in this case instead. (bug 457171, r=brendan)
2008-09-26 19:18:00 -07:00
Andreas Gal
884eabf3d5
Cleanup SETELEM, box early (in case we side exit on that) and don't set return value if INITELEM or followed by POP (457336, r=brendan).
2008-09-26 17:33:40 -07:00
Andreas Gal
93a292bd90
Merge.
2008-09-26 14:16:25 -07:00
igor
19701dd91b
When replenishing the recovery double pool, detect if a GC happens (follow up work for 456826, r=gal).
2008-09-26 14:16:11 -07:00
Boris Zbarsky
fe2220afb1
Bug 456165 part 2. Trace Date.now. r=gal
2008-09-26 14:37:50 -04:00
Boris Zbarsky
a4b9ae6222
Bug 456370. Flush the fragment cache earlier on global shape mismatch. r=gal
2008-09-26 14:37:49 -04:00
Andreas Gal
7bb0a663e6
Use a pre-allocated pool of doubles to make sure we can safely recover in case of OOM or out of doubles (456826, r=brendan).
2008-09-25 19:11:48 -07:00
Brendan Eich
8030ce9609
Bug 457130 - TM: regexp lastIndex property not traced correctly (r=danderson).
2008-09-25 17:45:14 -07:00
David Anderson
3808521295
Workaround for intermittent js_GetClassObject failures (bug 457069, r=brendan).
2008-09-25 17:30:01 -07:00
Brendan Eich
9807c189fe
Bug 457127 - TM: Crash on digg.com with adblock plus [@ ReconstructPCStack] (r=danderson).
2008-09-25 17:05:06 -07:00
Brendan Eich
f875d89fa2
Bug 456810 - TM: Crash on digg.com with adblock plus [@ ReconstructPCStack] (r=gal).
2008-09-25 15:04:48 -07:00
Brendan Eich
b7841b8cfd
Fixed argc < nargs miscount in js_SynthesizeFrame and adjusted a related assertion (bug 456667, r=danderson).
2008-09-25 13:12:01 -07:00
Andreas Gal
4be7fad144
Merge.
2008-09-25 11:32:00 -07:00
Andreas Gal
5b117e1c3f
Rewrite and cleanup GETELEM and SETELEM (455748, r=brendan).
2008-09-25 11:31:40 -07:00
Jason Orendorff
c35bfc3682
Bug 389034 - JS_SetProperty() ends up resolving w/o JSRESOLVE_ASSIGNING (r=brendan, sr=bzbarsky)
2008-09-25 11:13:31 -05:00
Brendan Eich
d56e0c688e
Back off premature arguments tracing (453730 temporary measure).
2008-09-25 08:51:40 -07:00
Andreas Gal
97be5eae89
Merge.
2008-09-24 23:32:19 -07:00
Andreas Gal
eb5f8be2b1
Demote modulo operations to integer if both args are int (456934, r=brendan).
2008-09-24 23:28:56 -07:00
Brendan Eich
3238fa4180
Bug 456931 - TM: GVAR op record methods use wrong object (r=gal).
2008-09-24 23:09:46 -07:00
Brendan Eich
86b3bc3671
Bug 456932 - TM: Don't assert that global object can't grow additional properties if none are used by any trace and we don't check for global shape mismatches (r=gal).
2008-09-24 23:05:44 -07:00
Andreas Gal
c3ae2f8027
Merge.
2008-09-24 19:33:04 -07:00
Andreas Gal
f1cdf0fd1c
Make sure JSOP_DEFLOCALFUN pushes the right function object (456470, r=brendan).
2008-09-24 19:31:51 -07:00
Brendan Eich
ac41d655c4
Merge pull from mozilla-central.
2008-09-24 18:46:44 -07:00
Andreas Gal
5fdc88e6b7
Only fasttrack applys where the arguments array has the same lengths as the expected arguments of the called function (456494, r=brendan).
2008-09-24 16:45:27 -07:00
Andreas Gal
e50585b158
Merge.
2008-09-24 16:32:36 -07:00
Andreas Gal
2bc1ba7a91
The meaning of T changed in our builtin table to object-only, so we have to mark the string builtins now with S, instead of T (454682, r=brendan).
2008-09-24 16:31:07 -07:00
Brendan Eich
d0645c2e47
Bug 456875 - TM: js_SynthesizeFrame must js_GetCallObject if JSFUN_HEAVYWEIGHT (r=mrbkap).
2008-09-24 15:43:19 -07:00
Brendan Eich
536e07f808
Bug 455146 - TM: Going to NEW Facebook profile page causes crash. [ @FlushNativeStackFrame] (r=danderson,mrbkap).
2008-09-24 15:40:08 -07:00
Andreas Gal
619234db4c
Back out attempt to invoke natives that return a boxed value (namely push and pop, 453734).
2008-09-24 15:18:19 -07:00
David Anderson
a53ee95a20
Fixed breaks in switch statements causing premature end-of-traces (bug 456345, r=gal,brendan).
2008-09-24 13:12:25 -07:00
David Anderson
ccd5e825b9
Fixed jstracer's operator delete leaking out into other shared libraries (bug 452721, r=gal).
2008-09-23 18:12:53 -07:00
Andreas Gal
38a8e67fa5
Merge.
2008-09-23 17:19:02 -07:00
Andreas Gal
958c18fb2a
Add builtin for invocation of match() on String objects (454682, r=danderson).
2008-09-23 17:18:40 -07:00
Doug Turner
cf6bf884ef
Bug 456458 - JS Tracer uses file-system stat structure name - WinCE compile fails. patch by dougt, r=crowder
2008-09-23 14:35:29 -07:00
David Anderson
b3141a864c
Fix where recording could crash if globalObj->dslots got reallocated (bug 451137, bug 455137, r=gal).
2008-09-23 13:29:41 -07:00
Andreas Gal
9ae4f39d64
Don't demote dmod to imod since there is no case that is guaranteed to produce valid integer results for all inputs (456540, r=danderson).
2008-09-23 12:21:15 -07:00
Brendan Eich
ef1a9b029a
JS_snprintf for portability, not snprintf (bustage fix).
2008-09-23 00:59:59 -07:00
Andreas Gal
b967b5aec8
Use JS_snprintf instead of snprintf which Windows doesn't seem to know about (fix build breakage).
2008-09-23 00:58:11 -07:00
Andreas Gal
5054e0003b
Don't emit constant guards for switch and ifop (455605, r=danderson).
2008-09-22 17:58:25 -07:00
Andreas Gal
d85fc31e85
Both sides of a modulo have to be demotable before we can optimize using imod (456477, r=danderson).
2008-09-22 17:02:33 -07:00
David Anderson
d1bc6dc0d8
Fixed jstracer.cpp no longer building in the browser because of -pedantic.
2008-09-22 11:23:22 -07:00
Boris Zbarsky
f1b69640dd
Backed out changeset c0364f5e0a84
2008-09-21 09:02:09 -04:00
Boris Zbarsky
f068ba4b22
Adding missing file
2008-09-21 08:59:52 -04:00
Brendan Eich
782b633703
Fix bug 455763 (r=me).
2008-09-21 01:38:39 -07:00
Brian Crowder
d87b65397b
Add a JIT stats object in the shell
2008-09-19 22:47:58 -04:00
Boris Zbarsky
4b972f730f
Adding test for bug 451605
2008-09-19 21:58:00 -04:00
Andreas Gal
da5081c842
Properly calculate tree exit/call guards (bug 453397, r=danderson).
2008-09-19 18:45:57 -07:00
Andreas Gal
b20918f930
Dynamic reconstruction of arbitrary native frames (454402, r=danderson).
2008-09-19 16:09:18 -07:00
Andreas Gal
16fbc92e91
Backed out changeset 5e4ec981e9ea
2008-09-19 12:07:46 -07:00
Andreas Gal
f06affb8ed
Allow tree to grow around unbox operations when the type of the value changes (452514, r=danderson).
2008-09-18 17:40:46 -07:00
Andreas Gal
9d7afa336a
Add support for fast native that return jsval and wire up push/pop (453734, r=mrbkap).
2008-09-18 16:53:09 -07:00
Andreas Gal
9908bc1345
Merge.
2008-09-18 16:08:52 -07:00
Andreas Gal
2c406fe617
Add support for JSOP_NOT on strings (451787, r=danderson).
2008-09-18 16:04:54 -07:00
David Anderson
b895f26605
Fixed trying to record arguments past the formal arg count in JSOP_ARGSUB and JSOP_CALL (bug 455757, r=gal).
2008-09-18 15:23:22 -07:00
David Anderson
40d94b8bed
Fixed -0 being treated as a promotable unsigned integer (bug 455758, r=gal).
2008-09-18 14:19:17 -07:00
Andreas Gal
708f08ca9c
Properly handle side exits in scripted constructors (originally mrbkap, r=brendan, 453462).
2008-09-18 14:13:37 -07:00
Andreas Gal
f074cc7a9f
Cleanup and unify comparison code (455811, r=danderson).
2008-09-18 13:31:26 -07:00
Andreas Gal
dab25898eb
Don't export operator new/delete except if really needed (452721, r=danderson).
2008-09-16 13:57:59 -07:00
Andreas Gal
6de13bab44
Merge.
2008-09-16 13:24:57 -07:00
Andreas Gal
8ef12c41b5
Removed bogus assert (argv is NULL if callee is NULL, assert segfaults, 452495, r=danderson).
2008-09-16 13:24:34 -07:00
David Anderson
6dcdb6aeb9
Fixed pointer arithmetic bug during trace recording on 64-bit platforms (bug 454981, r=m_kato).
2008-09-16 10:48:54 -07:00
Andreas Gal
4f38e736a7
Backed out changeset 66a76c8c7346
2008-09-16 06:51:33 -07:00
brendan
18c4ef65df
Don't forget to set RHS as result in SETPROP in case we don't call either SetPropHit or SetPropMiss (455408, r=gal).
2008-09-16 06:26:57 -07:00
Andreas Gal
61aeda1e95
Detect modulo by constant that is not zero and demote to integer modulo (451788, r=brendan).
2008-09-16 06:20:54 -07:00
Andreas Gal
70d28c8730
Backed out changeset 61b9209c186f
2008-09-15 19:59:06 -07:00
brendan
663c6aeb04
test_property_cache_direct_slot forgot to insist on a direct slot for get ops (453249, r=gal).
2008-09-15 19:40:43 -07:00
Andreas Gal
2e60c6889f
Merge.
2008-09-15 17:09:45 -07:00
Andreas Gal
13cc3eaad6
Backed out changeset 87fe68f51647
2008-09-15 17:09:25 -07:00
Andreas Gal
950247bb9d
Fix JSOP_NOT (455380, r=brendan).
2008-09-15 17:08:15 -07:00
Andreas Gal
0764f9fccb
Demote modulo operation with a constant non-zero right hand side (451788).
2008-09-15 15:59:25 -07:00
Andreas Gal
a580bcd185
Implement comparison of numbers against null (455293, r=brendan,danderson).
2008-09-15 15:30:06 -07:00
Andreas Gal
f369f7dcfb
Whitespace nit-pick (453261, r=brendan).
2008-09-15 15:26:16 -07:00
Andreas Gal
cdb4ed8fae
Merge.
2008-09-15 15:01:44 -07:00
Andreas Gal
95068bdc26
Properly handle floating point array indexes (453261, r=brendan).
2008-09-15 15:00:40 -07:00
Vladimir Vukicevic
47e9d3a21b
b=454530; misc trace abort fixes (trace String.concat); r=brendan
2008-09-15 17:30:05 -04:00