Bug 580070 (ParisBindings)

New JSClass-based DOM bindings

NEW
Unassigned

Status

()

P2
normal
9 years ago
2 months ago

People

(Reporter: gal, Unassigned)

Tracking

(Depends on: 75 bugs)

Other Branch
x86
Mac OS X
Points:
---
691017, 720401, 742164, 742192, 742201, 747285, 747290, 751926, 755459, 760095, 767927, 776368, 776382, 776383, 786819, 807700, 809767, 817937, 823196, 824857, 827404, 840201, 844904, 851282, 851287, 856295, 856820, 859878, 863831, 863952, 863954, 863955, 865870, 869268, 870217, 874033, 889014, 890364, 890854, 892336, 892540, 892687, 904303, 906899, 909090, 914675, 930007, 932082, 952475, 976307, 986455, 987479, 1026720, 1048236, 1053917, 1056325, 1064379, 1071490, 1087398, 1094006, 1100375, 1117269, 1124814, 1137431, 1155340, 1155796, 1207321, 1224090, 1224091, 1321738, 1330671, 1336319, 1363870, 1414289, 1478671, 517143, 648801, 659350, 660233, 660237, 687332, 708061, 732377, 738196, 738525, 738593, 738630, 739541, 739898, 740069, 740083, 742141, 742144, 742145, 742149, 742150, 742151, 742152, 742153, 742165, 742167, 742168, 742170, 742171, 742181, 742182, 742184, 742185, 742186, 742187, 742188, 742189, 742191, 742193, 742194, 742195, 742197, 742198, 742199, 742200, 742202, 742203, 742204, 742205, 742206, 742209, 742210, 742211, 742212, 742213, 742214, 742217, 742422, 742425, 743820, 743906, 746570, 747066, 747815, 747819, 748266, 749101, 749485, 749535, 749536, 749866, 752224, 753517, 753522, 755080, 755636, 757164, 759622, 760749, 761707, 761772, 761882, idbwebidl, 763367, 763573, 763643, 763724, 763911, 764539, 764698, 765464, 766583, 766615, 767546, 767924, 767926, 767929, 767930, 767931, 767933, 768048, 768069, 768537, 768684, 768692, 768793, 771636, 773326, 773519, 773520, 773780, 773911, 774705, 774757, 774970, 775289, 775368, 775844, 775845, 776224, 776536, 776864, 777415, 777438, 778044, 778150, 779048, CVE-2012-3989, 785465, 785467, 785941, 787554, 788211, 788225, 788532, 789261, 790273, 791774, 792005, 793267, 795896, 796850, 796902, 796903, 801819, 802560, 803106, 803127, 803129, 803157, 803542, 803825, 804738, 804950, 807075, 807224, 807697, 808856, 808991, 809281, 809304, 809899, 810011, 810324, 810641, 810644, 811632, 812392, 812617, 813419, 813423, 815129, 815149, 815502, 816160, 816180, 816343, 816375, 816376, 816380, 816387, 816410, 816487, 816778, 818263, 819239, 819624, 819639, 819845, 819904, 820577, 820657, 821177, 821317, 821324, 821593, 821606, 822470, 823088, 824007, 824237, 824448, 824592, 824823, 824907, 824970, 824986, 825053, 825196, 825282, 825285, 825341, 825499, 825527, 825628, 826737, 826740, 827158, 827823, 828000, 829248, 830670, 831879, 832014, 832883, 834877, 835417, 836850, 837416, 837520, 837597, 837645, 837648, 838146, 838160, 838178, 838233, 838343, 838532, 838559, 838582, 838598, 838750, 839022, 839033, 839053, 839056, 839088, 839105, 839116, 839179, 839439, 839447, 839483, 839912, 840559, 840857, 841014, 841289, 841429, 841442, 841444, 841466, 841484, 841488, 841493, 842498, 843261, 843264, 843272, 843355, 843627, 844169, 844457, 845248, 845666, 846972, 848332, 848339, 848386, 848387, 848796, 849307, 849567, 850159, 850442, 850817, 851075, 851162, 851178, 851470, 851639, 851891, 851892, 851908, 851917, 852055, 852135, 852219, 852620, 853818, 854243, 854323, 854626, 855611, 855971, 856338, 856472, 856605, 856640, 856819, 856841, 856911, 856960, 858212, 858217, 858524, 858606, 858741, 858893, 859503, 859707, 859808, 859901, 861507, 861587, 861880, 863386, 863402, 863492, 863880, 863898, 863948, 863949, 863964, 864223, 864442, 865098, 865482, 865951, 865998, 868102, 868448, 868778, 868929, 869014, 869073, 870678, 870856, 871226, 871287, 872377, 873417, 874105, 874212, 874787, 874788, 875784, 876238, 876240, 876602, 876605, 877281, 877358, 878401, 878447, 878533, 878600, 880367, 882541, 882653, 883493, 883615, 883741, 884897, 885982, 886110, 886247, 886270, 886289, 886416, 886420, 886755, 887524, 888591, 890382, 890405, 890684, 892493, 894448, 895758, 897185, 899210, 899972, 903571, 903770, 903778, 903873, 905392, 906616, 909581, 911333, 913053, 915368, 915419, 915971, 916879, 917539, 917958, 918011, 921718, 923250, 925382, 926712, 928114, 928312, 928336, 928535, 929112, 929554, 929609, 932409, 932505, 933378, 933966, 935362, 935855, 942631, 944014, 945788, 949078, 949264, 949271, 949292, 949445, 950523, 950657, 950728, 952486, 958540, 958667, 959677, 960508, 961116, 963321, 963382, 963388, 964061, 965992, 968335, 976305, 981845, 983029, 983228, 983300, 983301, 985796, 986837, 995664, 1007631, 1012707, 1017428, 1018306, 1021670, 1023762, 1026739, 1027095, 1029104, 1030192, 1034204, 1039986, 1047483, 1048659, 1053920, 1054029, 1056138, 1056316, 1058651, 1063878, 1063879, 1068740, 1071615, 1073766, 1077393, 1078744, 1080503, 1081241, 1081692, 1084001, 1085061, 1085062, 1085293, 1087444, 1089079, 1096328, 1100757, 1105614, 1109924, 1132934, 1135792, 1135801, 1135803, 1135810, 1136896, 1146234, 1146235, 1146333, 1155342, 1155942, 1189822, 1223523, 1224664, 1225219, 1237503, 1243438, 1247346, 1252211, 1254293, 1255247, 1257037, 1258585, 1265770, 1270349, 1270601, 1289467, 1297304, 1297411, 1297480, 1298410, 1307115, 1315135, 1321835, 1323274, 1323930, 1324178, 1326105, 1326522, 1330699, 1332713, 1333117, 1333556, 1338417, 1363874, 1414359
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Comment hidden (empty)
(Reporter)

