Commit Graph

807 Commits

Author SHA1 Message Date
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
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
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
fe5aeaab19 Merge TM -> JM 2011-04-20 11:37:46 -07:00
Brian Hackett
68b35100e1 Merge TM -> JM 2011-04-19 08:23:41 -07:00
Bill McCloskey
3c0cd83aa3 Bug 616666 - Use explicit stack for GC marking (r=gal) 2011-04-15 16:56:08 -07:00
Brian Hackett
fc65b95530 Merge TM -> JM 2011-04-13 06:45:06 -07:00
Blake Kaplan
d7c603eab8 Bug 618176 - Skip multiple wrappers when deciding whether this object is an array. r=gal 2011-04-12 15:56:45 -07:00
Brian Hackett
83e8f1e4ab Merge TM -> JM 2011-04-12 07:04:45 -07:00
Brian Hackett
e4deebb68d Merge TM -> JM 2011-04-11 07:33:47 -07:00
Ed Morley
90a849de12 Bug 647389 - Remove WINCE stuff from Spidermonkey (r=jorendorff) 2011-04-09 20:17:53 +01:00
Brian Hackett
012e3b1119 Merge TM -> JM 2011-04-08 19:27:14 -07:00
Brian Hackett
4226ea1e6e [INFER] Array bounds check hoisting, cleanup, bug 618690. 2011-04-05 18:12:03 -07:00
Brian Hackett
8b7888dd66 Merge TM -> JM 2011-04-01 19:57:28 -07:00
Brian Hackett
a1f196a052 [INFER] More fixes for stock JM behavior, bug 647048. 2011-04-01 17:26:34 -07:00
Andreas Gal
fd2168c3af Implement Harmony weak maps (bug 547941, r=jorendorff). 2011-04-16 21:23:44 -07:00
Wes Garland
256dd8ad05 Bug 586016, update JS_GetImplementationVersion. r=jorendorff 2011-04-16 14:16:50 -04:00
Colin Walters
2a0395d63b Bug 648102 - Make shell REPL/snarf/run always take UTF-8 input; add JS_DecodeUTF8; add UTF-8 flag to JS_BufferIsCompilableUnit. r=gal 2011-04-16 14:11:10 -04:00
Luke Wagner
6fcaf8c63f Bug 649531 - tidy up this-computation logic a bit, add some asserts (r=waldo)
--HG--
extra : rebase_source : f01409526e4582b87ced4b9f9d1170254a55373b
2011-04-12 17:16:12 -07:00
David Anderson
61cc68f032 Fix clang warnings (bug 647280, r=luke). 2011-04-14 13:45:06 -07:00
Phil Ringnalda
8d4385b7fe Back out bd821ea0ad41 (638324) for mochitest-chrome crashes 2011-03-31 19:55:10 -07:00
Andreas Gal
e69500d1bc Maintain a list of IdArrays as we hand them out via JS API (638324, r=brendan). 2011-03-31 14:42:33 -07:00
Brian Hackett
74bba0be53 [INFER] Inline scripted calls, bug 639099. 2011-03-26 19:07:13 -07:00
Paul Biggar
43b850291d Bug 643548: Remove mozalloc_undef_macro_wrappers hack from JS engine. (r=luke,rs=brendan)
mozalloc_undef_macro_wrappers are brittle and have side-effects that are hard
to debug and fix. The alternative is the just stick an underscore on the end of
malloc, free, etc, which is a comparatively small burden.
2011-03-31 01:14:12 -07:00
Paul Biggar
72c7701093 Bug 634155: Account for NewCompartment's memory, and change allocation APIs (r=nnethercote)
This changes the allocation API, in the following way:

  js_malloc -> {cx->,rt->,OffTheBooks::}malloc
  js_calloc -> {cx->,rt->,OffTheBooks::}calloc
  js_realloc -> {cx->,rt->,OffTheBooks::}realloc
  js_free -> {cx->,rt->,Foreground::,UnwantedForeground::}free
  js_new -> {cx->,rt->,OffTheBooks::}new_
  js_new_array -> {cx->,rt->,OffTheBooks::}new_array
  js_delete -> {cx->,rt->,Foreground::,UnwantedForeground::}delete_

