Skip to content

Commit

Permalink
Squashed 'vendor/quickjs/' changes from 626e0d4e..36911f0d
Browse files Browse the repository at this point in the history
36911f0d regexp: fix non greedy quantizers with zero length matches
d86aaf0b updated test262.patch
adec7343 fixed test of test262 directory
d378a9f3 Improve `js_os_exec` (#295)
97be5a32 Add `js_resolve_proxy` (#293)
f3f2f427 Add `JS_StrictEq()`, `JS_SameValue()`, and `JS_SameValueZero()` (#264)
6f9d05fd Expose `JS_SetUncatchableError()` (#262)
d53aafe0 Add the missing fuzz_common.c (#292)
db9dbd0a Add `JS_HasException()` (#265)
6c430131 Add `JS_NewTypedArray()` (#272)
01454caf OSS-Fuzz targets improvements (#267)
0c8fecab Improve class parser (#289)
d9c699f5 fix class method with name get (#258)
7a2c6f42 Improve libunicode and libregexp headers (#288)
1402478d Improve unicode table handling (#286)
3b45d155 Fix endianness handling in `js_dataview_getValue` / `js_dataview_setValue`
653b2276 Improve error handling
203fe2d5 Improve `JSON.stringify`
ce6b6dca Use more explicit magic values for array methods
c0e67c47 Simplify redundant initializers for `JS_NewBool()`
06651314 Fix compilation with -DCONFIG_BIGNUM
65ecb0b0 Improve Date.parse, small fixes
6a89d7c2 Add CI targets, fix test_std.js (#247)
ebe7496d Fix build: use LRE_BOOL in libunicode.h (#244)
1a5333bc prevent 0 length allocation in `js_worker_postMessage`
e17cb9fc Add github CI tests
06c100c9 Prevent UB on memcpy and floating point conversions
3dd93eb4 fix microbench when microbench.txt is missing (#246)
35b7b3c3 Improve Date.parse
8d64731e Improve Number.prototype.toString for radix other than 10
a78d2cbf Improve repl regexp handling
8180d3dd Improve microbench.js
78db49cf Improve Date.parse
6428ce0c show readable representation of Date objects in repl
27928ce4 Fix Map hash bug
b70e7644 Rewrite `set_date_fields` to match the ECMA specification
b91a2aec Add C API function JS_GetClassID()
12c91df5 Improve surrogate handling readability
8d932deb Rename regex flag and field utf16 -> unicode
97ae6f39 Add benchmarks target
c24a865a Improve run-test262
bbf36d5b Fix big endian serialization
530ba6a6 handle missing test262 gracefully
0a361b7c handle missing test262 gracefully
74bdb496 Improve tests
85fb2cae Fix UB signed integer overflow in js_math_imul
8df43275 Fix UB left shift of negative number
3bb2ca36 Remove unnecessary ssize_t posix-ism
c06af876 Improve string concatenation hack
8e21b967 pass node-js command line arguments to microbench
95e0aa05 Reverse e140122202cc24728b394f8f90fa2f4a2d7c397e
1fe04149 Fix test262 error
ef4e7b23 Fix compiler warnings
92e339d1 Simplify and clarify URL quoting js_std_urlGet
636c9465 FreeBSD QuickJS Patch (#203)
ae6fa8d3 Fix shell injection bug in std.urlGet (#61)
693449e3 add gitignore for build objects (#84)
e1401222 Fix sloppy mode arguments uninitialized value use
6dbf01bb Remove unsafe sprintf() and strcat() calls
65350645 Fix undefined behavior (UBSAN)
e53d6223 Fix UB in js_dtoa1
fd6e0397 Add UndefinedBehaviorSanitizer support
325ca194 Add MemorySanitizer support

git-subtree-dir: vendor/quickjs
git-subtree-split: 36911f0d3ab1a4c190a4d5cbe7c2db225a455389
  • Loading branch information
justjake committed Jun 15, 2024
1 parent 7a43f65 commit 839109b
Show file tree
Hide file tree
Showing 35 changed files with 3,626 additions and 1,482 deletions.
166 changes: 166 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,166 @@
name: ci

on:
pull_request:
paths:
- '**'
- '!.gitignore'
- '!LICENSE'
- '!TODO'
- '!doc/**'
- '!examples/**'
- '.github/workflows/ci.yml'
push:
branches:
- '*'

jobs:
linux:
name: Linux (Ubuntu)
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Build
run: |
make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y
- name: Stats
run: |
./qjs -qd
- name: Run built-in tests
run: |
make test
- name: Run microbench
run: |
make microbench
linux-asan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Build
run: |
make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y CONFIG_ASAN=y
- name: Run built-in tests
env:
ASAN_OPTIONS: halt_on_error=1
run: |
make CONFIG_ASAN=y test
linux-msan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Build
env:
CC: clang
run: |
make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y CONFIG_MSAN=y CONFIG_CLANG=y
- name: Run built-in tests
env:
MSAN_OPTIONS: halt_on_error=1
run: |
make CONFIG_MSAN=y CONFIG_CLANG=y test
linux-ubsan:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Build
run: |
make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y CONFIG_UBSAN=y
- name: Run built-in tests
env:
UBSAN_OPTIONS: halt_on_error=1
run: |
make CONFIG_UBSAN=y test
macos:
name: macOS
runs-on: macos-latest
strategy:
fail-fast: false
steps:
- uses: actions/checkout@v4
- name: Build
run: |
make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y
- name: Stats
run: |
./qjs -qd
- name: Run built-in tests
run: |
make test
macos-asan:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: |
make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y CONFIG_ASAN=y
- name: Run built-in tests
env:
ASAN_OPTIONS: halt_on_error=1
run: |
make CONFIG_ASAN=y test
macos-ubsan:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Build
run: |
make -j$(getconf _NPROCESSORS_ONLN) CONFIG_WERROR=y CONFIG_UBSAN=y
- name: Run built-in tests
env:
UBSAN_OPTIONS: halt_on_error=1
run: |
make CONFIG_UBSAN=y test
freebsd:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Build + test
uses: vmactions/freebsd-vm@v1
with:
usesh: true
prepare: |
pkg install -y gmake
run: |
gmake
./qjs -qd
gmake test
qemu-alpine:
runs-on: ubuntu-latest

strategy:
fail-fast: false
matrix:
platform:
- i386
- arm32v6
- arm32v7
- arm64v8
- s390x

steps:
- uses: actions/checkout@v4
with:
submodules: recursive
- name: Get qemu
run: docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
- name: Run tests on ${{ matrix.platform }}
run: docker run --rm --interactive --mount type=bind,source=$(pwd),target=/host ${{ matrix.platform }}/alpine sh -c "apk add git patch make gcc libc-dev && cd /host && make test"

6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
*.a
.obj/
tests/bjson.so
examples/test_fib
test_fib.c
examples/*.so
examples/hello
examples/hello_module
hello.c
Expand All @@ -16,3 +20,5 @@ test262o
test262o_*.txt
unicode
unicode_gen
run_octane
run_sunspider_like
Loading

0 comments on commit 839109b

Please sign in to comment.