mozilla :: #jsapi

7 Aug 2017
09:26bbouvierhello world
09:29bbouvierchia-hung, welcome to the JS team!
09:37chia-hungbbouvier: Hi, thanks! Looking forward to working together :)
09:40nbpchia-hung: Welcome :) In which timezone are you?
10:20chia-hungnbp: Hi! It's GMT+8 here in Taiwan.
10:21nbpchia-hung: With pbone you are going to wake us up.
10:22nbpwith tons of morning/evening notifications.
10:23nbpchia-hung: Welcome on board :)
10:23nbpchia-hung: Do you know which part you are going to work on yet?
10:32chia-hungUh, Not yet.
10:32chia-hungI Just finished tracing the architecture of Firefox browser approximately. And next step I'll dive into the working flow of JS engine (JIT, GC, xpconnect, .etc). This is my initial plan.
10:32chia-hungAny suggestions or tasks you think that I can start with ?
10:37chia-hungnbp: I'll find the cut point of JS engine component to start with after the code study finished.
10:38joncowelcome chia-hung
10:38joncodoes anyone know if we can use classes in self-hosted JS?
10:39nbpjonco: efaust, or tcambell.
10:39nbptcampbell ^
10:40nbpjonco: I do not know if we can clone classes safely between compartments.
10:40chia-hungjonco: Hi, thanks!
10:40nbpchia-hung: I do not think we have a list of what peoples are working on, except maybe the phonebook.
10:41nbpchia-hung: if you need help just ping one of us, and we will forward to the right persons ;)
10:43chia-hungnbp: Thanks! And now I can help you for a morning call lol.
10:44nbpchia-hung: morning? never heard of that
10:47chia-hungnbp: haha, I guess you won't suffer from a jetleg if you come to Taiwan
10:48chia-hungnbp: Which part you're working on in JS?
10:48nbpchia-hung: mostly the Jit with jandem, tcampbell, and sstangl. (ordered by increasing time-zone)
10:49nbpchia-hung: if you are interested, we have a Wednesday short-standups/meeting every 2 weeks.
10:51nbptcampbell: one week meeting now?
10:51* nbp lunch
12:56pbonehi chia-hung. I'm in GMT+10, here in Melbourne.
12:57pbonechia-hung: I was the new person before you, I can send you some notes that tcampbell made about working on the JS engine.
13:47nbpOh, we have secret notes in the team now
13:57bbouvierpbone, could you make these more public in some way, maybe? as an etherpad, or a wiki page, or mdn? if it has to be internal, there's also the mana for that
14:03tcampbelljonco: generally classes are normal objects and functions for the most part. Should work for self hosted, but probably not tested
14:05tcampbell(today is holiday in my region, so I may only answer quick questions)
14:09tcampbellThose notes can be posted. It was just a dump into an email of things I learned in first months. Was very rough so I didn't know where to post.
14:09nbptcampbell: You are not doing reviews on holidays?
14:10nbptcampbell: I just wanted to ask you about one bug in particular, I guess I might have to wait then
14:11tcampbellGo for it. I've nearly escaped my bed
14:12nbpcought Bug 1377710
14:12firebot ASSIGNED, Compiling lots of unused branches can be expensive
14:12pbonebbouvier: Yeah probably. tcampbell what do you think? these are the notes you made when you started and sent to me then.
14:13tcampbellpbone: give them an edit of what you think should be added and cut what seemed verbose, then sure
14:14tcampbellnbp: ah yes. I deferred because you were off, and then forgot to go back to it
14:14tcampbellnbp: have you sold jan on the idea?
14:15pbonebbouvier: I'll try to get it added to the spider monkey pages on MDN I guess.
14:16bbouviersounds good, thank you!
14:17tcampbellnbp: I'll be able to do reviews tomorrow for technical matters. Were you able to look at the case sstangl and determine if there might be a regression?
14:18pboneokay, g'night JS peeps.
14:19tcampbell'night, pbone
14:20joncotcampbell: thanks, figured it was something like that
14:22tcampbelljonco: almost all the complexity was with opcodes. the objects themselves were boring
14:49nbptcampbell: All patches should almost be idependent, so it should not matter much for this single patch.
14:49nbptcampbell: I marked it as obsolete because this does not matter.
14:49tcampbellnbp: ah, sounds good
14:50nbptcampbell: jandem question is addressed in one other patch that you have to review (not today)
14:50nbptcampbell: and I cc-ed you on another bug related to the obsolete patch.
14:57bbouvierjandem, ping, do you mean removing all of Chrome Turbofan/Ignition data on AWFY? (not only this particular benchmark)
14:58jandembbouvier: yeah or just disabling these lines by default
15:00nbpbbouvier: How does it feel to having stopped AWFY support,
15:00nbpbbouvier: and go back to Ion frames ? :D
15:17bbouviernbp, well, it's two different worlds :)
15:50bbouvierevilpie, enjoy
15:50RyanVMwhat happened to Chrome on AWFY?
15:50bbouviergood question, i'll take a look
15:50nbpsunfish: I won't come to the Vidyo meeting, my connection does not even hold a stable text connection.
15:51RyanVMbbouvier: while I've got you, is there a way to access the AWFY data in tabular format?
15:54bbouvierRyanVM, no there is not
15:54bbouvierRyanVM, but you can request an SQL access, if that's better for you
15:54RyanVMi'll stick to just manually grabbing values from the chart :P
15:54bbouvierRyanVM, or you could retrieve the raw JSON data and make tables out of it
15:54bbouvierthe latter is probably simpler
15:54RyanVMooo, that'd probably work
15:56bbouvieropen firefox dev tools + network panel, then go to a specific page
15:56bbouvierfor instance, when i go to , i see that it requests which is the raw JSON data for this particular graph
15:58evilpiebbouvier: cool thanks
16:24evilpiejandem: moving that IonCacheIRCompiler. Should this be a class method like emitAddAndStoreSlotShared or just a static function?
16:25jandemevilpie: static function is ok I think
16:27evilpiejandem after that there is just CodeLocationJump::repoint and some others, there must be a better place for those
16:28jandemevilpie: yeah I'd move to MacroAssembler.cpp probably
16:28jandemthanks for doing this btw
16:30evilpieI think I can probably almost finish the compare IC stuff this week
16:31evilpieafter that we just need to remove arithmetic shared stubs
17:19sfinknaveed: ping
17:19naveedsfink: in mtg
17:20sfinknaveed: ok. I was hoping to talk to you briefly before the bocoup meeting in 40min.
17:43bbouviernbp, what about it?
17:49nbpbbouvier: the image, and the fact that it is about Servo.
17:50bbouviernbp, it is a known fork ;)
18:25sstanglbc: I just noticed that the quantum-flow laptop is stuck on the login screen -- it probably forcibly restarted after an auto-update. But it looks like the password was changed from the one I set, so I can't log in and restart the runner.
18:26bcsstangl: it is running under rdesktop and not vnc. it is actually running now. what did you want to do ?
18:26sstanglbc: oh, usually a desktop is shown when it's running, so I assumed it wasn't running.
18:30mccr8shu: is there any way to write shell tests for non-syntactic environments the way Gecko uses them?
18:30mccr8I may put together some evalWithChain() or something if not.
18:30mccr8I had a bug in my code that just happened to be exposed by a single unrelated XPConnect test.
18:32shumccr8: let me see
18:32shumccr8: "the way gecko uses them" meaning, pass in a chain of JSObjects to be wrapped by non-syntactic withs and so forth?
18:33mccr8shu: yes
18:34mccr8my bug was in the case where you have a function inside an event handler, without a default |this| so it should get bound to the global, but due to my bug, it was getting bound to the |this| of the event handler.
18:34mccr8ie this was getting bound to the innermost nonsyntactic thing on the chain, not the outermost.
18:36shumccr8: hm i do not see a way to write the shell test, i thought there was one
18:37mccr8Thanks for checking.
18:37shumccr8: the most sensible place i think is to add a new option property to |evaluate| in shell/js.cpp
18:39shumccr8: there is already an overload of JS::Evaluate that takes an envChain, but the shell's static bool Evaluate doesn't call that overload (yet)
19:26bkellycan anyone help me read this hazard.txt file? not sure how to interpret it...
19:30sfinkheh. That's a fun one.
19:30sfinkyou're returning a movable JSObject* pointer, but then running a destructor that the analysis thinks could trigger a GC and invalidate the pointer
19:31sfinkoften the easiest way to fix it is to limit the scope of that ~RefPtr so that it ends before you return. I don't know how messy that would be here.
19:32sfinkI also don't know whether nsIInputStream.Close could *really* GC
19:35bkellyhmm, ok
19:35bkellytill: ping
19:35mrgigglesthe mozilla-inbound tree is now closed (bustage from bug 1380154 )
19:35firebot ASSIGNED, Improve Effective TLD service lookups
19:37bkellydoes this automatically hold a ref to the object being put in the slot?
19:39bkellyhmm... nm
19:47mrgigglesthe mozilla-inbound tree is now open
22:08sstanglnaveed: ping
22:09naveedsstangl: pong brt
8 Aug 2017
No messages
Last message: 8 days and 15 hours ago