Commit Graph

269 Commits

Author SHA1 Message Date
Brian Hackett
f3b5be7a42 [INFER] Allocate typeset data and properties from arenas, occasionally purge observed types in compartments, bug 679329. 2011-08-17 06:48:14 -07:00
Brian Hackett
06268c9f02 Merge MC -> JM 2011-08-14 19:51:16 -07:00
Brian Hackett
4c611afd71 Merge MC -> JM 2011-08-12 07:20:08 -07:00
Brian Hackett
2b67b73ad5 [INFER] Watch out for incorrect SSA use chains in scripts where LOCAL ops alias stack values, bug 677635. 2011-08-09 19:02:24 -07:00
Brian Hackett
08395b54ce [INFER] Trigger recompilation when changing or removing newScript information, bug 677006. 2011-08-09 09:52:55 -07:00
Brian Hackett
cbe02dc1d0 [INFER] Inline creation of objects for {}, [], Array() and monomorphic scripted new, bug 677006. 2011-08-09 09:26:08 -07:00
Brian Hackett
f2ab31c27b [INFER] Pin types against GC when splicing prototypes, bug 675232. 2011-08-05 06:47:22 -07:00
Brian Hackett
79c10e3b54 [INFER] Fix uninitialized variable. 2011-08-02 17:58:48 -07:00
Brian Hackett
1ea56ff32d [INFER] Fix merge botch, infinite loop. 2011-08-02 13:04:21 -07:00
Brian Hackett
bee5deec97 [INFER] Improve precision when SETELEM is used on singleton objects, bug 675167. 2011-08-01 22:24:29 -07:00
Brian Hackett
61733c8971 [INFER] Only allow expansion of all inline frames in a compartment, bug 675251. 2011-08-01 09:09:39 -07:00
Brian Hackett
5cdd65541b [INFER] Use correct PC when calling lambda stubs, bug 674364. 2011-07-28 19:09:57 -07:00
Brian Hackett
872ca11752 [INFER] Allow the same shape to be shared by objects with different types, bug 674621. 2011-07-28 14:17:42 -07:00
Brian Hackett
beb3e0531e [INFER] Reduce inference-related script overhead, bug 674609. 2011-07-28 09:16:53 -07:00
Ginn Chen
ff6b6f01bb Bug 673854 - (TypeInference)Fix TI for Solaris x86. r=bhackett. 2011-07-28 09:24:56 +08:00
Brian Hackett
361b7570ee [INFER] Mark overflows on TOID when result value is a non-integer, bug 674085. 2011-07-25 16:46:32 -07:00
Brian Hackett
ead1d1ec71 [INFER] Don't dereference type->newScript immediately after checking against NULL, bug 673766. 2011-07-25 09:02:55 -07:00
Brian Hackett
4a15c69088 [INFER] Add mising MakeTypeId when fixing properties in object literal types to double, bug 673713. 2011-07-25 07:28:07 -07:00
Brian Hackett
099c11fe90 [INFER] Always maintain flags on non-lazy type flags, bug 673715. 2011-07-25 07:13:02 -07:00
Brian Hackett
a96f171b21 [INFER] Clear propagated bit from property type sets on GC, update comments, bug 673469. 2011-07-22 12:55:52 -07:00
Brian Hackett
c46be499d6 [INFER] Fix orange. 2011-07-22 10:25:57 -07:00
Brian Hackett
dda30fa4b2 Merge MC -> JM 2011-07-21 18:53:37 -07:00
Brian Hackett
baf48d73e8 [INFER] Fix build breaks, orange. 2011-07-21 17:17:25 -07:00
Brian Hackett
6cedc75bac [INFER] Make TypeObject a GC thing, remove lazily created type objects on GC, bug 669969. 2011-07-21 07:28:01 -07:00
Brian Hackett
4126309311 [INFER] Fix busted jstests. 2011-07-19 07:21:33 -07:00
Brian Hackett
b69580a796 [INFER] Decompose property inc/dec ops for JM and TI, bug 647624. 2011-07-16 08:25:22 -07:00
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
Jan de Mooij
e1aea9d278 [INFER] Enable typed array paths if the type set contains multiple objects with the same array type, bug 670885. r=bhackett 2011-07-14 16:42:37 +02:00
Brian Hackett
87755b2826 Merge TM -> JM 2011-07-08 17:52:15 -07:00
Brian Hackett
752b11eaa2 Measure type inference memory usage, bug 669958. r=njn 2011-07-07 20:04:47 -07:00
Brian Hackett
369b0a54d3 Fix bustage for mjit-disabled, tjit-disabled, and Linux64 warnings-as-errors. 2011-08-30 08:03:34 -07:00
Brian Hackett
a68d60d8e8 Disable type inference on ARM, bug 669715. 2011-07-06 12:29:07 -07:00
Brian Hackett
c0b367b25f Fix memory leak. 2011-07-06 06:30:49 -07:00
Shu-yu Guo
8453d326d9 Add swap and pick support to TI. bug 668353. r=bhackett 2011-07-05 22:54:19 -07:00
Brian Hackett
a6e714e4a4 Fix warning. 2011-07-05 22:41:41 -07:00
Brian Hackett
e0c7a11c50 [INFER] Fix build breaks with --disable-methodjit. 2011-07-05 16:52:39 -07:00
Brian Hackett
47fd6595dc [INFER] Avoid redundant TypeObject::markUnknown, bug 665289. 2011-07-02 06:58:06 -07:00
Brian Hackett
63dde015a5 [INFER] Fix merge botches. 2011-07-01 19:40:53 -07:00
Brian Hackett
dee99963bb Merge TM -> JM 2011-07-01 16:24:32 -07:00
Shu-yu Guo
c34a1db790 [INFER] Fix colorized spew bug with ANSI reset codes. r=mrbkap 2011-06-22 17:28:19 -07:00
Shu-yu Guo
359e560eb5 [INFER] Colorize spew for constraints and typesets, bug 664583. r=bhackett 2011-06-15 19:22:27 -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
Brian Hackett
6dea4378d4 [INFER] Always use type barriers at NAME opcodes, tweak USES_BEFORE_COMPILE and CONTRIBUTION_LIMIT, bug 662383. 2011-06-11 09:46:48 -07:00
Brian Hackett
fa41f89faf [INFER] Read barriers for call results, bug 663381. 2011-06-10 19:03:57 -07:00
Brian Hackett
b716dfa3de [INFER] Make sure to get the topmost scripted frame's pc in ContextStack::currentScript, bug 662562. 2011-06-07 17:44:07 -07:00
Brian Hackett
7fc14bc6e1 [INFER] Don't expand frames in contexts without a compartment, fix warnings, add type barrier comment. 2011-06-07 09:14:52 -07:00
Brian Hackett
1186d01428 Merge TM -> JM 2011-06-06 09:48:04 -07:00
Brian Hackett
d99dec2be3 [INFER] Fix busted jit-tests. 2011-06-06 08:47:34 -07:00
Brian Hackett
b0ae81df4a [INFER] Apply arguments and script review comments, bug 657412. 2011-06-06 08:32:41 -07:00
Brian Hackett
de9c3c81f6 [INFER] Apply stack review comments, bug 657412. 2011-06-05 22:39:45 -07:00
Brian Hackett
1cbfb7c83f [INFER] Update shape number after rolling back properties in scripted 'new' correction, bug 662044. 2011-06-04 07:59:12 -07:00
Brian Hackett
9ee5994b69 [INFER] Apply object review changes, bug 657412. 2011-06-03 20:48:16 -07:00
Christian Holler
e272aab660 [INFER] Make type failures abort like assertions, bug 657881. r=bhackett 2011-06-02 13:10:14 -07:00
Brian Hackett
82abccdd14 [INFER] Move inference methods out of JSContext, bug 657412. 2011-06-02 10:40:27 -07:00
Brian Hackett
73629f62ea [INFER] Fix broken test for integer properties in AnalyzeNewScriptProperties, bug 660597. 2011-05-31 07:31:35 -07:00
Brian Hackett
7632725c3e [INFER] Monitor CALLPROP calls whose callee is not statically known, bug 660204. 2011-05-27 14:21:37 -07:00
Brian Hackett
4ee1a48077 [INFER] Don't get uses of untracked vars in trackUseChain, bug 660203. 2011-05-27 09:01:05 -07:00
Brian Hackett
6817157473 [INFER] Follow values pushed by SETLOCAL in followEscapingArguments, bug 660173. 2011-05-27 08:33:48 -07:00
Brian Hackett
b4a7da4b87 [INFER] Follow uses of phi node itself, not its components, when checking for escaping arguments, bug 660081. 2011-05-26 20:10:27 -07:00
Brian Hackett
951268550c [INFER] Ignore bogus lazy arguments type in TypeConstraintTransformThis. 2011-05-26 13:47:33 -07:00
Brian Hackett
621ab68f21 [INFER] Optimize arguments accesses, bug 658638. 2011-05-26 12:28:19 -07:00
Brian Hackett
7963fd4feb [INFER] Always monitor argument types at FUNCALL/FUNAPPLY, always check arguments at script entry in DEBUG, bug 659439. 2011-05-24 14:35:19 -07:00
Brian Hackett
1e358b51f6 Merge TM -> JM 2011-05-22 08:59:06 -07:00
Brian Hackett
bd61d098b6 [INFER] Check type->newScriptCleared before calling clearNewScript, bug 658803. 2011-05-21 22:07:14 -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
35e68976e3 [INFER] Mark the result of cross-global native calls as unknown, bug 658539. 2011-05-21 00:40:50 -07:00
Brian Hackett
c602e73bb5 [INFER] Don't analyze loop bodies with debug mode set, untrap in property constraints, bugs 658464, bug 658465. 2011-05-20 21:06:58 -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
14097cb845 [INFER] Remove cx->newTypeObject, bug 657412. 2011-05-19 09:15:12 -07:00
Brian Hackett
ea07081537 [INFER] Fixes for OOM handling, bug 657633. 2011-05-18 13:15:38 -07:00
Brian Hackett
131bcf7ab2 [INFER] Disable inference and infallibly discard jitcode on OOM, bug 637674. 2011-05-18 12:34:17 -07:00
Brian Hackett
534fc1b409 [INFER] Block recursion in AnalyzeNewScriptProperties, bug 657624. 2011-05-18 09:21:13 -07:00
Brian Hackett
e10c9c51e3 [INFER] x64 fixes, bug 656920. 2011-05-18 09:06:56 -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
2eed6ef8b1 [INFER] Allow for scripts with no reachable return statement when analyzing 'new' script properties, bug 657197. 2011-05-15 22:58:53 -07:00
Brian Hackett
afdce01248 Merge TM -> JM 2011-05-15 11:32:09 -07:00
Brian Hackett
0ef82b3c5b [INFER] Always ensure interpreted scripts have a type set array, bug 656920. 2011-05-14 07:12:19 -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
bf0fc70c41 [INFER] Handle premature returns and uses of 'this' in conditional code when analyzing 'new' script properties, bug 656914. 2011-05-13 07:53:51 -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
dfb0289b0e [INFER] Build and jit-tests fixes for Windows, bug 619433. 2011-05-12 09:49:04 -07:00
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
82629392f1 [INFER] Inlined natives for Array.{push,pop}, object flag cleanup, bug 653962. 2011-05-10 23:33:30 -07: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
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
Brian Hackett
3f7deb9632 [INFER] Need to call ensureVarTypes before slotTypes, bug 653395. 2011-05-09 10:27:18 -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
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
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