- 04 May, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org BUG=chromium:608630 LOG=Y Review-Url: https://codereview.chromium.org/1943313002 Cr-Commit-Position: refs/heads/master@{#36008}
-
- 03 May, 2016 4 commits
-
-
ahaas authored
Additionally I removed some stale comments. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/1941323002 Cr-Commit-Position: refs/heads/master@{#35976}
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org BUG=chromium:605488 LOG=Y Review-Url: https://codereview.chromium.org/1940243002 Cr-Commit-Position: refs/heads/master@{#35974}
-
ahaas authored
Graph construction, graph scheduling, instruction selection, and register allocation has been moved to ExecuteCompilation, which will eventually be executed on the background threads. Code generation remains in FinishCompilation because it has to be executed by the main thread. Additionally, WasmCompilationUnits are finished more eagerly in wasm-module.cc to save memory. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/1942773002 Cr-Commit-Position: refs/heads/master@{#35973}
-
titzer authored
R=ahaas@chromium.org,binji@chromium.org BUG= Review-Url: https://codereview.chromium.org/1942873002 Cr-Commit-Position: refs/heads/master@{#35964}
-
- 02 May, 2016 2 commits
-
-
titzer authored
R=rossberg@chromium.org,ahaas@chromium.org BUG= Review-Url: https://codereview.chromium.org/1937083002 Cr-Commit-Position: refs/heads/master@{#35941}
-
clemensh authored
During ast decoding and turbofan graph construction, we explicitely pass the byte offset for all instructions which potentially trap. The byte offset is finally passed to the runtime function which throws the actual error, but it is not used there yet. The WasmGraphBuilder::Binop and Unop methods have a default value of -1 for the position, which allows for more compact code for all the functions which assemble bigger snippets from the primitive operations. Whenever the position is actually used for generating a trap, we check that it is not negative. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/1915123006 Cr-Commit-Position: refs/heads/master@{#35925}
-
- 29 Apr, 2016 5 commits
-
-
clemensh authored
In order to have a wasm object (as JSObject), this adds a method to instantiate the TestingModule. In order for this to work, the bytecode and the function names of the TestingModule are stored for usage during instantiation. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/1916403002 Cr-Commit-Position: refs/heads/master@{#35906}
-
clemensh authored
We now store the wasm object and the function index in the deoptimization data of the wasm Code object, and store an array with function names in the wasm object. This will make both the wasm module as well as the respective function name available from the code object. Tests will follow in https://codereview.chromium.org/1916403002. R=titzer@chromium.org, mstarzinger@chromium.org, machenbach@chromium.org Review-Url: https://codereview.chromium.org/1912103002 Cr-Commit-Position: refs/heads/master@{#35905}
-
clemensh authored
The output is once per module, and includes the size of relocation information. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/1933513003 Cr-Commit-Position: refs/heads/master@{#35900}
-
titzer authored
[wasm] Binary 11: Swap the order of section name / section length. [wasm] Binary 11: Shorter section names. [wasm] Binary 11: Add a prefix for function type declarations. [wasm] Binary 11: Function types encoded as pcount, p*, rcount, r* [wasm] Fix numeric names for functions. R=rossberg@chromium.org,jfb@chromium.org,ahaas@chromium.org BUG=chromium:575167 LOG=Y Review-Url: https://codereview.chromium.org/1896863003 Cr-Commit-Position: refs/heads/master@{#35897}
-
titzer authored
[wasm] Binary 11: br_table takes a value. [wasm] Binary 11: Add implicit blocks to if arms. [wasm] Binary 11: Add arities to call, return, and breaks [wasm] Binary 11: Add experimental version. This CL changes the encoder, decoder, and tests to use a postorder encoding of the AST, which is more efficient in decode time and space. R=bradnelson@chromium.org,rossberg@chromium.org,binji@chromium.org BUG=chromium:575167 LOG=Y Review-Url: https://codereview.chromium.org/1830663002 Cr-Commit-Position: refs/heads/master@{#35896}
-
- 28 Apr, 2016 1 commit
-
-
ahaas authored
I introduced a new flag, --wasm-parallel-compilation, which turns on parallel compilation of wasm modules. If parallel compilation is turned on, then the compilation of wasm functions is split into three phases, initialization, execution, and finalization. The execution phase is the phase which is going to contain all the code that can be executed in parallel. At the moment the execution phase is still empty. R=titzer@chromium.org Review-Url: https://codereview.chromium.org/1928933002 Cr-Commit-Position: refs/heads/master@{#35875}
-
- 26 Apr, 2016 3 commits
-
-
clemensh authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1910213004 Cr-Commit-Position: refs/heads/master@{#35796}
-
clemensh authored
This allows to also pass non-null-terminated values, and values containing null characters. Both might happen in wasm. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1911313002 Cr-Commit-Position: refs/heads/master@{#35795}
-
clemensh authored
Annotate call nodes in the TF graph with source code information in the form of byte offset relative to the wasm function start. The backend finally outputs those positions as RelocInfo. R=bmeurer@chromium.org, mstarzinger@chromium.org, titzer@chromium.org Review URL: https://codereview.chromium.org/1890803002 Cr-Commit-Position: refs/heads/master@{#35793}
-
- 21 Apr, 2016 4 commits
-
-
titzer authored
R=jfb@chromium.org,rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/1900153002 Cr-Commit-Position: refs/heads/master@{#35698}
-
titzer authored
R=bradnelson@chromium.org,aseemgarg@chromium.org BUG= Review URL: https://codereview.chromium.org/1909513002 Cr-Commit-Position: refs/heads/master@{#35695}
-
ahaas authored
This patch provides a new implementation of popcnt and ctz in the case where the platform does not provide these instructions. Instead of building a TF graph which implements it we now call a C function. Additionally I turned on additional tests in test-run-wasm-64.cc R=titzer@chromium.org Review URL: https://codereview.chromium.org/1857363003 Cr-Commit-Position: refs/heads/master@{#35685}
-
bradnelson authored
BUG= https://code.google.com/p/v8/issues/detail?id=4203 BUG= https://bugs.chromium.org/p/chromium/issues/detail?id=575167 TEST=None R=ahaas@chromium.org,isherman@chromium.org LOG=N Review URL: https://codereview.chromium.org/1895223004 Cr-Commit-Position: refs/heads/master@{#35680}
-
- 19 Apr, 2016 1 commit
-
-
clemensh authored
This prepares a patch to throw actual errors instead of just strings on wasm traps. In order to accomplish this, the messages need to be known to the runtime, as the generated code will just pass the message id. R=mstarzinger@chromium.org, titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/1880493002 Cr-Commit-Position: refs/heads/master@{#35628}
-
- 18 Apr, 2016 1 commit
-
-
titzer authored
R=bradnelson@chromium.org,aseemgarg@chromium.org BUG= Review URL: https://codereview.chromium.org/1895013002 Cr-Commit-Position: refs/heads/master@{#35598}
-
- 14 Apr, 2016 1 commit
-
-
bradnelson authored
Collecting: Time histograms for: instantiate, decode module, decode function, compile, compile function. Memory histograms for: decode peak, instantiate peak, compile function peak, min mem pages, max mem pages, function bytes, module bytes. Range histograms of: functions per module. BUG= https://code.google.com/p/v8/issues/detail?id=4203 BUG= https://bugs.chromium.org/p/chromium/issues/detail?id=575167 TEST=None R=ahaas@chromium.org,bmeurer@chromium.org LOG=N Review URL: https://codereview.chromium.org/1866873002 Cr-Commit-Position: refs/heads/master@{#35467}
-
- 13 Apr, 2016 1 commit
-
-
aseemgarg authored
This change implements switch as a balanced if/else tree or break table or hybrid. A lot of asm.js modules are expected to extensively use switch alongside function tables that can benefit from a better implementation. BUG=v8:4203 TEST=mjsunit/asm-wasm R=titzer@chromium.org,bradnelson@chromium.org,ahaas@chromium.org LOG=N Review URL: https://codereview.chromium.org/1838973002 Cr-Commit-Position: refs/heads/master@{#35455}
-
- 12 Apr, 2016 1 commit
-
-
jfb authored
The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. - Uses it appropriately. - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). - Fixes a bunch of incorrect formats. Original CL: https://codereview.chromium.org/1869433004 Reverted in: https://codereview.chromium.org/1867383002 Reverted again in: https://codereview.chromium.org/1877823003 Reverts due to non-CQ bots: - First: v8_win_dbg, v8_win64_dbg, v8_mac_dbg - Second: gc mole (added to v8_linux_rel_ng for this patch) R= jochen@chromium.org TBR= ahaas@chromium.org,bmeurer@chromium.org,yangguo@chromium.org Review URL: https://codereview.chromium.org/1872203005 Cr-Commit-Position: refs/heads/master@{#35423}
-
- 11 Apr, 2016 2 commits
-
-
https://codereview.chromium.org/1877453002/machenbach authored
Reason for revert: Breaks gc mole: https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/9421 Original issue's description: > Fix printf formats > > The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: > > - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. > - Uses it appropriately. > - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). > - Fixes a bunch of incorrect formats. > > Original CL: https://codereview.chromium.org/1869433004 > Reverted in: https://codereview.chromium.org/1867383002 > > R= jochen@chromium.org > TBR= bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org > > Committed: https://crrev.com/bf505329288e1b75bab0e6800371a9aac40fa5cc > Cr-Commit-Position: refs/heads/master@{#35394} TBR=jochen@chromium.org,ahaas@chromium.org,bmeurer@chromium.org,yangguo@chromium.org,jfb@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1877823003 Cr-Commit-Position: refs/heads/master@{#35396}
-
jfb authored
The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. - Uses it appropriately. - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). - Fixes a bunch of incorrect formats. Original CL: https://codereview.chromium.org/1869433004 Reverted in: https://codereview.chromium.org/1867383002 R= jochen@chromium.org TBR= bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org Review URL: https://codereview.chromium.org/1877453002 Cr-Commit-Position: refs/heads/master@{#35394}
-
- 08 Apr, 2016 2 commits
-
-
jfb authored
Revert of Fix printf formats (patchset #8 id:140001 of https://codereview.chromium.org/1869433004/ ) Reason for revert: One small issue easily fixed here: https://codereview.chromium.org/1867333003/ But it looks like MSVS 2013 doesn't like some of the formats and exists with the unhelpful: Stderr: f:\dd\vctools\crt\crtw32\stdio\output.c(1125) : Assertion failed: ("Incorrect format specifier", 0) It's easier to revert for now, I'll dig more into the docs: https://msdn.microsoft.com/en-us/library/56e442dc(v=vs.120).aspx https://msdn.microsoft.com/en-us/library/tcxf1dw6(v=vs.120).aspx And then resubmit, making sure I run these bots. Original issue's description: > Fix printf formats > > The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: > > - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. > - Uses it appropriately. > - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). > - Fixes a bunch of incorrect formats. > > R= jochen@chromium.org, bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org > > Committed: https://crrev.com/6ebf9fbb93d31f9be41156a3325d58704ed4933d > Cr-Commit-Position: refs/heads/master@{#35365} TBR=jochen@chromium.org,bmeurer@chromium.org,yangguo@chromium.org,ahaas@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1867383002 Cr-Commit-Position: refs/heads/master@{#35366}
-
jfb authored
The usage of __attribute__((format(x, y)) was either wrong or missing from multiple functions, leading to erroneous formats. This CL: - Imports PRINTF_FORMAT macro from Chrome's src/base/compiler-specific.h. - Uses it appropriately. - Imports Chrome's base/format_macros.h mainly to fix size_t formats (further cleanup could be done). - Fixes a bunch of incorrect formats. R= jochen@chromium.org, bmeurer@chromium.org, yangguo@chromium.org, ahaas@chromium.org Review URL: https://codereview.chromium.org/1869433004 Cr-Commit-Position: refs/heads/master@{#35365}
-
- 06 Apr, 2016 2 commits
-
-
ahaas authored
1) I moved the implementations of the wrapper functions into a new cc file so that I can use these wrapper functions in tests. 2) I made a generic test for all tests in test-run-calls-to-external-references.cc. In the new test we only compare the result of a function call through an external reference with the result of a direct function call. This is sufficient because we only want to test function calls through external references work here. The implementation of these functions are tested somewhere else. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1853123002 Cr-Commit-Position: refs/heads/master@{#35289}
-
titzer authored
R=ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1860103002 Cr-Commit-Position: refs/heads/master@{#35286}
-
- 05 Apr, 2016 2 commits
-
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org BUG= Review URL: https://codereview.chromium.org/1862633002 Cr-Commit-Position: refs/heads/master@{#35274}
-
titzer authored
R=ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1856413002 Cr-Commit-Position: refs/heads/master@{#35272}
-
- 04 Apr, 2016 1 commit
-
-
mbrandy authored
Fix additional cases where the AIX compiler reports that a variable may be used uninitialized. R=titzer@chromium.org, ahaas@chromium.org, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1853703003 Cr-Commit-Position: refs/heads/master@{#35243}
-
- 01 Apr, 2016 1 commit
-
-
jochen authored
We expect that the majority of malloc'd memory held by V8 is allocated in Zone objects. Introduce an Allocator class that is used by Zones to manage memory, and allows for querying the current usage. BUG=none R=titzer@chromium.org,bmeurer@chromium.org,jarin@chromium.org LOG=n TBR=rossberg@chromium.org Review URL: https://codereview.chromium.org/1847543002 Cr-Commit-Position: refs/heads/master@{#35196}
-
- 30 Mar, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org BUG= Review URL: https://codereview.chromium.org/1839333002 Cr-Commit-Position: refs/heads/master@{#35134}
-
- 23 Mar, 2016 1 commit
-
-
bradnelson authored
Properly convert unsigned literals. Forbid using unary + on a kAsmInt. Forbid multiplies other than * 1.0 as being equivalent to unary +. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=test-asm-validator,asm-wasm R=titzer@chromium.org,aseemgarg@chromium.org LOG=N Review URL: https://codereview.chromium.org/1832603002 Cr-Commit-Position: refs/heads/master@{#35046}
-
- 21 Mar, 2016 2 commits
-
-
jfb authored
Flags --dump_wasm_module and --dump_wasm_module_path=/path/to/folder allow us to run a bunch of tests and capture all of the wasm module files including the ones that come from the .js and .cc tests which are built on the fly, as well as the asm2wasm tests. The files are all uniquely named `HASH.{ok,failed}.wasm`. This will be especilly useful for fuzz testing, but could also be used for other tests including non-V8 tests. For now I manually hacked tools/testrunner/local/execution.py so that tools/run-tests.py can output the modules. We may want to ad a flag to run-tests.py proper if this turns out to be useful. R=bradnelson@chromium.org, titzer@chromium.org, kcc@chromium.org Review URL: https://codereview.chromium.org/1816583003 Cr-Commit-Position: refs/heads/master@{#34968}
-
bradnelson authored
Add missing conversions from other types to f32 in fround. Restrict fround() to only float, double, signed, unsigned (no unions / intish). Restrict Bitwise operations to intish, particularly |0, when not applied to a foreign function. Adding more exhaustive tests of stdlib Math, move to a separate file. Adding tests of interesting values for the stdlib asm.js functions. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 TEST=test-asm-validator,asm-wasm R=titzer@chromium.org,rossberg@chromium.org LOG=N Review URL: https://codereview.chromium.org/1804243003 Cr-Commit-Position: refs/heads/master@{#34967}
-
- 17 Mar, 2016 1 commit
-
-
titzer authored
R=ahaas@chromium.org,mtrofin@chromium.org BUG= Review URL: https://codereview.chromium.org/1802353002 Cr-Commit-Position: refs/heads/master@{#34843}
-