This is to move as many allocations as possible through a JSContext (so that they may be aken into account by gcMallocBytes) and to move as many deallocations to the background as possible (except on error paths).
2011-03-31 01:13:49 -07:00
Brian Hackett
d737bb3ddb Merge TM -> JM 2011-03-22 18:07:31 -07:00
Jeff Walden
d3676c4409 Bug 649819 - Remove JS_BeginJSONParse/JS_ConsumeJSONText/JS_EndJSONParse now that these APIs are no longer used and the cleaner API is available and works. r=brendan 2011-03-21 11:42:14 -07:00
Luke Wagner
774c050740 Bug 602994 - Preparatory syntactic cleanup (r=waldo) 2011-04-08 10:52:48 -07:00
Chris Leary
2ef1aa6439 Bug 642274: Add loose equality to JSAPI. (r=Waldo)
--HG--
extra : rebase_source : 3001604e6e6bfc9c8e73aafc1498a71ae7ade9cd
2011-03-21 10:04:43 -07:00
Andreas Gal
707f928b25 Expose public APIs for converting doubles to signed/unsigned int per ECMA spec (bug 631132, r=bzbarsky). 2011-03-29 19:19:15 -07:00
Brian Hackett
f9a4f63af8 [INFER] Fast path for object equality, track equality hooks in type objects, bug 619592. 2011-03-19 16:53:07 -07:00
Luke Wagner
05d2002b66 Bug 644074 - Simplify and consolidate VM stack code into js/src/vm/Stack* 2011-04-13 09:27:37 -07:00
Jeff Walden
a8a0234d77 Bug 641655 - Add a js::GlobalObject subtype of JSObject. r=njn 2011-04-18 16:50:47 -04:00
Jeff Walden
77e6fd7646 Backed out changeset c8ba5bd72b0c, we have too many test harnesses and I forgot to run one. r=tree-decorator 2011-04-21 16:29:54 -04:00
Jeff Walden
f7e9104cd4 Bug 641655 - Add a js::GlobalObject subtype of JSObject. r=njn 2011-04-18 16:50:47 -04:00
Luke Wagner
b02663aef4 Fix typo in --enable-threadsafe builds (r=burning) 2011-04-20 19:29:11 -07:00
Luke Wagner
6e9ef90124 Bug 651041 - add API to store private data to an external string (r=njn) 2011-04-20 18:34:49 -07:00
Bill McCloskey
4a9bde3182 Bug 648647 - Eliminate JSObjectMap (r=jorendorff) 2011-04-08 14:21:08 -07:00
Brian Hackett
40f76095d8 [INFER] Don't bootstrap the __proto__ of the global or Function.prototype if their __proto__ has mutated, bug 642206. 2011-03-17 10:48:02 -07:00
Brian Hackett
6e8d1fb68d [INFER] Spot fix for shapes not being marked when a child is held by AutoShapeRooter, bug 642209. 2011-03-16 18:24:20 -07:00
Brian Hackett
7469fa7a3a [INFER] Don't share shapes between objects with different types, bug 620599. 2011-03-16 10:02:19 -07:00
Luke Wagner
7c96945e3c Bug 613457 - clean up string interfaces (r=njn)
--HG--
extra : rebase_source : 3e77b67fa9fe2cc31312ad99951cf92258a98e64
2011-03-14 13:59:53 -07:00
Luke Wagner
fee4a41733 Bug 616562 - speed up JSString::isStatic (r=njn)
--HG--
extra : rebase_source : 9f0b553b8ab54bfbbd5290ba936581bda8bb40ec
2011-03-14 13:55:55 -07:00
Brian Hackett
25bc5395d9 [INFER] Fix call IC monitoring for speculated Function.prototype.call, bug 621942. 2011-03-12 22:33:11 -08:00
Brian Hackett
300a849c3e [INFER] Use PICs on monitored SETNAME and SETPROP, bug 621937. 2011-03-11 16:29:38 -08:00
Brian Hackett
d639ada378 Merge TM -> JM 2011-03-09 09:58:49 -08:00
Andreas Gal
e787b97701 Sweep compartments when no objects live in them (bug 639270, r=gregor). 2011-03-08 20:58:38 -08:00
Phil Ringnalda
d21d12b55b Back out 80d8431f209e (bug 639270) for failing to actually compile 2011-03-08 19:59:30 -08:00
Andreas Gal
033fce6c39 Sweep compartments when no objects live in them (bug 639270, r=gregor). 2011-03-08 18:10:47 -08:00