Commit Graph

110 Commits

Author SHA1 Message Date
Brian Hackett
89a7a7eac5 Merge MC -> JM 2011-07-15 14:40:15 -07:00
Brian Hackett
c091101935 [INFER] Lazily create type objects for singleton JS objects, bug 670185. 2011-07-15 10:14:07 -07:00
Brian Hackett
dee99963bb Merge TM -> JM 2011-07-01 16:24:32 -07:00
Brian Hackett
9f8045748c [INFER] Cleanup type info tracking object classes, track which type objects are definitely typed arrays, bug 663485. 2011-06-15 11:26:12 -07:00
Jeff Walden
d967e5e20f Bug 671143 - Rename ValueToNumber to ToNumber, to be more like the spec nomenclature. r=cdleary
--HG--
extra : rebase_source : e85fbadd77adc048f5e443cd9ed96b0035954674
2011-06-13 21:49:59 -07:00
Brian Hackett
fa41f89faf [INFER] Read barriers for call results, bug 663381. 2011-06-10 19:03:57 -07:00
Jan de Mooij
1bff4c0c56 [INFER] Fix parseInt to return integers instead of doubles where possible, rewrite some setNumber calls, bug 662766. r=bhackett 2011-06-08 20:11:42 +02:00
Brian Hackett
82abccdd14 [INFER] Move inference methods out of JSContext, bug 657412. 2011-06-02 10:40:27 -07:00
Brian Hackett
f1b91c8773 [INFER] Analysis and compiler improvements for polymorphic call sites, bug 653962. 2011-05-20 19:33:06 -07:00
Brian Hackett
14097cb845 [INFER] Remove cx->newTypeObject, bug 657412. 2011-05-19 09:15:12 -07:00
Brian Hackett
98763bc2cb [INFER] Move addTypeProperty barriers under obj->setProperty, obj->defineProperty, bug 619693. 2011-05-16 16:15:37 -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
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
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
Jeff Walden
d336c82cfa Bug 470791 - Remove all users of the long-obsolete JSLL_* macros. r=jimb
--HG--
extra : rebase_source : 106b723b49d54dcd86ec67eaa50ca919bc8e5845
2011-06-09 01:13:03 -07:00
Brian Hackett
d737bb3ddb Merge TM -> JM 2011-03-22 18:07:31 -07:00
Jan de Mooij
c633bccba3 [INFER] Inline some native functions, bug 621961. r=bhackett 2011-03-21 22:55:27 -07:00
Brian Hackett
f5cc631abf [INFER] Infer arithmetic on objects as producing ints, bug 642412. 2011-03-17 21:34:36 -07:00
Jan de Mooij
14e4e340a9 [INFER] Add overflow check for Math.pow(1, x), bug 642154. r=bhackett 2011-03-16 12:17:06 -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
Brian Hackett
666b5642e8 [INFER] Turn inference on by default, fold JS_DefinePropertyWithType into JS_DefineProperty, bug 619693. 2011-03-06 22:57:13 -08:00
Brian Hackett
41091b1bb6 [INFER] Fix OOM handling in type inference, convert inference to runtime option, bug 637674. 2011-03-03 14:07:48 -08:00
Brian Hackett
e5020a35b3 [INFER] Condense type information during GC, bug 613221. 2011-03-01 13:10:05 -08:00
Brian Hackett
0a2cdd3c56 Merge TM -> JM 2011-02-25 18:21:43 +13:00
Jim Blandy
de75b9fa19 Bug 537873: Add a 'strict' argument to C++ property setter functions. r=brendan
This changes the type of setters to JSStrictPropertyOp, which is just like
JSPropertyOp except that it takes a 'JSBool strict' argument. Most of the
patch is introducing distinct types and using the appropriate stubs.

The following are left for subsequent patches:

x Similar fixes to the browser outside SpiderMonkey.

x Actually *using* the newly available strictness information. This patch
  should have no user-visible effect. I didn't want the interesting stuff
  to get lost in this noise.
2011-02-09 11:31:40 -08:00
Brian Hackett
b5bb63ceba [INFER] Decouple type sets computed by inference from analysis information, store in new TypeScript struct, bug 621301. 2010-12-28 14:53:50 -05:00
Brian Hackett
5c9d6cbdb0 [INFER] Account for 'new' case in non-constructor type handlers, bug 618853. 2010-12-20 10:13:39 -08:00
Brian Hackett
baf09eaede [INFER] Objects with same shape have same type, objects with same type have same prototype, bug 619271. 2010-12-18 20:44:51 -08:00
Brian Hackett
abc31759f4 [INFER] Overhaul handling of prototypes in type inference, bug 557407. 2010-11-24 20:41:52 -05:00
Brian Hackett
36efb56b2b Analysis and recompilation tuning for SS, bug 608746. 2010-11-20 15:45:52 -08:00
Brian Hackett
8712fc490e [INFER] Remove accidentally committed debugging code. 2010-11-15 09:01:26 -08:00
Brian Hackett
4fa8fa4840 [INFER] Type inference fixes for generators, typed arrays, monitoring, ... bug 557407. 2010-11-09 14:40:10 -08:00
Brian Hackett
fb8384eed2 [INFER] Introduce packed arrays, bug 604045. 2010-11-05 07:37:09 -07:00
Brian Hackett
696cff5132 [INFER] Javascript type inference, bug 557407. 2010-10-29 08:05:55 -07:00
Nicholas Nethercote
4e8f68915a Bug 606441 - TM: specialize Math.abs() for integers when possible. r=dvander. 2010-10-26 20:21:39 -07:00
Bill McCloskey
58582215b9 Bug 580468 - Use loop profiling to decide whether to use TM or JM (second try) (r=dmandelin) 2010-10-21 09:36:39 -07:00
Bill McCloskey
507ea140a2 Backed out changeset 55597c32701d 2010-10-19 17:40:53 -07:00
Bill McCloskey
7583dc9166 Bug 580468 - Use loop profiling to decide whether to use TM or JM (r=dmandelin) 2010-10-19 16:23:05 -07:00
Bill McCloskey
c17db118a3 Bug 600016 - TM: Recognize that the result of Math.floor is an integer (r=nnethercote) 2010-10-18 15:10:52 -07:00
Luke Wagner
c556237dc1 Bug 578916 - Cache results of Math.sin() (r=waldo) 2010-10-06 12:13:20 -07:00
Bill McCloskey
5113963733 Bug 564548: faster special cases for Math.pow, r=gal 2010-08-19 14:17:56 -07:00
Bill McCloskey
6232df0383 Bug 621032 - Move MathCache from JSThreadData to JSCompartment (r=igor) 2010-12-23 15:10:25 -08:00
Igor Bukanov
2019c722fb bug 571789 - merging JSObjectOps and JSExtendedClass into JSClass. r=jorendorff 2010-06-12 18:29:04 +02:00
Igor Bukanov
181c2cdf3a Backed out changeset 7b2b90efe57d -- the patch was landed against a tree with a lot of orange. This will hinder the orange resolution. 2010-07-28 14:36:06 +02:00
Igor Bukanov
a69fd0a49f bug 571789 - merging JSObjectOps and JSExtendedClass into JSClass. r=jorendorff 2010-06-12 18:29:04 +02:00
Nicholas Nethercote
9dfbe8877d Bug 552812 - nanojit: factor out AccSet differences into TM and TR (take 3, TM-specific part). r=gal. 2010-07-27 22:33:42 -07:00
Nicholas Nethercote
be11c2f1c9 Backout TM-specific patches for bug 552812 due to assertion failures on Win2003. 2010-07-26 00:03:02 -07:00