Updated

8 years ago
Summary: experimental DOM bindings for Ins/Del using proxies → New JSClass-based DOM bindings
(Reporter)

Updated

8 years ago
Depends on: 659350
(Reporter)

Updated

8 years ago
Depends on: 660233
(Reporter)

Updated

8 years ago
Assignee: gal → nobody
(Reporter)

Updated

8 years ago
Depends on: 660235
(Reporter)

Updated

8 years ago
Depends on: 648801
(Reporter)

Updated

8 years ago
Depends on: 660237
(Reporter)

Updated

8 years ago
No longer depends on: 660235

Updated

7 years ago
Blocks: 605271
Blocks: 706131
Blocks: 576121
Depends on: 687332
Depends on: 732377
Depends on: 738593
Depends on: 738630
No longer blocks: 697271

Updated

7 years ago
Blocks: 687042, 653526
No longer depends on: 745897
No longer depends on: 752397
Depends on: 752397
No longer depends on: 752397
Depends on: 764539
Depends on: 765464
Depends on: 766615
Depends on: 768537
Depends on: 768793
Depends on: 773326

Updated

6 years ago
Depends on: 773780
Depends on: 774705
Depends on: 774757
Depends on: 775289
Depends on: 776224
Depends on: 776382
Depends on: 776536
Depends on: 775368
Depends on: 783867
Depends on: 786819
Depends on: 788211
Depends on: 788225
Depends on: 792005
Depends on: 796850
Depends on: 796903
Depends on: 796902

