summaryrefslogtreecommitdiff
path: root/src/support
Commit message (Collapse)AuthorAgeFilesLines
* wasm-reduce tool (#1139)Alon Zakai2017-09-012-1/+20
| | | Reduce an interesting wasm to a smaller still interesting wasm. This takes an arbitrary command to run, and reduces the wasm as much as it can while keeping the behavior of that command fixed. This can be used to reduce compiler bugs in an arbitrary VM, etc.
* Get wasm2asm building again (#1107)Thomas Lively2017-08-021-0/+7
| | | | | | | | | | | | | | | | | | * Get wasm2asm building again Updates CMakeLists.txt to have wasm2asm built by default, updates wasm2asm.h to account for recent interface changes, and restores JSPrinter functionality. * Implement splice for array values * Clean up wasm2asm testing * Print semicolons after statements in blocks * Cleanups and semicolons for condition arms * Prettify semicolon emission
* Fix wasm::read_file() to read correctly sized input strings in text mode. ↵juj2017-07-181-0/+6
| | | | (#1088)
* SSA pass (#1049)Alon Zakai2017-06-131-0/+55
| | | | | | | * Add SSA pass which ensures a single assign for each local, except for merged locals where we ensure exactly a single assign from one of the paths leading to that use * Also add InstrumentLocals pass, useful for debugging locals (similar to InstrumentMemory but for locals) * Fix a PickLoadSigns bug with tees not being ignored, which was not noticed until now because we ran it on flatter output by default, but the ssa pass uncovered the bug
* Log callImport fatal error to cerr so it is not buffered. (#1036)Sam Clegg2017-06-121-1/+3
| | | | | | | Use Fatal() rather than stdout or report callImport error Without this the write to stdout can be lost (Since the following line aborts)
* Fix build with gcc 7 (#957)Morris Hafner2017-03-291-0/+1
| | | | 1. Add a missing <functional> include 2. Put the // fallthrough comment after the closing bracket so the compiler does not emit a implicit fallthrough warning.
* New binaryen.js (#922)Alon Zakai2017-03-241-0/+4
| | | New binaryen.js implementation, based on the C API underneath and with a JS-friendly API on top. See docs under docs/ for API details.
* Fully handle EM_ASM in s2wasm (#910)jgravelle-google2017-02-231-0/+58
| | | | | | | | | | | | * Fully handle EM_ASM in s2wasm * Iterate with size_ts, remember to erase from importsMap as well * Fix dot_s test EM_ASM signatures * Move Name out to its own file, support/name.h * Move removeImportsWithSubstring out of Module class
* optimize linear sums (#904)Alon Zakai2017-02-161-1/+1
|
* Remove unused captures to fix warnings/errors when compiling with Clang (#896)Eric Holk2017-02-031-2/+1
|
* more consistent placement of & and *, on the type (#848)Alon Zakai2016-11-281-15/+15
|
* Wrap description (#839)Loo Rong Jie2016-11-283-5/+32
|
* Fix Windows colors (#833)Loo Rong Jie2016-11-111-3/+2
| | | | * Fix Windows colors and update README.md
* Use steady_clock to measure code execution time (#776)Loo Rong Jie2016-10-171-3/+3
|
* Fix crash when loading archive files, dereferencing iterator .end() is ↵juj2016-10-141-7/+3
| | | | undefined behavior. (#769)
* Fix crash on loading archives, firstRegularData member field was not ↵juj2016-10-131-1/+1
| | | | initialized to null which caused dereferencing a garbage pointer. (#770)
* ensure we create the OptimizeInstructions database on demand, avoiding ↵Alon Zakai2016-09-071-0/+18
| | | | global ctors
* if we don't recognize the platform in colors.h, just do nothing for colorsAlon Zakai2016-09-071-0/+9
|
* Color support for Windows (#693)Loo Rong Jie2016-09-072-8/+34
|
* Replace std::unique<T>(new T()) with make_unique<T>().Logan Chien2016-08-261-3/+4
| | | | | | | | | | | | | | | | This commit modernize the code base by replacing: std::unique_ptr<T>(new T(...)) with: make_unique<T>(...) or: wasm::make_unique<T>(...) This is a step closer to adopt C++14 std::make_unique<T>(...).
* add support for symbol assignments, closes #4422 (#615)Dominic Chen2016-07-111-1/+1
| | | Adds support for aliases to objects, to go along with the existing support for aliases to functions.
* Build fixes/workarounds to support Visual Studio 2013 build, which has ↵juj2016-06-213-3/+4
| | | | trouble with some new C++11 constructs. (#581)
* use WASM_UNUSED in some places to fix compiler warning/error on unused ↵Alon Zakai2016-06-081-0/+2
| | | | variables we only use in asserts (#579)
* refactor a getNumCores methodAlon Zakai2016-06-022-5/+12
|
* add hash utility, and support for hashing and comparing expressionsAlon Zakai2016-05-281-0/+39
|
* tweak learning index pickingAlon Zakai2016-05-171-2/+1
|
* add genetic learnerAlon Zakai2016-05-171-0/+113
|
* add timer classAlon Zakai2016-05-161-0/+55
|
* Fix Visual Studio 2015 warnings about casting from double to int32_t in ↵BSalita2016-05-121-2/+2
| | | | safe_integer.cpp (#480)
* Fix Visual Studio 2015 C++ warning about negating unsigned value by adding ↵BSalita2016-05-111-4/+4
| | | | typename U in bits.h (#471)
* use CMAKE_THREAD_LIBS_INIT as a target link library, which unbreaks breakage ↵Alon Zakai2016-05-071-0/+1
| | | | from #390 (#450)
* Use more static libraries in the CMake build (#451)Derek Schuff2016-05-071-0/+10
| | | | | | | | | | | * Factor passes and emscripten-optimizer into static libs This removes the redundancies from the source sets in the main CMakeLists.txt. * Make passes an object lib * Use static libs with --whole-archive because Travis has old cmake
* make print flags in archive.cpp nicer (#437)Alon Zakai2016-05-051-2/+2
|
* fix archive.cpp on 32-bitAlon Zakai2016-05-051-1/+1
|
* [Linker] Handle archive filesDerek Schuff2016-05-052-0/+344
| | | | | | | | Add a class to parse archive files. Support linking archive files, with archive semantics (i.e. an archive member is linked in if it satisfies an undefined reference). Archive files must be gnu-format archives containing .s files. Add tests for linking semantics.
* Fix signed integer overflow UB (#430)JF Bastien2016-05-031-1/+1
| | | This puts us back where #404 wanted to be: all UB that ubsan knows about now causes an abort. This ins't to say that it's all gone, merely that our tests don't trigger any more UB which ubsan knows how to find :-)
* Fix {i32,i64}.trunc_{s,u}/{f32,f64} in interpreter (#421)Ben Smith2016-05-022-0/+102
| | | | Check the binary representation of the float instead of converting it to a float first.
* Changed type of flags to fix Visual Studio 2015 error (#418)BSalita2016-04-301-1/+1
| | | Changed type of flags (line 26) in read_file() from auto to std::ios_base::openmode to fix Visual Studio 2015 error.
* Add missing algorithm and string headersJF Bastien2016-04-231-0/+2
| | | As in #382.
* Merge pull request #377 from WebAssembly/zero_x_bAlon Zakai2016-04-211-1/+1
|\ | | | | More 0xb work
| * fix file size for binary files readAlon Zakai2016-04-211-1/+1
| |
* | Move wasm-linker into its own cpp file (#375)Derek Schuff2016-04-211-0/+4
|/ | | | | | | Still making things nicer for #370 Pulling wasm-linker into its own file also necessitated pulling asm_v_wasm.h into a cpp file. It goes into a new lib directory, src/asmjs. No actual code changes in this PR.
* Move Fatal into utilities.h (#376)Derek Schuff2016-04-211-0/+18
| | | | | Follow-on from #372. Probably we should do even better for error handling, and that might mean a cpp file in support, but for now this is a small improvement.
* Factor linker-related functionality of S2WasmBuilder into its own class (#372)Derek Schuff2016-04-211-0/+6
| | | | | This is the first of a couple of refactorings in for #370 No functionality change, and minimal code change to make it work.
* fix ThreadPool::size, we don't have any thread objects created if there is ↵Alon Zakai2016-04-181-1/+1
| | | | just one core, since then we run it all on the main thread anyhow
* allow limiting # of cores in thread pool, useful for debuggingAlon Zakai2016-04-181-0/+3
|
* Function parallelism (#343)Alon Zakai2016-04-152-0/+288
| | | | * allow traversals to mark themselves as function-parallel, in which case we run them using a thread pool. also mark some thread-safety risks (interned strings, arena allocators) with assertions they modify only on the main thread
* Properly align the stack pointerDerek Schuff2016-04-061-0/+13
| | | | | | | | | | | | * Properly align the stack pointer By default (if no global base is given) the global base is 1, which seems wrong. In this case the stack pointer gets an address of 1, which is unaligned and definitely wrong. So, start the global base at 0 instead of 1 by default and align the stack pointer. Also factor allocation of statics into a function. * unconditionally allocate stack pointer; explicitly reserve address 0
* refactor file flags into enumsAlon Zakai2016-03-312-12/+24
|
* set the binary bit on files we need to open in binary modeAlon Zakai2016-03-312-11/+16
|