Commit Graph

292 Commits

Author SHA1 Message Date
Brian Hackett
9ee5994b69 [INFER] Apply object review changes, bug 657412. 2011-06-03 20:48:16 -07:00
Brian Hackett
82abccdd14 [INFER] Move inference methods out of JSContext, bug 657412. 2011-06-02 10:40:27 -07:00
Brian Hackett
621ab68f21 [INFER] Optimize arguments accesses, bug 658638. 2011-05-26 12:28:19 -07:00
Brian Hackett
1e358b51f6 Merge TM -> JM 2011-05-22 08:59:06 -07:00
Brian Hackett
1202ff8417 [INFER] Don't rollback properties when clearing new scripts for objects which have finished initialization, bug 658777. 2011-05-21 07:44:54 -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
b87d5cbe5d [INFER] Recompile inline parents of scripts when adding type barriers at new sites, bug 658211. 2011-05-19 13:56:11 -07:00
Brian Hackett
79674e33bc [INFER] Audit uses of PC in analysis and inference for UntrapOpcode, bug 657975, bug 657979, bug 657984. 2011-05-19 10:09:17 -07:00
Brian Hackett
61c6f0cd96 Read barriers for property accesses, bug 656920. 2011-05-17 20:29:41 -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
9074d3578c [INFER] Match js_StringIsIndex in termination condition for MakeTypeId, bug 657247. 2011-05-15 21:27:12 -07:00
Brian Hackett
2d27a22974 [INFER] Allow read barriers at property accesses and call sites, bug 656920. 2011-05-14 05:45:13 -07:00
Brian Hackett
f4e191294e [INFER] Improved robustness and tracking of 'new' object properties across scripts, bug 653962. 2011-05-12 20:07:23 -07:00
Brian Hackett
543a5fc8ef [INFER] Don't analyze types in compileAndGo scripts with a cleared global, bug 619433. 2011-05-12 17:59:28 -07: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
3f7deb9632 [INFER] Need to call ensureVarTypes before slotTypes, bug 653395. 2011-05-09 10:27:18 -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
Brian Hackett
a47edd60c2 [INFER] Allow call inlining and LICM to work together, bug 653962. 2011-05-05 13:59:29 -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
838352f9db Merge TM -> JM 2011-04-28 13:02:47 -07:00
Brian Hackett
43c276be4a [INFER] Bytecode SSA analysis, bug 650715. 2011-04-22 07:59:45 -07:00
Brian Hackett
68b35100e1 Merge TM -> JM 2011-04-19 08:23:41 -07:00
Brian Hackett
eaf164a1c9 [INFER] Retest hoisted bounds checks after stub calls, bug 649693. 2011-04-14 21:59:32 -07:00
Brian Hackett
21fd2d8254 [INFER] Direct instance property accesses, bug 649376. 2011-04-12 20:39:16 -07:00
Brian Hackett
2c80c88ba3 [INFER] Direct global name accesses, bug 648994. 2011-04-11 20:10:46 -07:00
Brian Hackett
52950bca44 [INFER] Loop invariant code motion for array slot pointers, bug 618692. 2011-04-07 16:12:37 -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
Brian Hackett
0efc0215e7 [INFER] Track currently compiled script on the TypeCompartment, 646587. 2011-03-30 14:10:16 -07:00
Brian Hackett
74bba0be53 [INFER] Inline scripted calls, bug 639099. 2011-03-26 19:07:13 -07:00
Brian Hackett
c834eae239 [INFER] Don't follow scripted caller across compartments, bug 643670. 2011-03-22 15:29:41 -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
d6a84ff015 [INFER] Ensure that TypeObject->unknownProperties implies hasSpecialEquality, bug 619433. 2011-03-20 11:54:33 -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
Brian Hackett
f5cc631abf [INFER] Infer arithmetic on objects as producing ints, bug 642412. 2011-03-17 21:34:36 -07:00
Brian Hackett
97e8452de3 [INFER] Fix corruption-inducing typo, bug 642159. 2011-03-17 18:43:09 -07:00
Brian Hackett
be6137ab0f [INFER] Don't infer array-ness of types from prototype JSObject, bug 642248. 2011-03-17 11:43:46 -07:00
Brian Hackett
bbc5f75d52 [INFER] Use different shapes for functions with different scripts/types, share types better for cloned functions, bug 641525. 2011-03-17 09:42:56 -07:00
Brian Hackett
d10d0da404 [INFER] Track multiple types when monitoring SETPROP/SETNAME and calls, bug 641714. 2011-03-15 23:50:44 -07:00
Brian Hackett
57802e99bd [INFER] Add MIC for type checking this/arguments at JITScript invokeEntry, bug 641714. 2011-03-15 18:22:23 -07:00
Brian Hackett
f1d2dcfc3d [INFER] Make inference spew digestible by scripts, bug 641943. 2011-03-15 13:42:24 -07:00
Brian Hackett
0f8152b6ef [INFER] Use new type objects when the result of 'new' is assigned to a .prototype, bug 641714. 2011-03-15 00:17:07 -07:00
Brian Hackett
bcdddfd208 [INFER] Only add result for markTypeCallerUnexpected when the caller is at a callsite, bug 641229. 2011-03-13 21:59:03 -07:00
Brian Hackett
ee5b69e7a2 [INFER] Use ICs on monitored calls, reenable APPLY optimizations, bug 621942. 2011-03-12 21:59:46 -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
5d55f075a3 [INFER] Compute types for singleton/JSON arrays and objects, bug 639263. 2011-03-10 16:17:39 -08:00
Brian Hackett
a3042809bc [INFER] Overhaul inference handling of new object computation, bug 619433. 2011-03-10 12:01:11 -08:00
Brian Hackett
796650b7b7 [INFER] Introduce cutoff for total contribution of type objects to type sets, bug 619433. 2011-03-09 11:04:36 -08:00
Brian Hackett
d639ada378 Merge TM -> JM 2011-03-09 09:58:49 -08:00
Brian Hackett
2580fc4b31 [INFER] Handle DEFAULT_NAMESPACE_ID in MakeTypeId, bug 640079. 2011-03-08 23:00:28 -08:00
Brian Hackett
29b930888d [INFER] Use js_malloc instead of cx->malloc for inference data made when condensing in GC, bug 619433. 2011-03-08 10:21:54 -08:00
Brian Hackett
d1ce88fb19 [INFER] Make new type objects whenever associating functions with scripts, bug 619433. 2011-03-07 08:25:27 -08:00
Brian Hackett
964d8f04f6 [INFER] Fix use-after-free error while sweeping type objects, bug 639311. 2011-03-06 08:15:44 -08:00
Brian Hackett
37ffca03a9 [INFER] Don't collect type objects with unknown properties for mutable __proto__, bug 639126. 2011-03-05 21:23:02 -08:00
Brian Hackett
eef5f2fae3 [INFER] Recheck script->types before forcing analysis with -a in typeSetThis, bug 639128. 2011-03-05 17:34:09 -08:00
Brian Hackett
ca1935e670 [INFER] Remove isTypeCallerMonitored and rejoin from native calls triggering recompilation, bug 638977. 2011-03-05 17:13:40 -08:00
Brian Hackett
13b4f981c6 [INFER] Always analyze executed scripts if -a is used, bug 621654. 2011-03-04 11:28:52 -08:00
Brian Hackett
f868e29684 [INFER] Miscellaneous fixes to get inference passing jstests. 2011-03-04 07:50:32 -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
Paul Biggar
83154981b3 [INFER] Fix build on 64-bit Mac. 2011-02-22 11:07:25 -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
01a2274ce4 [INFER] Look up .prototype on right object when monitoring NEW, bug 621126. 2010-12-23 20:31:24 -05:00
Brian Hackett
f658ee07dd [INFER] Remove guessing mechanism for unpacked arrays. 2010-12-22 17:02:24 -08:00
Brian Hackett
1024e522d2 [INFER] Handle reparenting of non-compileAndGo scripts, bug 620599. 2010-12-22 14:46:42 -08:00
Brian Hackett
bad9868d57 [INFER] Inference precision fixes for locals/args sharing the function/arguments name, monitored 'new'. 2010-12-22 14:06:26 -08:00
Brian Hackett
cde265e645 [INFER] Fixes for jstests, bug 620599, part 2. 2010-12-21 18:26:09 -08:00
Brian Hackett
f3bd6ce93f [INFER] Fixes for jstests, bug 620599, part 1. 2010-12-21 07:32:21 -08:00
Brian Hackett
61342eb17b [INFER] Monitor writes of non-integer primitive properties, bug 620337. 2010-12-20 15:26:39 -08:00
Brian Hackett
89bb1d08e8 Merge TM -> JM 2010-12-20 09:06:43 -08:00
Brian Hackett
d765093435 [INFER] Unwind getProto() changes outside of JS, fix test failures, bug 619271. 2010-12-19 12:21:15 -08:00
Brian Hackett
3a17a4c18b [INFER] Fix more build breaks, bug 619271. 2010-12-19 08:09:45 -08:00
Brian Hackett
b830aa64c6 [INFER] Fix build breaks, bug 619271. 2010-12-19 07:41:41 -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
accdca294b Merge TM -> JM 2010-12-07 17:11:37 -08:00
Brian Hackett
c9b8de927c [INFER] Allocate registers across branches and joins, bug 609899. 2010-12-06 11:53:53 -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
ee3f068ff9 Merge TM -> JM 2010-11-18 21:09:24 -08:00
Brian Hackett
64024ac826 [INFER] Cleanup inference logging, bug 557407. 2010-11-18 15:18:23 -08:00
Brian Hackett
bcd78eb5d4 [INFER] Recompilation on dynamic type changes, bug 608746. 2010-11-18 08:28:05 -08:00
Brian Hackett
8b0f87e265 [INFER] Monitoring fixes for name opcodes, bug 608746. 2010-11-17 11:31:09 -08:00
Brian Hackett
007303ab39 [INFER] Monitoring fixes for non-name accesses, bug 608746. 2010-11-15 18:13:05 -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
631b2784ef [INFER] Fix inference freeze interface to directly reflect type information used by the Compiler. 2010-11-03 15:07:49 -07:00
Brian Hackett
545b668654 [INFER] Use inferred types for locals, arg reads and some operations, bug 608750. 2010-11-01 20:03:46 -07:00
Brian Hackett
4791208c2a [INFER] Fix another Windows build break. 2010-10-29 11:44:30 -07:00
Brian Hackett
696cff5132 [INFER] Javascript type inference, bug 557407. 2010-10-29 08:05:55 -07:00
Brian Hackett
ef4ed0952c Don't overflow pending array on OOM, bug 691873. r=jimb 2011-10-14 09:49:29 -07:00