Updated

6 years ago
Blocks: 800775
Depends on: 803542
Depends on: 803825
Depends on: 804738
Depends on: 808991
Depends on: 809304

Updated

6 years ago
Alias: ParisBindings

Updated

6 years ago
Depends on: 809281

Updated

6 years ago
Depends on: 808856
Depends on: 768069

Updated

6 years ago
Depends on: 811632

Updated

6 years ago
Depends on: 812617
Depends on: 815129
Depends on: 816410
Depends on: 816487

Updated

6 years ago
Blocks: 234628
Depends on: 819639
No longer blocks: 234628

Comment 2

6 years ago
Are there any performance comparisons for this work? I'd love to see a blog post informing about the ongoing changes and what this means e. g. for DOM performance (with up-to-date numbers). Though this can wait until the majority of Bugs (esp. for document Obj Bindings) have been fixed.
We definitely have performance numbers.  See http://dromaeo.com/?id=186075,186085,186086,186076 for example, and more to come as we convert actual DOM nodes and documents and such...

There are also the obvious wins on ImageData performance (bug 746773 comment 14) and whatnot, and on WebGL performance.

Since the bindings are landing piecemeal and the JS engine is improving in parallel, disentangling the two effects can be difficult, though.  I can't tell you which one is responsible for the changes in the Dromaeo dom-query numbers above, for example.  So do you want to see numbers comparing to Fx13 (before any of this stuff landed) or some other peformance comparison?

Comment 5

6 years ago
This is indeed helpful. It would be nice to have kind of a summary after all the ParisBindings work is done. 

Comparing Fx 13 with any current version will probably not tell you very much, as we now have a totally new JIT engine (though comparing Fx 13 to any pre-IM version may help, as well as any comparisons between different IM version). 

What about having something like AWFY (or actually extend AWFY with Dromaeo)? That may also help with finding regressions.
> as we now have a totally new JIT engine

Well.  Part of the bindings work was closer integration with the new JIT that's allowed by the new bindings; in fact that's one of the major sources of speedup.  So for classes we convert now comparing before/after behavior makes sense, but for classes we converted before fx18 there was a noticeable speedup from Ion landing.

> or actually extend AWFY with Dromaeo

AWFY runs in a JS shell, so does not have DOM access, last I checked.  Something like AWFY for DOM stuff would be great, of course.  ;)
Depends on: 821324
Depends on: 821317
Depends on: 821593
Depends on: 816778
Depends on: 823088
Depends on: 824007
Depends on: 824986
Depends on: 825053
Depends on: 825196
Depends on: 825282
Depends on: 825285
Depends on: 824970
Depends on: 825499

Updated

6 years ago
Depends on: 825527

Updated

6 years ago
Depends on: 825628
Depends on: 825341
Depends on: 826737

Updated

6 years ago
Depends on: 826740

Updated

6 years ago
Depends on: 827158

Updated

6 years ago
Depends on: 828000
Depends on: 830670
Depends on: 831879
Depends on: 832883
Depends on: 836850

Updated

6 years ago
Depends on: 837416

Updated

6 years ago
Depends on: 837520
Depends on: 837597
Depends on: 837648
Depends on: 838160
Depends on: 838178
Depends on: 838233

Updated

6 years ago
Depends on: 838582
Depends on: 838598
Depends on: 839022
Depends on: 839033
Depends on: 839053
Depends on: 839056
No longer depends on: 839056
Depends on: 839056
Depends on: 839105
Depends on: 839116
Depends on: 839179
Depends on: 839439
Depends on: 839447
Depends on: 839483
Depends on: 839912
Depends on: 840559
Depends on: 840857
Depends on: 841014
Depends on: 841289
Depends on: 841442
Depends on: 841444
Depends on: 841447
Depends on: 841466
Depends on: 841484
Depends on: 841488
Depends on: 841493
Depends on: 842498

