wiki:SonyWebKit2020Retrospective

Version 1 (modified by Jon Davis, 3 years ago) (diff)

--

Sony WebKit 2020 Retrospective

by Don Olmstead (Sony) Slide Deck

A quick update on some of the accomplishments and areas of interest for 2021.

Don: Today, wanted to speak about what Sony's been up to with WebKit this year.

Don: This is our 5th appearance at the contributor's meeting.

Don: It's going to be quick, because we've been distracted by the launch of PS5

Don: We are currently providing JavaScriptCore embedded by partner, and partner's with an application in web view and games that want to bring up a log in screen or such.

Don: A few fun things we've done this year.

Don: For a very long time the wincairo EWS was flaky, couldn't determine if a patch should be merged...

Don: Inside Sony, we're somewhat unique for our CI/CD being windows based. We needed other teams for help with environment, spun up environment in AWS with docker.

Don: Including some playstation bots.

Don: This was brought up earlier, but we're very proud of Ross in regards to the internationalization features.

Don: He and Yusuke tag teamed the internationalization and got it running, and we are using it internally.

Don: Another thing we were up to was providing an openssl backend for the webcrypto api. We had developers downloading big js files to do encryption, which was a problem for memory and speed. So some engineers in Japan worked on the implementation. Tomoki and Jitsu landed this.

Don: Basuke, started on a quest about bmalloc, last year at contributor's meeting with Saam and Yusuke. Looked at the freeing unused chunks for getting a savings for users of JavaScriptCore. While we're a console, we want to give the game the full amount of resources.

Don: That's why we are always interesting in JavaScriptCore because we know it runs in embedded and small environments like watches.

Don: In this case, we had a high severity bug with a media partner which caused media playback to pause. We had both teams in Japan and San Francisco, and narrowed it down to a particular video. Eventually, we found that it only happened when release logs were turned off and was a small change around an if guard stopping a return.

Don: Plans for the future

Don: We would like to Cairo, it's not looking great for maintenance. Also, we want to use more of the power of our platform. We have a more modern gpu, so we are playing with webgpu and trying to see if something closer to metal will work better.

Don: Some of our partners want wasm, but we don't support jitting, so we're looking at interpreted wasm.

Don: Looking at running static analysis tools, perhaps tying into the git migration.

Don: We're going to need to step up moving our downstream port pieces to upstream. We were working in secret on new device, but now it's out.

Don: We want to continue improving our ci/cd environment and running of tests on our platforms.

Questions & Comments

Saam: What kind of interest are you seeing in web assembly?

Don: Sometimes, it's just because it's cool?

Ross: I don't know if we were told why, but twitch wanted to use it for their app. The concern that comes up is whether they'd be satisfied with the performance.

Saam: I'd be hesitant to recommend the performance of interpreted web assembly. It'd probably be better for them to just use normal javascript.

Ross: It might be a concern to provide it if the performance is bad.

Caio: I would not be surprised if web assembly might be better on the platform since it doesn't do

Ross: It might not be too bad if they aren't going back and forth.

Saam: emscripten might be able to do it, but it might be better exporting javascript - you can do more per dispatch with js, but less in wasm, should implement and see.

Ken: Can you get wasm enabled?

Don: We'd like to, but it's been generally rejected by security

Ken: No I get it, maybe an out of process thing. It works on ios

Don: Concerns about perf vs memory usage.

Ross: We have done so before on PS4, but besides concern about security, there was also strong startup vs long time performance

Ken: Do you foresee supporting the webgpu api on playstation

Don: Mostly been interested in the abstraction, been working with Dawn to hide our graphics api and hide it behind. We'd prefer something like webgpu over opengl. Love opengl, but doesn't necessarily make sense on our platform.

Ken: Could webkit developers get access to order PS5 development kits?

Don: I think apple has access for apple tv app, and google probably has access as well.

Ken: Tracking down those kits would be difficult.

Don: If the company is okayed, they could probably order additional ones.