Commit Graph

69177 Commits

Author SHA1 Message Date
Brian Hackett
aafdf60b8a [INFER] Don't get type properties from Array.prototype having unknown properties, bug 656252. 2011-05-11 08:31:24 -07:00
Brian Hackett
d76d82846c [INFER] Skip silly FrameEntry cases when inlining Array.{push,pop}, bug 656221. 2011-05-11 07:37:38 -07:00
Jan de Mooij
ad51c2b3b1 [INFER] Cast returnData to uint32 instead of uint64 to fix Linux orange, bug 655950. r=bhackett 2011-05-11 16:32:51 +02:00
Jan de Mooij
481abc13d2 [INFER] Don't use FPConversionTemp in ensureInteger, it does not work without SSE 4.1. r=bhackett 2011-05-11 16:32:01 +02:00
Jacob Bramley
5f4c1cdd45 Add interpoline support to ARM. [bug 655260] [r=bhackett] 2011-05-11 15:16:22 +01:00
Jacob Bramley
70dde7f53e Tweak pushSynced call to fix ARM build. [bug 655260] [r=bhackett] 2011-05-11 15:16:22 +01:00
Jacob Bramley
f6cf2952eb Add absDouble to the MacroAssembler interface, and abstract the 'x & -x' trick away as it is an x86-specific optimization. [bug 655260] [r=bhackett] 2011-05-11 15:16:22 +01:00
Jacob Bramley
d187d1fc87 Adjust VMFrame assertions to fix the ARM build. [bug 655260] [r=bhackett] 2011-05-11 15:16:22 +01:00
Jacob Bramley
53b1980000 Tweak register name calls on ARM to fix the build. [bug 655260] [r=pbiggar] 2011-05-11 15:16:22 +01:00
Brian Hackett
82629392f1 [INFER] Inlined natives for Array.{push,pop}, object flag cleanup, bug 653962. 2011-05-10 23:33:30 -07:00
Brian Hackett
511a786c20 [INFER] Don't incorrectly mark compilation failure on loop bodies with large modsets, bug 656096. 2011-05-10 13:34:23 -07:00
Brian Hackett
efa5cac9d0 [INFER] Don't fold CALLPROP pushed value in SSA analysis, force out entries for popped values when returning from inlined calls, bug 653962. 2011-05-10 13:21:44 -07:00
Brian Hackett
4995d87bb4 [INFER] Don't make a local copy of cx->regs until ready to push a new frame, bug 655991. 2011-05-10 10:07:58 -07:00
Brian Hackett
59b67aa80e Merge. 2011-05-10 07:51:57 -07:00
Brian Hackett
d70c7dce96 [INFER] Get object from right slot when handling overflowing INCPROP, bug 655998. 2011-05-10 07:51:14 -07:00
Brian Hackett
8cbde73ee4 [INFER] Don't assign FP registers in allocation to entries which are currently doubles but not doubles at the target, bug 655990. 2011-05-10 07:40:59 -07:00
Paul Biggar
510afa354d Bug 654668: Add test. 2011-05-10 07:37:32 -07:00
Brian Hackett
b106aecd63 [INFER] Don't inline scripts which use 'this' and could ever be called with a 'this' value needing wrapping, bug 655954. 2011-05-10 07:09:02 -07:00
Brian Hackett
48d3db3956 [INFER] Don't try to immediately recompile scripts in cases of static overflow and compiler-triggered recompilation, bug 655940. 2011-05-10 06:43:43 -07:00
Brian Hackett
29d8f3f7b5 [INFER] Use type barrier for values produced by class getProperty hooks, bug 655938. 2011-05-10 06:17:32 -07:00
Jan de Mooij
f2561647d9 [INFER] Add JSOP_CALLGLOBAL rejoin to interpoline, bug 655949. r=bhackett 2011-05-10 15:06:42 +02:00
Jan de Mooij
e74ca6705c [INFER] Add JSOP_NOTRACE to type inference switch, bug 655708. r=bhackett 2011-05-10 15:06:41 +02:00
Brian Hackett
2423ade3f0 [INFER] Fix broken test for loop invariant slots, bug 655854. 2011-05-09 20:21:34 -07:00
Brian Hackett
769796394d [INFER] Reset use count when recompiling, bug 650163. 2011-05-09 15:11:32 -07:00
Jan de Mooij
42a0a50b2d [INFER] Mark type of JSOP_THIS with type null or undefined as unknown, bug 655711. r=bhackett 2011-05-10 00:01:48 +02:00
Jan de Mooij
a44d225855 [INFER] Don't call fixDoubleTypes twice for the same op, bug 655505. r=bhackett 2011-05-10 00:01:48 +02:00
Brian Hackett
e5027c0d64 [INFER] Perform an indirect jump at the end of native stubs on x64, bug 639967. 2011-05-09 14:00:32 -07:00
Brian Hackett
aae52a8f74 [INFER] Don't use shell bindMethod function on non-compileAndGo scripts, bug 654710. 2011-05-09 13:03:03 -07:00
Brian Hackett
4955efb887 [INFER] Don't mark type as synced after writing known-undefined values to locals, bug 655508. 2011-05-09 10:56:54 -07:00
Brian Hackett
3f7deb9632 [INFER] Need to call ensureVarTypes before slotTypes, bug 653395. 2011-05-09 10:27:18 -07:00
Brian Hackett
93fea1ae90 [INFER] Maybe fix build breaks. 2011-05-09 10:00:29 -07:00
Brian Hackett
c930c3e982 Merge TM -> JM
--HG--
rename : js/src/GlobalObject.cpp => js/src/vm/GlobalObject.cpp
2011-05-09 09:49:48 -07:00
Paul Biggar
9c572e750b Bug 652593: Remove compound GET*PROP opcodes, to fix strict warnings (r=bhackett,dao)
The undefined property strict-mode warning was missed under some compound
opcodes. JM had removed those opcodes, and so the warnings appeared. This
ports the opcode remove to TM, fixing the warnings.

