https://github.com/pmatos/webkit-misc
Utilities for WebKit work
https://github.com/pmatos/webkit-misc
igalia racket static-analysis utility webkit
Last synced: 3 months ago
JSON representation
Utilities for WebKit work
- Host: GitHub
- URL: https://github.com/pmatos/webkit-misc
- Owner: pmatos
- License: gpl-3.0
- Created: 2019-07-02T10:50:50.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-06-30T13:13:33.000Z (almost 3 years ago)
- Last Synced: 2025-01-09T23:25:54.113Z (4 months ago)
- Topics: igalia, racket, static-analysis, utility, webkit
- Language: Racket
- Size: 130 KB
- Stars: 2
- Watchers: 3
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://www.igalia.com)
# WebKit Misc Script
As part of my work as an Igalian (https://www.igalia.com) I am working on WebKit. For some specific tasks I am using a few scripts. I am adding these here as time goes by.
Some are better than others but expect the unexpected. Feel free to do PRs and open Issues.# Scripts
## `scan-build-webkit.sh` (Status: )
Run LLVM `scan-build` on WebKit. This expects a ubuntu like environment so you might want to use `docker-trigger.sh` on this one.
The special thing about this specific `scan-build` is that it uses the recent advances on SMT guided counterexample introduced by
[SMT-based refutation of spurious bug reports in the clang static analyzer](https://dl.acm.org/citation.cfm?id=3339673).Due to a bug in LLVM it also temporarily applies a workaround patch from [bug 41809](https://bugs.llvm.org/show_bug.cgi?id=41809).
With any PC with docker support you should be able to run:
```
./docker-trigger.sh ubuntu:latest scan-build-webkit.sh
```## `docker-trigger.sh` (Status: )
This script will trigger another script inside a docker container and save artifacts to the current directory in `$PWD/artifacts/`.
Try
```
$ ./docker-trigger.sh ubuntu:latest ./hello-world.sh
```## `JetStream2-cmp/cmp.rkt` (Status: )
This script will compare the outputs of two cli JetStream2 runs. Inside WebKit, you can go to `PerformanceTests/JetStream2` and after build `jsc`, you can run:
```
../../WebKitBuild/Release/bin/jsc cli.js 2>&1 | tee output.log
```If you build another version of jsc and run the same command line you can then compare the results with:
```
racket cmp.rkt VERSION1 /PerformanceTests/JetStream2/output.log VERSION1 /PerformanceTests/JetStream2/output.log 2>&1 | less
```