Commit Graph

69146 Commits

Author SHA1 Message Date
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
Brian Hackett
3e59ff5829 [INFER] Clear f.scratch indicator value on all return paths from CompileFunction, bug 653980. 2011-05-01 17:59:37 -07:00
Brian Hackett
f6366f7596 [INFER] Watch out for Invoke called on dummy frames when deciding to use a new type for the result, bug 653262. 2011-05-01 17:45:53 -07:00
Brian Hackett
052373f8bb [INFER] Assume double types for entries with empty type sets being merged into double phi nodes, bug 653249. 2011-05-01 17:38:05 -07:00
Brian Hackett
d868b00326 [INFER] Mark INCELEM opcodes accessing non-integer properties as producing unknown values, bug 653243. 2011-05-01 16:58:01 -07:00
Brian Hackett
b7e3e5433b [INFER] LICM for accesses on definite properties, bug 653962. 2011-05-01 16:31:14 -07:00
Brian Hackett
c54f0f760a [INFER] Add read barrier for shapes with non-standard getters, bug 653639. 2011-04-30 19:42:58 -07:00
Brian Hackett
7151aca829 [INFER] Increase number of fixed slots for objects with more properties accessed than direct accesses, bug 649376. 2011-04-30 18:45:01 -07:00
Brian Hackett
0abb7dc501 [INFER] Mark type objects as unknown when splicing in a prototype with unknown properties, bug 653639. 2011-04-30 18:19:35 -07:00
Brian Hackett
b6adf3132e [INFER] Understand types of window objects, bug 653639. 2011-04-30 17:53:40 -07:00
Brian Hackett
838352f9db Merge TM -> JM 2011-04-28 13:02:47 -07:00
Brian Hackett
f13ebb4bef [INFER] Analyses for eliminating integer overflow guards, bug 652520. 2011-04-27 23:28:54 -07:00
Brian Hackett
29bff816ec [INFER] Don't use varTypes in compiler with inference disabled. 2011-04-27 07:07:38 -07:00
Paul Biggar
e4d6748cc4 Bug 642772: Don't recreate a class during enumeration, if it has been deleted (r=bhackett)
In SM, classes are lazily resolved. If we detect that a class about to be used
has not yet been resolved, then we resolve it. However, the way that we decided
that they were resolved was broken. If the global object had a String property,
then it had been resolved. So what happened when we deleted the String
property? Well, it got resolved again.

Instead of using the String property of the global object, we now use the
contructor slot on the global object. This works fine for String, but some
classes don't have a constructor, like Math and JSON. For those classes, we set
the constructor slot to True. In either case, we can now tell that a class is
resolved if the constructor slot in not Undefined.
2011-04-27 04:13:56 -07:00
Brian Hackett
28d7599a5f [INFER] Only convert known ints when fixing doubles before branching, bug 652590. 2011-04-26 23:28:39 -07:00
Brian Hackett
179f1102a9 [INFER] Rejoin from recompilations triggered by CompileFunction, bug 646267. 2011-04-26 22:07:52 -07:00
Brian Hackett
af83908117 [INFER] Propagate SSA stack eagerly to targets in switch and try blocks, bug 652646. 2011-04-26 14:32:52 -07:00
Igor Bukanov
0370e3ab43 bug 652416 - race fixes and other cleanups for background finalization. r=anygregor
--HG--
extra : rebase_source : b1685fff8fa5dab43b9b595daa6118249d3ef891
2011-04-25 22:05:30 +02:00
Josh Matthews
1e266b7afb Bug 652803 - Check for existing proxy operations before attempting to fix a proxy object. r=gal 2011-05-05 21:55:25 +02:00
Andreas Gal
e7d653fb45 Add a "binary" argument to snarf (bug 655168, r=cdleary). 2011-05-05 17:59:47 -07:00
Andrew McCreight
5d31eb0d55 Bug 650519. Add safe function to check gray GC mark bits, then use it. (r=gal)
--HG--
extra : rebase_source : bb8eeed202e30c575ff22165c0b4de591c1dcb64
2011-05-04 09:26:44 -07:00
Blake Kaplan
9c143b391d Bug 651298 - Remove this assertion because document.domain makes it false. r=luke
--HG--
extra : rebase_source : 32cdb0b90074c7c7abe8a4d76de518bfc2757798
2011-04-28 15:40:21 -07:00
Blake Kaplan
c16987745d Bug 653309 - Don't break compartment rules. Hold the XPCWrappedNative pointer directly in the holder. r=gal
--HG--
extra : rebase_source : f59294302611044458748c76adcd4343ebaada54
2011-04-29 14:51:49 -07:00
Ryan VanderMeulen
36e9afa970 Bug 653959 - Fix warning spam by using consistent declaration for js_DeclEnvClass. r=luke 2011-05-05 17:53:36 +02:00
Jeff Walden
849fe0bfd1 Backed out changeset 83ae6e7c572e, maybe caused an orange, trying a backout of the most likely regressor. r=orange 2011-05-04 23:10:16 -04:00
Jeff Walden
e625314785 Bug 653888 - Clean up the Walk internal spec function, make the reviver delete properties from arrays if it returns undefined. r=pbiggar
--HG--
extra : rebase_source : 6d2004b0d6089c0c6d85bdaf4d4b0c8240840109
2011-04-30 03:22:48 -04:00
Jeff Walden
ca1b251411 Bug 653847 - JSON.parse should properly handle omitted arguments. r=pbiggar
--HG--
extra : rebase_source : 4ac9654d421a2504dbe24767fd5ffc0cbf52592e
2011-04-30 03:22:36 -04:00
Jeff Walden
eabb72c0f4 Bug 653782 - Properly handle JSON.stringify(_, replacer) when replacer isn't callable or an array. r=pbiggar
--HG--
extra : rebase_source : fed45c114091f45c0573f6d3cafef4ab0dd442b1
2011-04-30 03:22:11 -04:00
Jeff Walden
9361f3bfc8 Bug 653782 - Remove js_IndexToId, replace with an inline js::IndexToId. Also removes the redundant IndexToId in jsxml.cpp. r=igor
--HG--
extra : rebase_source : 4cb2b69a8f3d1877ca6514c8f9dfb3dc1af551b7
2011-04-30 03:19:26 -04:00
Jeff Walden
e9bdd399b1 Move GlobalObject.* into vm/. rs=cdleary
--HG--
rename : js/src/GlobalObject.cpp => js/src/vm/GlobalObject.cpp
rename : js/src/GlobalObject.h => js/src/vm/GlobalObject.h
extra : rebase_source : 724ae53fda5a1c74a71b01f3d44796536d413a45
2011-04-28 19:08:22 -04:00
Gregor Wagner
685d432db1 Bug 652931 - Proper handling of large mark stack insertion. r=billm 2011-05-04 12:54:48 -07:00
Chris Leary
e5b4259e5a Bug 654792: Give Shape::shape and Shape::id better names for great justice. (r=jorendorff) 2011-05-04 12:01:39 -07:00