Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix EXPORT_ES6 + USE_PTHREADS #8306

Merged
merged 187 commits into from
May 24, 2019
Merged

Commits on Mar 19, 2019

  1. Configuration menu
    Copy the full SHA
    b78e914 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0a3915a View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    2849d36 View commit details
    Browse the repository at this point in the history
  4. Replace importScripts with import for ES Modules

    Import returns a promise, so things had to be rearranged. I think I could have used promise.resolve() instead, but that's something to revisit if I can actually get this working.
    VirtualTim authored Mar 19, 2019
    Configuration menu
    Copy the full SHA
    0edabe6 View commit details
    Browse the repository at this point in the history
  5. Add an EXPORT_ES6 ifdef

    VirtualTim authored Mar 19, 2019
    Configuration menu
    Copy the full SHA
    90a4b18 View commit details
    Browse the repository at this point in the history

Commits on Mar 20, 2019

  1. Fix emcc.py build issue

    VirtualTim authored Mar 20, 2019
    Configuration menu
    Copy the full SHA
    97b0dd2 View commit details
    Browse the repository at this point in the history
  2. Fix typo

    VirtualTim authored Mar 20, 2019
    Configuration menu
    Copy the full SHA
    90e2e59 View commit details
    Browse the repository at this point in the history
  3. Fix indentation

    VirtualTim authored Mar 20, 2019
    Configuration menu
    Copy the full SHA
    f9e04a3 View commit details
    Browse the repository at this point in the history
  4. Fix another typo

    VirtualTim authored Mar 20, 2019
    Configuration menu
    Copy the full SHA
    5a933df View commit details
    Browse the repository at this point in the history

Commits on Mar 21, 2019

  1. Configuration menu
    Copy the full SHA
    03c96b8 View commit details
    Browse the repository at this point in the history

Commits on Mar 25, 2019

  1. Configuration menu
    Copy the full SHA
    5404d76 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    054f4ca View commit details
    Browse the repository at this point in the history
  3. Don't declare functions in a thread that have already been declared i…

    …n the main thread.
    
    I feel like this should break things, but it seems to work properly with my tests.
    VirtualTim authored Mar 25, 2019
    Configuration menu
    Copy the full SHA
    23bd473 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    e0125dd View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    48d2d77 View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2019

  1. Configuration menu
    Copy the full SHA
    4148743 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    dfd8440 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a503811 View commit details
    Browse the repository at this point in the history

Commits on Apr 9, 2019

  1. Only remove runtime checks in the specific case they don't work

    If EXPORT_ES6 and USE_PTHREADS then redefining functions don't work inside a worker. The only case we seem to do this is in the runtime checks, so don't do those checks in this specific case.
    This is basically only for debugging, so I don't think removing this in that specific case is that big of a deal.
    VirtualTim authored Apr 9, 2019
    Configuration menu
    Copy the full SHA
    de25547 View commit details
    Browse the repository at this point in the history

Commits on May 17, 2019

  1. Changed check to assertion.

    Obviously this means that USE_PTHREADS + EXPORT_ES6 + ASSERTIONS won't work. But this never worked, so I think this is fine. Will need to open an issue to fix this.
    VirtualTim authored May 17, 2019
    Configuration menu
    Copy the full SHA
    208daf5 View commit details
    Browse the repository at this point in the history