Updated

6 years ago
Depends on: 802560
Depends on: 843261
Depends on: 843264
Depends on: 843272
Depends on: 843355

Updated

6 years ago
Depends on: 844169
Depends on: 844457
Depends on: 844904
Depends on: 845248
Depends on: 846972
No longer depends on: 848390

Updated

6 years ago
Depends on: 849307
Depends on: 768048
Depends on: 850159
Depends on: 850442
Depends on: 850817
Depends on: 851075
Depends on: 851162
Depends on: 851178
Depends on: 738196
Depends on: 851282
Depends on: 851287
Depends on: 851470
Depends on: 851639
Depends on: 851891
Depends on: 851892
Depends on: 851908
Depends on: 852055
Depends on: 852135
Depends on: 852620
Depends on: 853818
Depends on: 854243
Depends on: 854323

Updated

6 years ago
No longer depends on: 854323
Depends on: 854323
Depends on: 854626
Depends on: 855611
Depends on: 856295
Depends on: 856605

Updated

6 years ago
Depends on: 856640
Depends on: 856820
Depends on: 856960
Depends on: 858212
Depends on: 858217
Depends on: 858524
Depends on: 858606
Depends on: 858893
Depends on: 859707
Depends on: 859808
Depends on: 859878
Depends on: 861507
Depends on: 861587
Depends on: 861880
Depends on: 863492
Depends on: 863831
Depends on: 863880
Depends on: 863898
Depends on: 863964
Depends on: 864223
Depends on: 865482
Depends on: 865870
Depends on: 865998
Depends on: 856472
Blocks: 866679
Depends on: 868778
Depends on: 868929

Updated

6 years ago
Depends on: 869073
Depends on: 869268
Depends on: 868102
No longer depends on: 841447
Depends on: 870678
Depends on: 870856

Updated

6 years ago
Depends on: 871226
Depends on: 871287
Depends on: 873417
Depends on: 874033
Depends on: 874212
Depends on: 874787
Depends on: 874788
Depends on: 875784
Depends on: 876240
Depends on: 876602
Depends on: 876605
Depends on: 877358
Depends on: 691017
Depends on: 878401
Depends on: 878447
Depends on: 878533
Depends on: 878600
Depends on: 880367
Depends on: 882653
Depends on: 883615
Depends on: 884897
Depends on: 885982

Updated

6 years ago
Depends on: 886110
Depends on: 886247
Depends on: 886270
Depends on: 886289
Depends on: 886416
Depends on: 886420

Updated

6 years ago
Depends on: 887524
Depends on: 888591
Depends on: 883741

Updated

6 years ago
Depends on: 889014
Depends on: 886755
Depends on: 890364

Updated

6 years ago
Depends on: 890382

Updated

6 years ago
Depends on: 890405
Depends on: 890684
Depends on: 890854
Depends on: 892493
Depends on: 892540
Depends on: 894448
Depends on: 899210
Depends on: 899972
Depends on: 903778
Depends on: 903873

Updated

5 years ago
Depends on: 906616
Depends on: 906899
Depends on: 909090
Depends on: 909581
Depends on: 911333
Depends on: 913053
No longer depends on: 915368
Depends on: 916879
Depends on: 921718
Depends on: 923250
Depends on: 925382
Depends on: 928114
Depends on: 928535
Depends on: 929112
Depends on: 929554
Depends on: 929609
Depends on: 930007
Depends on: 932082
Depends on: 932409
Depends on: 932505
Depends on: 933966
Depends on: 935362
Depends on: 876238
Depends on: 949292

Updated

5 years ago
Depends on: 949445

Updated

5 years ago
Depends on: 950523

Updated

5 years ago
Depends on: 950657

Updated

5 years ago
Depends on: 950728
Depends on: 952475
Depends on: 952486

Updated

5 years ago
Depends on: 958667

Updated

5 years ago
Depends on: 961116

Updated

5 years ago
Depends on: 964061
<