Skip to content

Meeting 2016 02 22

Lars Bergstrom edited this page Feb 22, 2016 · 1 revision

Agenda items

Attending

  • larsberg, jdm, jack, edunham, ajeffrey, ms2ger, pcwalton, manish, mbrubeck, bholley

Last week

Announcing new hires

  • jack: We have made two offers, both of which are accepted! Anthony Ramine (nox) is starting on March 14th. Manish (Manishearth) is starting May 23. Anthony will be in the Paris office with Simon. Manish will be in the SF office, though he will not be on-site there until August or September. More info as it develops!

Webrender landed

  • jack: It's here! Pass -w for more goodness. There are still some reftests to fix before it can be the defaul...
  • pcwalton: Mainly issues with pixel snapping leading to cracks. Those are the largest issues you will see in testing.
  • jack: it makes the browser much better and makes it work on browser.html
  • pcwalton: Need to make a decision about printing and save-to-pdf, as they will not work with webrender
  • mbrubeck: Changes to platform support?
  • pcwalton: GL3 support needed. For our machines, should have 100% coverage on laptops; mobile is rougher. Lots of devices out on Android that are GL2.1-only. Very old at this point. Was old on the iphone in 2007. Do have OpenGL ES2 support, but lose blurs (because they require loops in shaders). Probably need to figure out what to do there.
  • pcwalton: You could write loops in ES2, but it had to have a fixed loop count. It's from when a lot of GPUs didn't have stacks - everything was inlined.
  • jack: We have fallbacks for a lot of stuff.
  • pcwalton: ES2.1 is pretty widely available on phones.
  • larsberg: Embedded?
  • pcwalton: GL3. Just the original Rpi has ES2.1. Other than that, they at least have a Mali GL3 chipset.
  • jack: Give it a whirl! File bugs, try to do the move to it.
  • simonsapin: Does it mean not blurring, or just slow on the CPU?
  • pcwalton: Not appearing at all. CAn generate shaders per-radius or do it on the CPU, but have to do one of them.

Feature planning

  • larsberg: There is a page with vague estimates and lists of features (https://wiki.mozilla.org/Oxidation). You may have issues with incorrect estimates, missing features, etc. Go ahead and update it! Useful for students looking for projects, people asking questions, etc.
  • SimonSapin: What about features that shouldn't be there (eg. FTP)?
  • jdm: This was put together last year as a list of features that Firefox had that Servo didn't. This is mutable.
  • larsberg: Wouldn't push things like that on a student team, so probably worth creating a section for "only if needed for web compatibility".
  • text-only SimonSapin notes: Grid is bigger than flexbox. Finishing tables may not be small depending on what "finishing" means. Do we need MathML? (Chrome/IE/Edge don’t have it.)

Oxidation planning

  • larsberg: For those curious about how the process is going, what's next, what's the schedule, etc. use the wiki as the primary source and share it around: https://wiki.mozilla.org/Oxidation .
  • jack: What about per-crate integer overflow?
  • larsberg: Currently worked around using a -Z flag. Cargo does not typically expose those

Intermittents

  • jack: What's the status?
  • jdm: Haven't solved them. Disabled about 10 of them. Cycle times were pretty bad the past week.
  • mbrubeck: I have some rr traces and repros. They're getting closer.
  • pcwalton: ipc-channel?
  • mbrubeck: No, incremental layout. There's active work on fixing the ipc-channel ones. I have reproducible test cases for the ipc-channel fixes, if required.
  • pcwalton: I think antrik is working on that one. I think a lot of the reason sites look broken right now is that incremental layout is a bit broken.
  • mbrubeck: nox found one of the root causes for one class of them (the ones with pseudoclasses). I'm testing that right now.
  • jack: Just incremental layout bugs?
  • mbrubeck: Intermittents caused by incremental layout bugs.
  • jack: Sounds great!
  • mbrubeck: If you want to try the chaos mode thing, I'll write down some documentation. It has to happen in a headless build. I've been focusing on the worst intermittents because they're the easiest to catch. Some in the first five to ten runs chaos mode will get it. Other times, it takes 50 runs. But that's still only 20 minutes, even on a laptop.
  • jack: Amazing! Portable?
  • mbrubeck: Possible between two identically configured VM on identical hosthardware, but if there's any difference, it won't work.
  • jack: At least will be useful not on Amazon... then we can save the traces!
  • mbrubeck: Discussed running all tests under rr. Can't run on Amazon due to the missing perf counter right now.
  • larsberg: I talked to IT and we're looking into next steps with Amazon or DigitalOcean. If you need a machine now, ping me and I will get something set up for you.

stylo

  • bholley: Emilio got the generalization landed so that we can parse them in Gecko without messing around with them in Servo. ms2ger is lookign at pluggable atom (string interning) backends to eliminate the perf overhead of selector matching from Servo. I'm looking into getting the computed style data back from Servo into Gecko. We have some ideas on how to make it all generic, but it's a lot of work. Probably needs us to use rust-bindgen on stuff in Gecko, so I'm working my way through those right now.
  • jack: Fixing rust-bindgen?
  • bholley: Fixing panics in rust-bindgen. I'm a couple of fixes in. There's a lot of stuff like nsTArrays, nsCOMPtr, etc.
  • jack: Talked with mwu?
  • bholley: Yes. He got it to work on C++ for JSapi.h, but that's about it. I'm doing the same process on another header file. He said he could look at it when he next gets back to it, but I probably need it working sooner than that. More on that in a week, probably.
  • jack: rust-bindgen's gonna get really good really fast...
  • bholley: I'm kinda working on a fork of mwu's spidermonkey branch. Also requires a modified (or at least very new) version of clang. Ideally, yes, rust-bindgen will get better.
  • jack: Didn't that version of clang land in releng? Till wants to put the generated jsapi stuff into m-c in the SM build, which requires rust-bindgen being able to run. The build team might have it available already.
  • bholley: That's still a different story. Having it in tooltool for automation is different from having it on developers' desktops. If the minimum dev version of clang is not updated...
  • jdm: We have clang static analyses that only run on server machines...
  • bholley: That's different from generating bindings...
  • jdm: I was thinking it was something that happened nightly and produced an artifact.
  • bholley: Maybe like the DOM bindings codegen? But then, the JS team isn't maintaining this thing...
  • jack: I think we were going to add some automated testing in there. My main point was the the clang-required stuff has landed upstream, so it's landed in the automation tool servers.
Clone this wiki locally