Bug 647626 removed the compound opcodes from JM, as they made type-inference
and the JITs more complex, for a minor speed impact (see
https://bugzilla.mozilla.org/show_bug.cgi?id=647626#c6 for benchmarks).

This also fixes the strict mode warnings that appeared in the browser as a
result of the fix.
2011-05-09 07:37:37 -07:00
Brian Hackett
c280d034f7 Merge. 2011-05-09 07:28:32 -07:00
Brian Hackett
417f1e64b9 [INFER] Remove on stack recompilation, allow removed on stack JIT frames to rejoin into the interpreter, bug 650163. 2011-05-09 07:12:47 -07:00
Tom Schuster
82f4ee4b3f Bug 654685: add reportCompare to fix warnings, no_r= 2011-05-08 00:11:03 +02:00
Tom Schuster
d84a191ec4 Bug 654685: Remove Boolean.prototype.toJSON r=pbiggar 2011-05-07 22:34:44 +02:00
Jan de Mooij
44b6d881bb [INFER] Fix ensureInteger to forget allocated GP register, bug 655505. r=bhackett 2011-05-07 20:40:44 +02:00
Tom Schuster
cd0d919992 Bug 652154: Fix path reversal on windows in jstest r=pbiggar 2011-05-07 19:20:31 +02:00
Makoto Kato
fc6d231d63 Bug 654873 - ARM target (gcc 4.5.2 or later) should use built-in atomic function instead of arm-kuser. r=gal 2011-05-08 00:47:13 +09:00
Paul Biggar
b7a5a9115b Bug 653153: Fix the parseInt fast path doubles above 1e21 (r=jwalden)
The spec says parseInt needs to convert to a string before being converted to
an integer. For 1e+21 (and greater), ToString uses exponential notation:
"1e+21", which get's parsed as 1. The existing parseInt fast path for doubles
converted it directly into an integer, giving the result 1e21. The fix adds a
bounds check to see if the exponential notation is triggered, and still uses
the fast path if not.
2011-05-07 05:31:59 -07:00
Gregor Wagner
b087efb463 Bug 655175 - Add entrance and exit time to GCTimer. r=igor 2011-05-06 13:59:37 -07:00
Jacob Bramley
9f550706e6 Replace prtypes inclusion to make cross-builds work again. [bug 655042] [r=bhackett] 2011-05-06 08:41:58 +01:00
Brian Hackett
a47edd60c2 [INFER] Allow call inlining and LICM to work together, bug 653962. 2011-05-05 13:59:29 -07:00
Jan de Mooij
1da5f47004 [INFER] Don't call learnType when property type is unknown, bug 654393. r=bhackett 2011-05-05 21:35:30 +02:00
Jan de Mooij
c49fd69f2a [INFER] Use generated rejoin path for ic::NativeCall/ic::NativeNew, bug 654536. r=bhackett 2011-05-05 21:35:29 +02:00
Jan de Mooij
c97bd188d2 [INFER] Fix rejoin point for JSOP_DEFLOCALFUN* and JSOP_IN, bug 653397. r=bhackett 2011-05-05 10:04:31 +02:00
Paul Biggar
9b9d0b4696 [INFER] Turn off check-ooms as part of |make check|, it doesn't work right. 2011-05-04 04:49:41 -07:00
Paul Biggar
b5c783f971 [INFER] Remove calls to js_free, js_calloc, etc. Also stop checking for this until closer to merge time. 2011-05-04 04:49:14 -07:00
Brian Hackett
714311bfc4 [INFER] Workaround GCC miscompilation. 2011-05-02 17:37:06 -07:00