v8/test/unittests
Clemens Hammacher 9dd6f0d089 Fix is_trivially_copyable check for MSVC and older stdlibc++
MSVC 2015 and 2017 implement std::is_trivially_copyable, but not
correctly. Hence, reimplement it using more low-level primitives.

For stdlibc++ versions below 5.0, we already have a workaround for the
missing support of std::is_trivially_copyable, but this is an unsound
approximation, because it is ignoring move constructor, move assignment
and copy assignment. Therefore, do not use this approximation for
asserting trivial copyability of a type.

Finally, add unittests for the new is_trivially_copyable
implementations.

R=mstarzinger@chromium.org
CC=loorongjie@gmail.com

Change-Id: I9ee56a65882e8c94b72c9a2d484edd27963a5d89
Reviewed-on: https://chromium-review.googlesource.com/941521
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#51651}
2018-03-01 13:05:12 +00:00
..
api [v8 platform] Get rid of unused ExpectedRuntime parameter. 2018-03-01 10:35:42 +00:00
asmjs Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
base Fix is_trivially_copyable check for MSVC and older stdlibc++ 2018-03-01 13:05:12 +00:00
compiler [cleanup] Rename Word to Int32/IntPtr depending on context 2018-02-23 14:34:07 +00:00
compiler-dispatcher [v8 platform] Get rid of unused ExpectedRuntime parameter. 2018-03-01 10:35:42 +00:00
heap Add V8.GC.ParallelTaskLatencyMicroSeconds metric. 2018-02-06 21:53:49 +00:00
interpreter Move exception handler table into instruction stream. 2018-02-27 10:20:35 +00:00
libplatform Reland "[platform] Implement TaskRunners in the DefaultPlatform" 2017-11-15 12:35:54 +00:00
parser Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
wasm [wasm] Introduce Tier enum to replace the current is_liftoff flag 2018-03-01 08:56:00 +00:00
zone [data structures] Fix ZoneChunkList some more. 2018-02-23 14:20:07 +00:00
allocation-unittest.cc [memory] Add a test for RX page permission. 2018-02-16 21:52:44 +00:00
bigint-unittest.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
BUILD.gn [turbofan] Inline promise constructor in turbofan. 2018-02-20 09:01:51 +00:00
cancelable-tasks-unittest.cc
char-predicates-unittest.cc
code-stub-assembler-unittest.cc
code-stub-assembler-unittest.h
counters-unittest.cc [test] Allow two timing output to be the same 2018-02-12 16:37:46 +00:00
DEPS
detachable-vector-unittest.cc
eh-frame-iterator-unittest.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
eh-frame-writer-unittest.cc Normalize casing of hexadecimal digits 2017-12-02 01:24:40 +00:00
locked-queue-unittest.cc
object-unittest.cc Work on -Wimplicit-fallthrough for v8 2018-02-16 13:32:25 +00:00
register-configuration-unittest.cc
run-all-unittests.cc [cleanup] use unique_ptr for the DefaultPlatform 2017-11-14 09:57:18 +00:00
source-position-table-unittest.cc Decouple SourcePositionTableBuilder from Zone 2017-11-21 12:56:13 +00:00
test-helpers.cc [unittests] Add TestWithIsolate::RunJS helper method 2017-11-13 14:27:51 +00:00
test-helpers.h [unittests] Add TestWithIsolate::RunJS helper method 2017-11-13 14:27:51 +00:00
test-utils.cc Reland "[bigint] Add BigInt64Array, BigUint64Array" 2018-02-19 10:23:18 +00:00
test-utils.h [RCS] Add explicit tests for function callbacks 2017-11-14 09:48:08 +00:00
testcfg.py [test] Remove dead code from suites and tests 2018-02-01 14:12:49 +00:00
unicode-unittest.cc Consolidate UTF-8 Vector<char> to uc16 decoding into Iterator 2018-02-20 20:04:41 +00:00
unittests.isolate [test] Move GoogleTestSuite to a separate testcfg. 2017-12-11 20:57:07 +00:00
unittests.status [test] Skip flaky test on windows 2018-02-23 18:45:28 +00:00
utils-unittest.cc Reland "MIPS[64] Implementation of MSA instructions on builtin simulator" 2017-11-28 13:43:23 +00:00
value-serializer-unittest.cc [test][cleanup] Clean up value-serializer-unittest.cc 2018-02-27 02:05:55 +00:00