Commits on May 21, 2019

  1. Prevent discard of value names for -g3 or above (emscripten-core#8263)

    This change is another part that aims to solve emscripten-core#7883, by adding "-fno-discard-value-names" to clang invocation calls from emcc.py, when debug levels >= 3.
    
    It depends on emscripten-core/emscripten-fastcomp-clang#27.
    milizhang authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    8b86f6e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    9c53450 View commit details
    Browse the repository at this point in the history
  3. Fix SAFE_HEAP_LOG + WASM (emscripten-core#8309)

    With wasm SAFE_HEAP always requires `segfault` and friends because
    calls to them are constructed by the binaryen pass.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    c25c5dd View commit details
    Browse the repository at this point in the history
  4. Cleanup of emcc -s argument parsing (emscripten-core#8312)

    - remove else after return
    - use enumerate() rather than manual counting
    - remove constant sep argument to parse_string_list_members
    - move `check_bad_eq` function inside `parse_args`
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    970a22c View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    0583f79 View commit details
    Browse the repository at this point in the history
  6. 1.38.30

    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    e5584ad View commit details
    Browse the repository at this point in the history
  7. Always call EMAR with PYTHON as arg0 (emscripten-core#8342)

    In this case we use the create_lib wrapper to ensure this.
    
    Fixes emscripten-core#8341
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    c184ae3 View commit details
    Browse the repository at this point in the history
  8. Add test_dylink_function_pointer_equality test (emscripten-core#8330)

    This test currently is currently expected to fail, until we fix
    this issue;
    
    See emscripten-core#8268.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    3715670 View commit details
    Browse the repository at this point in the history
  9. Create pull request template (emscripten-core#8345)

    This will automate asking people to add themselves to AUTHORS on their first PR.
    
    (Apparently this works using a magic filename + location, see https://help.github.com/en/articles/creating-a-pull-request-template-for-your-repository )
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    36e9a41 View commit details
    Browse the repository at this point in the history
  10. Fix pthreads + LIBRARY_DEBUG (emscripten-core#8303)

    Both options modify the JS library functions, but LIBRARY_DEBUG did it in a destructive way (removed arguments from the declaration). This refactors both code locations to call a single helper function which does things properly, and adds a tes
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    a1e7f6f View commit details
    Browse the repository at this point in the history
  11. Convert test_printf to do_run_in_out_file_test (emscripten-core#8343)

    And enable under node and v8 (The output seems to match now).
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    261c291 View commit details
    Browse the repository at this point in the history
  12. Fix llvm backend debug info with opts (emscripten-core#8298)

    We invoke wasm-opt after finalize, and it needs to be given the source map, and told to emit one, as it changes the binary.
    
    This wasn't noticed in testing because finalize did emit a .map file - it just got out of date later when the binary was changed, but the test just checks for its existence and how many items it has, and doesn't literally understand the source map format and check if things line up to the binary.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    d1a9fc3 View commit details
    Browse the repository at this point in the history
  13. Report browser exceptions (emscripten-core#8347)

    This sends clientside browser exceptions to the test runner, and logs them out.
    
    This may help debug failures on our CI, as before this an exception usually just silently hangs the test, and we need to try to reproduce it locally. Now at least we should get a stack trace.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    6af55a6 View commit details
    Browse the repository at this point in the history
  14. Add more fine-grained gl test reporting (emscripten-core#8346)

    I've noticed that on Firefox the gl tests seem to fail sporadically, hopefully this will help narrow down exactly what is failing.
    VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    d3fd009 View commit details
    Browse the repository at this point in the history
  15. Reduce the default verbosity of JS library error messages (emscripten…

    …-core#8339)
    
    Currently the entire library is printed which makes seeing the
    actual error very difficult.  Normally the filename and line number
    should be sufficient and we can put the rest of it befind VERBOSE=1.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    1a22f4c View commit details
    Browse the repository at this point in the history
  16. Configuration menu
    Copy the full SHA
    f54f621 View commit details
    Browse the repository at this point in the history
  17. Support tar.gz file (emscripten-core#8355)

    so we can handle software that has a `.tar.gz` download and no `.zip`
    and don't have to create a repo just to have a `.zip` URL.
    msabramo authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    e6b1f3e View commit details
    Browse the repository at this point in the history
  18. Configuration menu
    Copy the full SHA
    3c178bf View commit details
    Browse the repository at this point in the history
  19. Add bzip2 port (emscripten-core#8353)

    msabramo authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    3bd09f6 View commit details
    Browse the repository at this point in the history
  20. Add .editorconfig (emscripten-core#8359)

    Mainly so that editors know that this project uses 2 space indents
    for Python instead of the more typical 4.
    msabramo authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    745c31b View commit details
    Browse the repository at this point in the history
  21. Configuration menu
    Copy the full SHA
    69c2e90 View commit details
    Browse the repository at this point in the history
  22. Add comment about shutil.unpack_archive (emscripten-core#8360)

    Add comment noting that `shutil.unpack_archive` can be used when the
    project moves to Python 3.
    msabramo authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    9c0fccb View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    03c2739 View commit details
    Browse the repository at this point in the history
  24. Configuration menu
    Copy the full SHA
    65544da View commit details
    Browse the repository at this point in the history
  25. Build libjpeg with -DBUILD_SHARED_LIBS=OFF in test code. NFC. (emscri…

    …pten-core#8363)
    
    This fixes the breakage with latest llvm upstream that honors `-fPIC`.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    2b2ab6b View commit details
    Browse the repository at this point in the history
  26. other.test_minimal_runtime_code_size: apply slop to code sizes (emscr…

    …ipten-core#8364)
    
    As there is a source of nondeterminism in the JS backend - LLVM IR text names affect asm.js names, which leads to difference code size, which leads to different code sizes. In particular, on the exact same fastcomp+emscripten I get 7 byte larger code sizes locally than the bots do. This appears to have gotten more random since the recent change to LLVM IR debug name changes, but it was probably a problem all along, just became more noticeable.
    
    This appears to be a JS backend issue, so it should not exist with the wasm backend, once we switch over.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    08105ed View commit details
    Browse the repository at this point in the history
  27. Added --no_private_browsing emrun argument (emscripten-core#8319)

    Added --no_private_browsing argument to emrun to allow running tests which require features which are disabled in private browsing modes (for example, indexeddb).
    titrindl authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    b8717e4 View commit details
    Browse the repository at this point in the history
  28. Pass --disable-shared when configuring building bullet (emscripten-co…

    …re#8381)
    
    Without this we were needlessly building a second copy of bullet with
    -fPIC.  This was causing an llvm crash running wasm0.test_the_bullet.
    
    We need to fix upstream llvm, but in the mean time we can fix the test
    by simply not build build in the shared library version of bullet.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    36b94e4 View commit details
    Browse the repository at this point in the history
  29. Configuration menu
    Copy the full SHA
    bcb5474 View commit details
    Browse the repository at this point in the history
  30. Set TARGET_SUPPORTS_SHARED_LIBS in cmake config (emscripten-core#8362)

    This means we don't need to specify -DBUILD_SHARED_LIBS=OFF since
    it will effectively be the default.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    009c8f6 View commit details
    Browse the repository at this point in the history
  31. Delete unused build_project method and move build_library to test/run…

    …ner.py. NFC. (emscripten-core#8379)
    
    build_library only had one non-test caller, and it turns out that
    was itself dead code.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    04a83ff View commit details
    Browse the repository at this point in the history
  32. give a clear error when TOTAL_MEMORY is not big enough (emscripten-co…

    …re#8369)
    
    (for all the static allocation + stack etc.)
    
    Not catching this early leads to late validation errors in asm2wasm.
    
    fixes WebAssembly/binaryen#1968
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    fabdd2a View commit details
    Browse the repository at this point in the history
  33. Fix warning in test_dylink_zlib (emscripten-core#8383)

    We this test we were using the library from emscripten ports but the
    header from the copy of zlib in the tests directory.
    
    This was resulting a consistent version mismatch.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    c7323da View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    b56a8c7 View commit details
    Browse the repository at this point in the history
  35. Move get_library helpers into test classes (emscripten-core#8385)

    These are essentially methods for some reason were defined as free
    functions.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    420b5e9 View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    29a7afa View commit details
    Browse the repository at this point in the history
  37. Configuration menu
    Copy the full SHA
    dd29b3b View commit details
    Browse the repository at this point in the history
  38. test wasm3.test_llvm_used (emscripten-core#8388)

    (Without this we don't test metadce + llvm.used anywhere)
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    f4d4d8b View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    18ebc84 View commit details
    Browse the repository at this point in the history
  40. Configuration menu
    Copy the full SHA
    8204c0e View commit details
    Browse the repository at this point in the history
  41. iprintf/small_printf opts using Emscripten OS triple in LLVM backend (e…

    …mscripten-core#8348)
    
    Use the new emscripten triple in LLVM. This lets us avoid needing to define __EMSCRIPTEN__ ourselves, and enables optimizations for iprintf (integer printf), __small_printf (printf with floats but not long double), and friends.
    
    Refactor/hack musl to have compact versions of those functions. To simplify things and avoid the duplicate code problem of having both printf and iprintf linked in (from separate object files) this uses an indirect call for fmt_fp (the key method that formats a floating point number) and pop_arg_long_double (a new method that pops a long double from the arguments). We then pass around either NULL or function pointers to the real implementation, e.g. iprintf sends NULL for both. This means an extra indirect call on them when they are actually used, but this is not too bad since fmt_fp is fairly heavy anyhow - adding an indirect call or two on top is probably not a huge deal.
    
    This also makes printf only use doubles for actual formatting. That is, it casts a float128 to a float64 for printing. This makes things simpler (no need to create two fmt_fps and avoids having duplicate code if both are linked in. This also keeps us consistent with how fastcomp prints currently, so this is not a regression. If users ask for full float128 printing, we can add it later (it has never come up so far).
    
    Code size wise, iprintf (no float support) is around 3K smaller, and small (just double, no long double) is around 750 bytes smaller. Full printf is larger than small because it has the code to cast a float128 to a double. Note that full printf now does not have long double printing at full precision, so we save 4K or so there.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    9e837aa View commit details
    Browse the repository at this point in the history
  42. Get MODULARIZE_INSTANCE working with USE_PTHREADS (emscripten-core#8372)

    This appears to have never worked, and was not tested.
    
    *    Ensure _scriptDir exists properly.
    *    Do not instantiate Module(), as this mode does so automatically.
    *    Add a test.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    a291091 View commit details
    Browse the repository at this point in the history
  43. wasm-backend: Handle namedGlobals in metadaa of wasm-emscripten-final…

    …ize (emscripten-core#8394)
    
    This is the way the MAIN_MODULE exports global addresses and one
    step towards working dynamic linking.
    
    See the corresponding binaryen change that must land after this one:
    WebAssembly/binaryen#1979
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    1423e30 View commit details
    Browse the repository at this point in the history
  44. Add --disable-shared to freetype build used in testing (emscripten-co…

    …re#8396)
    
    This fixes the current crash on the waterfall due to a bug in
    `wasm-ld --relocatable`.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    c4b5e3d View commit details
    Browse the repository at this point in the history
  45. Remove special compiler method for libcompiler_rt_wasm (emscripten-co…

    …re#8391)
    
    This dates back to when we needed the archive to contain .s
    files.
    
    We do still however require that compiler-rt be build as object
    files rather then bitcode files.  Having compiler-rt be part of the LTO
    causes causes lld link failures.
    
    See https://bugs.llvm.org/show_bug.cgi?id=41384
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    5c25fc5 View commit details
    Browse the repository at this point in the history
  46. Benchmark improvements (emscripten-core#8398)

    normalize too-short scores, handle 0 reps, general cleanup, prepare for wasm backend (disable MINIMAL_RUNTIME for now, but remember tests where it can be enabled soon)
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    15f323a View commit details
    Browse the repository at this point in the history
  47. Errno fixes (emscripten-core#8402)

     *   Use cDefine at compile time where possible, to avoid using ERRNO_CODES which closure errors on not being present (happens in later PRs; will be tested there).
     *   Translate node errnos and our syscall errnos directly (just need to be negated).
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    586dd66 View commit details
    Browse the repository at this point in the history
  48. Configuration menu
    Copy the full SHA
    c3ba604 View commit details
    Browse the repository at this point in the history
  49. Configuration menu
    Copy the full SHA
    4772328 View commit details
    Browse the repository at this point in the history
  50. Allow using wasm features (emscripten-core#8403)

    Gets the list of features as metadata['features'] from wasm-emscripten-finalize. It then passes those to the various invocations we do of binaryen tools.
    
    Also updates binaryen to version_77 for the binaryen side of things, and adds a TODO test (which passes on v8 master, but not node LTS yet).
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    9e2efb0 View commit details
    Browse the repository at this point in the history
  51. Make linpack test more robust (emscripten-core#8404)

    This reduces the noise there. But it is still surprisingly noisy.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    fc3dbcb View commit details
    Browse the repository at this point in the history
  52. Remove old TODO (emscripten-core#8412)

    This TODO is misleading as it was fixed in emscripten-core#8055.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    f666f9f View commit details
    Browse the repository at this point in the history
  53. Dynamic linking: export aliasee if not export all and if alias is exp…

    …orted (emscripten-core#8295)
    
    This ensures that calls to aliases work.
    waterlike86 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    dc90308 View commit details
    Browse the repository at this point in the history
  54. Working (but slow) support for pthreads + memory growth (emscripten-c…

    …ore#8365)
    
    (in wasm - no support in asm.js)
    
    Background: WebAssembly/design#1271
    
    * Add GROWABLE_HEAP_* methods that replace each load and store in JS. These safely check if memory grew, and updates the buffer and views if so. The JS optimizer is used to instrument the JS in this way, so it works for user JS as well.
    * Show a warning about the slowness during compilation.
    * Make sbrk etc. threadsafe.
     * Rewrite brk using sbrk, to avoid writing two pieces of threadsafe code.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    a8164ac View commit details
    Browse the repository at this point in the history
  55. Fix race conditions in browser testing (emscripten-core#8405)

    After investigation, one major source of our random errors is a test that reports multiple results, and they end up seen as results for the tests after them. We had assertions to prevent that but they didn't work :( Details:
    
    * Unify browser error reporting into a single browser_reporting.js file. Create a run_emcc_for_btest method that includes that code for our tests that run emcc manually
    * Error if we try to send more than one response back to the server.
    * Actually error on the server when that happens. We had this code before, but it just printed an exception and then it got swallowed in the python webserver code... I guess it doesn't want a single failed request to bring down the server? Anyhow, to do this we save a special message for the code outside to see, and error there where it actually makes the test fail.
    * Check for such excessive messages both before a test runs and after. When we error on such a thing, clear the queue so other tests afterwards do not fail too.
    * Do not allow a test to be both a reftest and have an expected value, and fix tests that tried to do weird stuff like that.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    d0a43bf View commit details
    Browse the repository at this point in the history
  56. Configuration menu
    Copy the full SHA
    8504599 View commit details
    Browse the repository at this point in the history
  57. Configuration menu
    Copy the full SHA
    bcf4f5f View commit details
    Browse the repository at this point in the history
  58. emar: Only use minimal name mangling (emscripten-core#8419)

    Previously we were mangling every single filename just in case it
    collided with another.  Now we only mangle names that would collide with
    existing names.
    
    This cost of this is that we need to read the archive contents on
    startup when that archive we are adding to already exists.  However we
    should actually expect a performance increase here since only files that
    collide will need to be copied.
    
    Another motivating factor for this change is that it makes linker errors
    more sensible since the filenames in the archives will match those on
    disk.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    4309b0c View commit details
    Browse the repository at this point in the history
  59. Separate STRICT from MINIMAL_RUNTIME (emscripten-core#8411)

    This allows us to add more incompatibility checking to the STRICT
    option without forcing it on all users or MINIMAL_RUNTIME.
    
    This is part of emscripten-core#8317.
    
    In particular we already already error on the use legacy settings
    when in STRICT mode, but I understand that at least on major user (@juj)
    wants to be able to continue to use legacy command line settings and
    also wants to use MINIMAL_RUNTIME.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    c2bb415 View commit details
    Browse the repository at this point in the history
  60. Configuration menu
    Copy the full SHA
    8623572 View commit details
    Browse the repository at this point in the history
  61. Remove unused JS globals for stdin/stdout/stderr (emscripten-core#8410)

    These globals are defined in musl C code so as far as I can tell
    are never used.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    178174f View commit details
    Browse the repository at this point in the history
  62. Configuration menu
    Copy the full SHA
    9b79ed1 View commit details
    Browse the repository at this point in the history
  63. Configuration menu
    Copy the full SHA
    3a2c80b View commit details
    Browse the repository at this point in the history
  64. Configuration menu
    Copy the full SHA
    e60da12 View commit details
    Browse the repository at this point in the history
  65. Don't refer to object files are bitcode. NFC. (emscripten-core#8425)

    Sometimes they are not.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    69a35b4 View commit details
    Browse the repository at this point in the history
  66. Configuration menu
    Copy the full SHA
    7ebca1b View commit details
    Browse the repository at this point in the history
  67. Fix test_dlfcn_self (emscripten-core#8427)

    This test has been broken for a long time now but was not running
    due to a bug in the use of decorators which was recently fixed in emscripten-core#8424
    so this test started failing.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    7e73471 View commit details
    Browse the repository at this point in the history
  68. Apply --whole-archive to groups of libraries, not just individual one…

    …s. NFC (emscripten-core#8420)
    
    This is reduces the number redundant argument on the linker command
    line. Mostly useful for EMCC_FORCE_STDLIBS=1 where all libraries are
    forced.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    f05c3d0 View commit details
    Browse the repository at this point in the history
  69. Configuration menu
    Copy the full SHA
    fb9b1dd View commit details
    Browse the repository at this point in the history
  70. benchmark improvements (emscripten-core#8414)

    * Use nontrapping-fptoint by default.
    * Recognize v8 (which is how jsvu names it, unlike when building v8 when it arrives as d8).
    * Add an EMBENCH_NAME env var in the benchmark runner, which is useful when running a single VM in each invocation of the benchmark suite.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    829a4db View commit details
    Browse the repository at this point in the history
  71. Remove duplication between libc.a and libc_rt_wasm.a. NFC. (emscripte…

    …n-core#8426)
    
    Without this its not possible to use --whole-archive around libc without
    introducing duplicate symbol error.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    8725504 View commit details
    Browse the repository at this point in the history
  72. Format NAMED_GLOBALS in generated JS. NFC. (emscripten-core#8432)

    Also fix misnamed `func` variable (it actually holds and i32 address)
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    12a5ae5 View commit details
    Browse the repository at this point in the history
  73. Configuration menu
    Copy the full SHA
    dd50abc View commit details
    Browse the repository at this point in the history
  74. Reorder when we render the pre js code in jsifier.js. (emscripten-cor…

    …e#8436)
    
    Doing it after libraries means we can know at pre render time which library code is included (which will enable later PRs to do useful things, like see if the FS object was included, and render appropriate code for it or not).
    
    Helps emscripten-core#8421
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    a13f12d View commit details
    Browse the repository at this point in the history
  75. Remove some closure compiler hacks (emscripten-core#8437)

    The hacks for GL are not just ugly, but also bad for code size in some cases, it turns out (apparently closure will not optimize as much in their presence).
    
    This is a step towards emscripten-core#8421, the changes for which end up causing closure to emit worse code if not for this PR.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    0439bc1 View commit details
    Browse the repository at this point in the history
  76. Configuration menu
    Copy the full SHA
    a365dba View commit details
    Browse the repository at this point in the history
  77. emrun stability improvements (emscripten-core#8456)

    These do not fix all the issues that lead to random test failures, but they do fix at least two:
    
    *    Send a sync message before doing window.close. Otherwise, the close and the message may race (e.g., the close may happen before the message is sent from the browser). In that case, we don't get the exit code, and exit with 0, which makes the test fail.
    *    Be careful with the initial ping ("pageload" message) to the server - the server may not be up yet, and if not, the xhr will throw immediately. Keep trying until that succeeds.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    629390f View commit details
    Browse the repository at this point in the history
  78. Fix filesystem/syscall optimization (emscripten-core#8438)

    Fixes emscripten-core#8421
    
    The problem there is that if we see too few syscalls for serious streams operations, then we don't emit filesystem support - but that's wrong if other code uses the filesystem in a non-syscall manner, like calling utimes.
    
    To fix that, we don't disable the whole filesystem when we see so few syscalls, rather we just note that SYSCALLS_REQUIRE_FILESYSTEM is false, and then emit no filesystem support in the syscalls themselves. This leaves other code free to include filesystem support if it needs to.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    645bdcc View commit details
    Browse the repository at this point in the history
  79. Configuration menu
    Copy the full SHA
    6ceb773 View commit details
    Browse the repository at this point in the history
  80. update changelog [ci skip]

    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    28606af View commit details
    Browse the repository at this point in the history
  81. Consistent handling -l and -L flags in -Wl, and -Wl,@rsp (ems…

    …cripten-core#8462)
    
    This means `-Wl,-lfoo` will result in the same behaviour as
    `-lfoo` and `-Wl,@rsp_with_lfoo.txt`
    
    Also warn when ignoring an unsupported linker flag.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    32d409f View commit details
    Browse the repository at this point in the history
  82. emscripten.py: optimize check_all_implemented. (emscripten-core#8453)

    make it more efficient and skip it entirely when possible
    waterlike86 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    cd07644 View commit details
    Browse the repository at this point in the history
  83. Configuration menu
    Copy the full SHA
    45427af View commit details
    Browse the repository at this point in the history
  84. Configuration menu
    Copy the full SHA
    6ace2e9 View commit details
    Browse the repository at this point in the history
  85. Configuration menu
    Copy the full SHA
    375e65a View commit details
    Browse the repository at this point in the history
  86. WebGL2 wait sync fixes (emscripten-core#8460)

    Handle the i64 constant in those function signatures.
    
    Fixes emscripten-core#8458
    coopersimon authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    44b7f4a View commit details
    Browse the repository at this point in the history
  87. Configuration menu
    Copy the full SHA
    be1e99f View commit details
    Browse the repository at this point in the history
  88. Add support for MAIN_MODULE/SIDE_MODULE with the wasm backend (emscri…

    …pten-core#8431)
    
    - Modify lld linker flags for SIDE_MODULE/MAIN_MODULE use cases
    - Implement `fp$xxx` as well as the existing `g$xxx` functions in the proxyHandler
    - bump binaryen version
    - add `--pic` flag to embuilder mirroring existing `--lto` flag 
    - compile relocatable code with `-fPIC` under wasm backend
    - use addWasmFunction() to add new functions to the table for each `fp$xxx` function that is called.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    7bb4aff View commit details
    Browse the repository at this point in the history
  89. Change ino_t/off_t to 64-bits (emscripten-core#8467)

    Related to emscripten-core#7649 (point 5) and subset of emscripten-core#7799
    
    * Update python.bc
    
    * Update output wasm sizes
    
    * Update wasm backend tests
    rianhunter authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    38b0ea3 View commit details
    Browse the repository at this point in the history
  90. Cleanup add_emscripten_metadata. NFC. (emscripten-core#8482)

    get_js_data() used to parse the JS but its since been refactored
    such that it can be removed.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    32d5af6 View commit details
    Browse the repository at this point in the history
  91. update changelog [ci skip]

    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    9d58245 View commit details
    Browse the repository at this point in the history
  92. Handle the get​Supported​Extensions() === null case (emscripten-core#…

    …8483)
    
    This can happen if the context was lost for example.
    hpohl authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    34cebc7 View commit details
    Browse the repository at this point in the history
  93. Followup to emscripten-core#8438 - fix dependencies problems that PR …

    …created (emscripten-core#8464)
    
    They just surfaced because of it - we were lucky before that they were not noticeable, since we included too much code, which hid things.
    
    *    Split up PATH into PATH and PATH_FS, where the latter depends on FS while the former does not. This allows code to use basic path functionality without getting the whole FS.
    *    Fix missing PATH dependencies through the codebase - turns out we missed them because FS depended on it, and we assumed that covered things (which it mostly does).
    *    Refactor syscall internals to move sockets code into the sockets syscall, so non-socket-using code doesn't get sockets + FS + all the support for that.
    *    Optimize syscall internals to not depend on ERRNO_CODES.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    6f080ae View commit details
    Browse the repository at this point in the history
  94. Fix conditional #include in js preprocessor (emscripten-core#8471)

    Previously we always did the include, and emitted it, even if we were in a block that was ifdefed out.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    2f6e69f View commit details
    Browse the repository at this point in the history
  95. Configuration menu
    Copy the full SHA
    a795155 View commit details
    Browse the repository at this point in the history
  96. Add PYTHON to emmake and emconfigure commands when building sdl2-mixer (

    emscripten-core#8490)
    
    This should fix the windows build where python scripts cannot be
    executed directly.
    
    Fixes: emscripten-core#8487
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    60210f7 View commit details
    Browse the repository at this point in the history
  97. Configuration menu
    Copy the full SHA
    c805f33 View commit details
    Browse the repository at this point in the history
  98. AUTODEBUG support for wasm files (emscripten-core#8472)

    The AUTODEBUG option previously only worked on bitcode files. It parsed them as text, adding instrumentation to log out operations for debug purposes, during the link step. But this doesn't work with wasm object files. This PR adds such support, in a different way - it runs the binaryen instrumentation passes.
    
    This has been incredibly useful in getting wasm2js working.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    57395a9 View commit details
    Browse the repository at this point in the history
  99. Remove assertion regarding exports['table'] (emscripten-core#8496)

    Emscripten wasm modules always import their wasm table and we don't look
    for a table in their list of exports.
    
    This assert was firing a if a module was to export a function or
    variable that happened to be called 'table'.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    10ba2cb View commit details
    Browse the repository at this point in the history
  100. emrun stability fix (emscripten-core#8504)

    If the browser process got detached, don't change behavior depending on whether we received messages or not, as that can be racy (depends if the messages managed to reach us in time or not). Instead, do the simple and robust behavior of continuing as if --serve_after_close was passed in.
    
    Should help with emscripten-core#8495 (but unclear if it fixes it or not).
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    e92a55f View commit details
    Browse the repository at this point in the history
  101. Update binaryen and fix tests (emscripten-core#8499)

    *    f32s are no longer legalized by binaryen
    *    Adding pthread_setcanceltype to pthread stubs (emscripten-core#8480) did not update the test properly, update it now.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    a89389d View commit details
    Browse the repository at this point in the history
  102. Skip test of wasm backend + relocatable + emu-fp-casts (emscripten-co…

    …re#8508)
    
    * Skip test of wasm backend + relocatable + emu-fp-casts
    
    See emscripten-core#8507
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    d6b1d39 View commit details
    Browse the repository at this point in the history
  103. Improve dylink test cases (emscripten-core#8493)

    - test_dylink_funcpointers: Rename test_dylink_static_funcpointers
      and use global scope rather than local volatile.
    - test_dylink_funcpointer: Cleanup and make sure the function is called
      from both the side and the main module.
    - test_dylink_funcpointer_float: Actually call a function from the side
      module (previously only NULL was passed).  I'm not sure this test
      was doing anything useful previously.
    - test_dylink_funcpointers_wrapper: Cleanup for clarity. Remove use of
      volatile and reuse of local variable.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    38882fa View commit details
    Browse the repository at this point in the history
  104. Fix WASM=0 warning in gen_struct_info (emscripten-core#8497)

    Also, try to give more meaning errors when embuilder fails.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    8d3b178 View commit details
    Browse the repository at this point in the history
  105. Update emdump.py to be able to collapse templates under one, and show…

    … diffs of only changed contents. (emscripten-core#8488)
    juj authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    5e27ed1 View commit details
    Browse the repository at this point in the history
  106. Configuration menu
    Copy the full SHA
    4a9a69a View commit details
    Browse the repository at this point in the history
  107. Enable rtti + dylib tests with wasm backend (emscripten-core#8510)

    Upstream llvm changes should have fixed these failures.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    da96266 View commit details
    Browse the repository at this point in the history
  108. If the user explicitly sets FILESYSTEM to 0, mark `SYSCALLS_REQUIRE…

    …_FILESYSTEM` as 0 too (emscripten-core#8524)
    
    Otherwise, we incorrectly try to use the filesystem in some cases, like the testcase added here with libc++ code. This also affected binaryen which is how I noticed.
    
    Followup to emscripten-core#8438 and emscripten-core#8464.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    4a1ab9e View commit details
    Browse the repository at this point in the history
  109. Configuration menu
    Copy the full SHA
    db9d9dc View commit details
    Browse the repository at this point in the history
  110. Configuration menu
    Copy the full SHA
    a4eea28 View commit details
    Browse the repository at this point in the history
  111. Fix broken telldir/seekdir testing (emscripten-core#8527)

    This test was using telldir() to get the offset of the second directory
    entry but then asserting that seekdir() rewound back to the first
    entry.
    
    Unfortunately when fixing this test it revealed that these function
    don't currently work under emscripten.   In fact telldir() always
    returns currently under emscripten and seekdir always rewinds to the
    beginning.
    
    See emscripten-core#8526
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    117ae30 View commit details
    Browse the repository at this point in the history
  112. Flesh out emscripten metadata (emscripten-core#8519)

    DYNAMICTOP_PTR and tempDoublePtr are no longer deterministically
    computable from STATIC_BUMP. Also GLOBAL_BASE is not always 1024.
    Pass these through emscripten metadata for third-party runtimes
    that consume Emscripten-generated WASM binaries.
    rianhunter authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    c25f8bc View commit details
    Browse the repository at this point in the history
  113. Fix emscripten_GetProcAddress with various suffixes (emscripten-core#…

    …8430)
    
    Create _ext_ versions of the webgl getprocaddress functions, that do not perform a strict lookup, and call them from emscripten_GetProcAddress.
    paraboul authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    c814f17 View commit details
    Browse the repository at this point in the history
  114. Cleanup test_export_aliasee (emscripten-core#8537)

    This test was testing a lot more than it needed to.  This simple
    reproducer also exposes the same issue.  Verified by temporarily
    reverting emscripten-core#8295.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    618caaa View commit details
    Browse the repository at this point in the history
  115. testing: Add support for C source files in runner.do_run_in_out_file_…

    …test (emscripten-core#8529)
    
    Honor the source file extension, which means that quite a few C++
    sources had to be renamed because they were called `.c`.
    
    Also, increase usage of do_run_in_out_file_test.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    4099f5b View commit details
    Browse the repository at this point in the history
  116. Configuration menu
    Copy the full SHA
    aed6acd View commit details
    Browse the repository at this point in the history
  117. Build gl separately for OFFSCREEN_FRAMEBUFFER (emscripten-core#8530)

    This lets a program use pthreads, but not OFFSCREEN_FRAMEBUFFER, and still work. Otherwise, the proxying code would have been reached anyhow, in the case that the context was created from JS. With this PR, it's not even linked in.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    7ca7823 View commit details
    Browse the repository at this point in the history
  118. Cleanup build_library test helper (emscripten-core#8543)

    This required a fix to the box2d build to remove an invalid pragma.
    This file no longer exists in box2d upstream so it shouldn't be a
    problem if we ever want to update.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    567697e View commit details
    Browse the repository at this point in the history
  119. Simplify handling of ll file generations in test code (emscripten-cor…

    …e#8378)
    
    - Remove or simplify test methods such as do_ll_run and ll_to_js
    - Make llvm_dis and llvm_as helpers less magical (always specify output)
    - Write temorary .ll files to current directory (avoids creating
      files in the source tree)
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    7d65c0c View commit details
    Browse the repository at this point in the history
  120. Rename legacy GL emulation related sloppy GL extension lookup functio…

    …ns to distance their usage from emscripten_webgl1/2_get_proc_address() functions (emscripten-core#8541)
    juj authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    f6a0888 View commit details
    Browse the repository at this point in the history
  121. Configuration menu
    Copy the full SHA
    6cce904 View commit details
    Browse the repository at this point in the history
  122. Fix getdents syscall to handle seekdir/telldir (emscripten-core#8540)

    Directory seeking was broken, this change makes syscall220() respect
    the current directory offset.
    rianhunter authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    2dd1b7b View commit details
    Browse the repository at this point in the history
  123. Configuration menu
    Copy the full SHA
    cd4f62e View commit details
    Browse the repository at this point in the history
  124. Show a clear error on -o pointing to an invalid directory. fixes emsc…

    …ripten-core#8549 (emscripten-core#8551)
    
    Without this, Python will give an error "no such file" when we try to write to that file, which can be confusing. Worse, this will happen on the first file we try to write to, which may be one of the helper files (.wasm, .mem, etc.), which is even more confusing.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    5d7247b View commit details
    Browse the repository at this point in the history
  125. Make STRICT=1 equivalent to EMCC_STRICT=1 in terms of legacy settings (

    …emscripten-core#8555)
    
    - Ensure that legacy settings are removed from the Settings dict under
      strict mode (not only with EMCC_STRICT=1 in the envrionment but also
      when STRICT=1 is passed on the command line).
    - Add test to verify that legacy settings are not available at runtime
      when in strict mode.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    b8d2bf1 View commit details
    Browse the repository at this point in the history
  126. LLVM wasm backend JS output using Binaryen wasm2js (emscripten-core#8501

    )
    
    This adds integration with binaryen's wasm2js tool to replace the wasm with JS code.
    
    * -s WASM=0 (with the wasm backend) turns on the internal flag WASM2JS, and re-enables WASM=1. Before, we just warned "we can't do JS, turning on WASM=1", so this is a change from before, but seems to be a harmless one.
    * Adds wasm2js.js, which is a sort-of-polyfill of the WebAssembly API from the JS point of view, enough to get us to load the wasm2js JS code.
    * Optionally uses closure compiler on the emitted JS code (in simple-opts mode, which is enough as this is in a function scope and pretty simple code, and not worth trying to make it advanced-opts friendly). This is ok since it isn't asm.js code that needs to validate. My hope is that using a stock minifier like closure we don't need to use custom JS optimization code, but I'm still investigating how well that works. So far the code is correct but not fully optimized.
    * Warns about wasm2js being experimental currently.
    * Uses a mem init file the same as JS builds do, that is, by default in -O2 and above, for the same reasons.
    * Add wasm2js* test modes, not run by default. They do pass locally, except for some issues still to be sorted out, namely the tests with massive switches (stack overflow in JS parsing) and the demangle stacks test (wasm backend lowers _ZN3 etc. into human-readable text, but we then end up using a mangled version of that in the JS, which is not great).
    *  Adds a core test test_wasm2js that is run by default, which ensures we don't break basic functionality.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    3d856e2 View commit details
    Browse the repository at this point in the history
  127. Remove OUTLINING_LIMIT (emscripten-core#8562)

    This option was useful for JS back when JS engines would bail on very large functions. In asm.js it became unimportant in browsers with AOT, and with wasm that's pretty much everyone.
    
    Also, this won't work in the LLVM wasm backend anyhow.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    fa0074e View commit details
    Browse the repository at this point in the history
  128. Show a clear assertion failure if thread initialization fails (emscri…

    …pten-core#8481)
    
    Without this PR we'dt call _emscripten_futex_wake which is not set up, and fail there, hiding the real error.
    VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    0d0a3dd View commit details
    Browse the repository at this point in the history
  129. Configuration menu
    Copy the full SHA
    c51f715 View commit details
    Browse the repository at this point in the history
  130. Fix SDL2 LTO (emscripten-core#8580)

    Refactor system_libs/run_build_command() to add cflags. This lets all the users of that code, which includes ports, automatically get cflags properly. (The issue here was the cflag for WASM_OBJECT_FILES being 0 for lto).
    
    This allows some cleanup and removal of other cflags additions that are no longer needed - one only needs to add cflags in system_libs and in ports if one does not call run_build_command.
    
    Also fix the sdl2_mixer port, which used ports.run_commands to run a single command ( so no need for using a worker pool), and which is not even an emcc build command. Just use run_process there normally.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    50b2dfe View commit details
    Browse the repository at this point in the history
  131. Update expectations for test_binaryen_metadce_hello under wasm backend (

    emscripten-core#8581)
    
    This change is caused by the upstream llvm change:
      https://reviews.llvm.org/D61772
    
    This change won't pass emscripten CI because it relies on the waterfall LKGR which
    needs to update first.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    2641ea8 View commit details
    Browse the repository at this point in the history
  132. Update binaryen to version_84 (emscripten-core#8585)

    This is needed to fix test_dylink_raii_exceptions on the waterfall.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    dc54a7e View commit details
    Browse the repository at this point in the history
  133. Add support for more detailed metadce expectations (emscripten-core#8583

    )
    
    Includes support for automatically updating the expectation files.
    
    Initial this is only for the "sent" functions, but can be extended
    to imports and exports later.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    b9a594b View commit details
    Browse the repository at this point in the history
  134. Configuration menu
    Copy the full SHA
    3c17301 View commit details
    Browse the repository at this point in the history
  135. Configuration menu
    Copy the full SHA
    5a3d982 View commit details
    Browse the repository at this point in the history
  136. [docs] fix broken link in Filesystem-API.rst (emscripten-core#8593) […

    …ci skip]
    
    The link to FS.ErrnoError was broken.
    bryangingechen authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    83bca46 View commit details
    Browse the repository at this point in the history
  137. Configuration menu
    Copy the full SHA
    2398daa View commit details
    Browse the repository at this point in the history
  138. Configuration menu
    Copy the full SHA
    f054894 View commit details
    Browse the repository at this point in the history
  139. Fix wasmlto* test modes on libraries (emscripten-core#8550)

    The wasmlto* modes set object files to 0, but we did not apply that to libraries that are built. So the bullet test was still building wasm object files, and linking them with the bitcode of the main file, etc.
    
    * Remove Building.COMPILER_TEST_OPTS entirely.
    * Add a mechanism to pass cflags to library building. We pass emcc flags there, with the exception of flags we know only matter for the main file, like --pre-js and --post-js. (This is indeed a minor hack, but it replaces a much larger one!)
    * With proper passing of cflags to libraries, wasmlto* will actually build the libraries in bullet etc. as bitcode, and not wasm object files (previously only the main file was bitcode).
    * Remove the zlib test's version line. It prints a hash of the cflags there, which would now change between test modes.
    
    This uncovered a related issue - when a test mode and a test both want to set a setting, they can conflict, and we don't have a clearly defined meaning to that. That is, if in a mode we set ASSERTIONS to on, and a test flips ASSERTIONS on or off, should that work or not? It's probably best to just not have such tests, as it's not meaningful. I added code to avoid that in the places where this caused test failures. To do that, this saves the test mode's settings in self.test_mode_settings, and then tests can easily check if it is ok to change a setting or not.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    91b6972 View commit details
    Browse the repository at this point in the history
  140. Tidy up js wrapper function generation. NFC. (emscripten-core#8603)

    This doesn't change anything but the formatting of the output JS
    file WRT to wrapper functions for native exports.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    ef686fb View commit details
    Browse the repository at this point in the history
  141. Add python3 version check (emscripten-core#8602)

    Turns out we can't run on 3.4 or below due to circular dependencies
    not working until 3.5.
    
    See https://www.quora.com/Are-circular-dependencies-allowed-in-python-3-5-but-not-in-3-4
    
    Fixes: emscripten-core#8570
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    0fd80a5 View commit details
    Browse the repository at this point in the history
  142. Configuration menu
    Copy the full SHA
    1a85480 View commit details
    Browse the repository at this point in the history
  143. Fix requestAnimationFrame in workers (emscripten-core#8586)

    Also make the legacy (mozRequestAnimationFrame etc.) stuff be behind the LEGACY_VM_SUPPORT flag, as it's extremely old at this point (it's even in IE10!).
    
    Update some related worker render tests.
    
    Update setTimeout docs for clarity wrt requestAnimationFrame.
    
    Add a test that verifies we call requestAnimationFrame properly, on the main thread and on workers.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    ae9ddc4 View commit details
    Browse the repository at this point in the history
  144. OffscreenCanvas: do not automatically try to return contexts from a w…

    …orker that is shutting down (emscripten-core#8578)
    
    As that cannot be done if the worker rendered, which is the normal case in fact.
    
    Also add a useful comment in related code.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    5521ad9 View commit details
    Browse the repository at this point in the history
  145. OffscreenCanvas: if OFFSCREEN_FRAMEBUFFER is off, we don't provide co…

    …ntext creation code in C (it's only for GL proxying) (emscripten-core#8579)
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    87770d1 View commit details
    Browse the repository at this point in the history
  146. Remove .commit() from OffscreenCanvas support (emscripten-core#8606)

    I thought we already removed it, but apparently not completely...
    
    This should fix current CI breakage on two OffscreenCanvas tests.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    02f7e58 View commit details
    Browse the repository at this point in the history
  147. Support minifyLocals in the JS optimizer even without asm.js. This wi…

    …ll let us use it in wasm2js (emscripten-core#8608)
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    10ae6e2 View commit details
    Browse the repository at this point in the history
  148. Strip out trailing zeros from wasm mem init files. (emscripten-core#8607

    )
    
    This helps wasm2js and pthreads currently, as those modes use a mem file.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    311ec74 View commit details
    Browse the repository at this point in the history
  149. Configuration menu
    Copy the full SHA
    d1aa9d0 View commit details
    Browse the repository at this point in the history
  150. Configuration menu
    Copy the full SHA
    0f9ccc5 View commit details
    Browse the repository at this point in the history
  151. Fix pthreads without OFFSCREEN_FRAMEBUFFER use of emscripten_webgl_ma…

    …ke_context_current (emscripten-core#8613)
    
    And add a complete test for both that and for emscripten_webgl_create_context in that mode (which also tests emscripten-core#8579)
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    507d879 View commit details
    Browse the repository at this point in the history
  152. Rename BINARYEN_ASYNC_COMPILATION -> WASM_ASYNC_COMPILATION (emscript…

    …en-core#8601)
    
    Also, add a mechanism for supporting renamed settings.  This enables
    users in non-strict mode to use old name for the settings, but users
    in strict mode must use the modern name.
    
    Part of emscripten-core#8317
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    9fe43d6 View commit details
    Browse the repository at this point in the history
  153. Allow wasm object files as input, even when WASM_OBJECT_FILES=0 is set (

    emscripten-core#8600)
    
    Specifying WASM_OBJECT_FILES=0 on the link line is current needed if
    one want to select LTO libraries.  However this should not exclude
    some input being wasm object files.
    
    Fixes emscripten-core#8599
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    4aa04c5 View commit details
    Browse the repository at this point in the history
  154. Update fetch API docs as streaming downloads are Firefox Only (emscri…

    …pten-core#8618)
    
    * Update fetch API documentation because streaming is Firefox only
    
    * Added note about EMSCRIPTEN_FETCH_STREAM_DATA being Firefox only
    VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    f8cee72 View commit details
    Browse the repository at this point in the history
  155. Improve sanity.test_llvm. NFC. (emscripten-core#8626)

    This test now passed with the llvm backend.
    sbc100 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    80f8c93 View commit details
    Browse the repository at this point in the history
  156. Configuration menu
    Copy the full SHA
    e1d3dfe View commit details
    Browse the repository at this point in the history
  157. Adding proper fsync errors signaling for pipes. (emscripten-core#8631)

    Returning EINVAL error when trying to call fsync on fd representing
    UNIX pipe.
    
    This fixes http://posixtest.sourceforge.net/ fsync/7-1 test.
    abujalski authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    23cdcfc View commit details
    Browse the repository at this point in the history
  158. Fix the dodgy call_sync_on_main_thread tests (emscripten-core#8621)

    Previously these tests weren't actually checking the right thing. This should fix the logic to what I think the author was trying to do.
    
    Fixes emscripten-core#8620.
    VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    15cda75 View commit details
    Browse the repository at this point in the history
  159. Configuration menu
    Copy the full SHA
    79a1955 View commit details
    Browse the repository at this point in the history
  160. Allow emscripten to use the minimal ubsan runtime (emscripten-core#8617)

    This works with the wasm backend, whether generating wasm or asm.js.
    
    Also added `emscripten_return_address` which implements the functionality of `__builtin_return_address` when running both wasm and asm.js.
    quantum5 authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    82292b5 View commit details
    Browse the repository at this point in the history
  161. 1.38.32

    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    3c9e831 View commit details
    Browse the repository at this point in the history
  162. Return detached threads to the pool (emscripten-core#8286)

    Once detached threads are finished their execution they emit the 'exit' command. Instead of a noop they should rejoin the pool.
    
    Resolves emscripten-core#8201.
    VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    eb37140 View commit details
    Browse the repository at this point in the history
  163. Fix temp file handling in js_optimizer (emscripten-core#8642)

    *    Make sure to note temp files that we create there. We missed one.
    *    Don't eagerly remove temp files there - they will be removed later anyhow. And we do need to keep alive the temp file that we return.
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    ad74b35 View commit details
    Browse the repository at this point in the history
  164. Don't try to handle complex things in dynamicAlloc, abort() on errors (

    …emscripten-core#8643)
    
    We only use this in JS during startup (before compiled code is ready to run). Other usages should call malloc/sbrk directly for the full functionality.
    
    Fixes emscripten-core#8637
    kripken authored and VirtualTim committed May 21, 2019
    Configuration menu
    Copy the full SHA
    a8c8706 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2019

  1. Configuration menu
    Copy the full SHA
    939695a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    79659e6 View commit details
    Browse the repository at this point in the history

Commits on May 24, 2019

  1. Configuration menu
    Copy the full SHA
    6ab9a00 View commit details
    Browse the repository at this point in the history