v8/src/wasm
clemensh 0406620c6c Revert of [base] Define CHECK comparison for signed vs. unsigned (patchset #5 id:80001 of https://codereview.chromium.org/2526783002/ )
Reason for revert:
Need to revert previous CL because of Android compile error, and this one depends in it.

Original issue's description:
> [base] Define CHECK comparison for signed vs. unsigned
>
> The current CHECK/DCHECK implementation fails statically if a signed
> value is compared against an unsigned value. The common solution is to
> cast on each caller, which is tedious and error-prone (might hide bugs).
> This CL implements signed vs. unsigned comparisons by executing up to
> two comparisons. For example, if i is int32_t and u is uint_32_t, a
> DCHECK_LE(i, u) would create the check
> i <= 0 || static_cast<uint32_t>(i) <= u.
> For checks against constants, at least one of the checks can be removed
> by compiler optimizations.
>
> The tradeoff we have to make is to sometimes silently execute an
> additional comparison. And we increase code complexity of course, even
> though the usage is just as easy (or even easier) as before.
>
> The compile time impact seems to be minimal:
> I ran 3 full compilations for Optdebug on my local machine, one time on
> the current ToT, one time with this CL plus http://crrev.com/2524093002.
> Before: 143.72 +- 1.21 seconds
> Now: 144.18 +- 0.67 seconds
>
> In order to check that the new comparisons are working, I refactored
> some DCHECKs in wasm to use the new magic.
>
> R=bmeurer@chromium.org, titzer@chromium.org
>
> Committed: https://crrev.com/5925074a9dab5a8577766545b91b62f2c531d3dc
> Cr-Commit-Position: refs/heads/master@{#41275}

TBR=ishell@chromium.org,titzer@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/2531533003
Cr-Commit-Position: refs/heads/master@{#41277}
2016-11-24 19:51:09 +00:00
..
ast-decoder.cc Revert of [base] Define CHECK comparison for signed vs. unsigned (patchset #5 id:80001 of https://codereview.chromium.org/2526783002/ ) 2016-11-24 19:51:09 +00:00
ast-decoder.h [wasm] Implement official wasm text format 2016-11-22 11:59:56 +00:00
decoder.h [wasm] Fix decoder for null data 2016-10-12 09:11:52 +00:00
leb-helper.h
managed.h [wasm] Use a Managed<WasmModule> to hold metadata about modules. 2016-10-19 13:07:22 +00:00
module-decoder.cc [wasm] Be more lenient on the names section. 2016-11-15 20:55:55 +00:00
module-decoder.h [wasm] Allocate a single script per wasm module 2016-11-15 17:05:39 +00:00
OWNERS
signature-map.cc [wasm] Canonicalize function signature indices for matching in indirect calls. 2016-10-11 12:40:33 +00:00
signature-map.h [wasm] Indirect calls without function table cause validation errors. 2016-11-09 08:37:44 +00:00
wasm-debug.cc Revert of [base] Define CHECK comparison for signed vs. unsigned (patchset #5 id:80001 of https://codereview.chromium.org/2526783002/ ) 2016-11-24 19:51:09 +00:00
wasm-external-refs.cc [turbofan] Do constant folding for Float64Pow. 2016-09-13 07:10:40 +00:00
wasm-external-refs.h [wasm] Use a C wrapper function to calculate F64Pow. 2016-07-20 14:27:06 +00:00
wasm-interpreter.cc Revert of [base] Define CHECK comparison for signed vs. unsigned (patchset #5 id:80001 of https://codereview.chromium.org/2526783002/ ) 2016-11-24 19:51:09 +00:00
wasm-interpreter.h [wasm] Track in the interpreter if a NaN could have been produced. 2016-10-20 14:27:45 +00:00
wasm-js.cc [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects. 2016-11-23 20:44:29 +00:00
wasm-js.h [wasm] Move all heap-allocated WASM structures into wasm-objects.h. 2016-11-11 11:13:17 +00:00
wasm-macro-gen.h [asmjs] Do constant folding for I32Asmjs(Div|Rem)S to avoid checks of constant divisors 2016-10-27 16:02:54 +00:00
wasm-module-builder.cc [wasm] Be more lenient on the names section. 2016-11-15 20:55:55 +00:00
wasm-module-builder.h [wasm] Provide better stack traces for asm.js code 2016-10-12 09:17:28 +00:00
wasm-module.cc Revert of [base] Define CHECK comparison for signed vs. unsigned (patchset #5 id:80001 of https://codereview.chromium.org/2526783002/ ) 2016-11-24 19:51:09 +00:00
wasm-module.h Revert of [base] Define CHECK comparison for signed vs. unsigned (patchset #5 id:80001 of https://codereview.chromium.org/2526783002/ ) 2016-11-24 19:51:09 +00:00
wasm-objects.cc Revert of [base] Define CHECK comparison for signed vs. unsigned (patchset #5 id:80001 of https://codereview.chromium.org/2526783002/ ) 2016-11-24 19:51:09 +00:00
wasm-objects.h [wasm] WebAssembly.Memory object can be referenced by multiple Instance objects. 2016-11-23 20:44:29 +00:00
wasm-opcodes.cc [wasm] add atomic opcodes 2016-10-26 20:28:44 +00:00
wasm-opcodes.h [wasm] add atomic opcodes 2016-10-26 20:28:44 +00:00
wasm-result.cc [wasm] Implement {Compile,Runtime}Error; fix traps from start function 2016-10-13 16:18:10 +00:00
wasm-result.h Make unittests work in component build 2016-10-17 10:02:06 +00:00
wasm-text.cc Revert of [base] Define CHECK comparison for signed vs. unsigned (patchset #5 id:80001 of https://codereview.chromium.org/2526783002/ ) 2016-11-24 19:51:09 +00:00
wasm-text.h [wasm] Implement official wasm text format 2016-11-22 11:59:56 +00:00