rossberg
2764fd8d1a
Steps towards unification of number bitset and range types.
...
- New invariant on union types: if the union has a range then the number
bits in the bitset must be cleared.
- Various tweaks in intersection and union to satisfy the invariant.
- Exposed and used representation bits in range types (and the Limits
helper class).
- Implemented Glb for ranges so that the Is predicate handles
ranges correctly.
- Change typer weakening so that it does not rely on GetRange.
However, the code still seems to be a bit fragile.
- Removed the Smi types from the type system core, instead introduced
Signed31, Unsigned30 and created constructors for Small(Un)Signed
that point to the right type for the architecture.
- Punched a hole in the config to be able to get to the isolate so
that it is possible to allocate heap numbers for newly created
ranges.
Patch by jarin@chromium.prg , original review here:
https://codereview.chromium.org/795713003/
TBR=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/837723006
Cr-Commit-Position: refs/heads/master@{#26197}
2015-01-21 15:29:22 +00:00
Benedikt Meurer
78ae35c022
[arm] Fix simulator stack size for mozilla/js1_5/extensions/regress-355497.
...
TBR=yangguo@chromium.org
BUG=v8:3837
LOG=n
Review URL: https://codereview.chromium.org/861233002
Cr-Commit-Position: refs/heads/master@{#26196}
2015-01-21 15:26:18 +00:00
bmeurer
4b31a97da3
Remove deprecated v8::base::OS::nan_value().
...
Use std::numeric_limits<double>::quiet_NaN() and
std::numeric_limits<float>::quiet_NaN() instead.
Review URL: https://codereview.chromium.org/864803002
Cr-Commit-Position: refs/heads/master@{#26195}
2015-01-21 14:38:58 +00:00
mstarzinger
65eb16178d
Add missing FrameState to JSTypedLoweringTester.
...
R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering/JSToNumberOfNumberOrOtherPrimitive
Review URL: https://codereview.chromium.org/862963002
Cr-Commit-Position: refs/heads/master@{#26194}
2015-01-21 14:33:56 +00:00
mstarzinger
9baa7e07f8
Drop TODO that no longer applies after refactoring.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/843563006
Cr-Commit-Position: refs/heads/master@{#26193}
2015-01-21 14:24:11 +00:00
mstarzinger
209b771431
Enable test coverage for test coverage.
...
R=titzer@chromium.org
TEST=mjsunit/compiler/opt-next-call-turbo
Review URL: https://codereview.chromium.org/822673003
Cr-Commit-Position: refs/heads/master@{#26192}
2015-01-21 14:07:19 +00:00
titzer
e1363512cd
[turbofan] Fix register allocator verifier to allow 1-input phis.
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/860363002
Cr-Commit-Position: refs/heads/master@{#26191}
2015-01-21 13:50:36 +00:00
dcarney
8521caba24
add some tests for HandleApiCall builtin
...
BUG=
Review URL: https://codereview.chromium.org/861053003
Cr-Commit-Position: refs/heads/master@{#26190}
2015-01-21 13:43:02 +00:00
verwaest
ac2b1cea97
Add a pretty printer to improve the error message non-function calls
...
BUG=259443
LOG=y
Review URL: https://codereview.chromium.org/861623002
Cr-Commit-Position: refs/heads/master@{#26189}
2015-01-21 13:40:41 +00:00
jkummerow
89dff787e3
KeyedStoreIC: support non-generic handling of Symbol keys
...
BUG=chromium:450475
LOG=n
Review URL: https://codereview.chromium.org/856333002
Cr-Commit-Position: refs/heads/master@{#26188}
2015-01-21 13:39:27 +00:00
mostynb
cc6c373e2a
convert compile-time checkable DCHECKs to STATIC_ASSERTs
...
Review URL: https://codereview.chromium.org/768683006
Cr-Commit-Position: refs/heads/master@{#26187}
2015-01-21 13:38:21 +00:00
machenbach
c6641e138b
Restrict tag-update for version generation to cached git repos.
...
Otherwise it's impossible to compile v8 without internet
connection.
BUG=chromium:446166
LOG=n
NOTRY=true
Review URL: https://codereview.chromium.org/856323002
Cr-Commit-Position: refs/heads/master@{#26186}
2015-01-21 13:02:39 +00:00
Benedikt Meurer
ee86227600
[arm] Fix sNaN quietening in the ARM simulator on IA-32.
...
TEST=msjunit/regress/regress-undefined-nan2
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/802243004
Cr-Commit-Position: refs/heads/master@{#26185}
2015-01-21 13:01:23 +00:00
Benedikt Meurer
5d641ec969
[arm] Work-around sNaN issue in ARM simulator builds on IA-32.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/861093003
Cr-Commit-Position: refs/heads/master@{#26184}
2015-01-21 10:29:12 +00:00
Michael Achenbach
322ba6d8f4
Whitespace CL to trigger bots.
...
Cr-Commit-Position: refs/heads/master@{#26183}
2015-01-21 10:08:51 +00:00
machenbach
a23ef7d88b
Remove presubmit bot from 'git cl try'.
...
'git cl try' is often executed before an lgtm was given - in
this case the bot always fails.
TBR=jochen@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/820463004
Cr-Commit-Position: refs/heads/master@{#26182}
2015-01-21 08:56:26 +00:00
yangguo
f807277b25
Remove implicit uint8_t to char cast in string replace.
...
R=jkummerow@chromium.org
BUG=446196
LOG=Y
Review URL: https://codereview.chromium.org/864753003
Cr-Commit-Position: refs/heads/master@{#26181}
2015-01-21 08:55:11 +00:00
Benedikt Meurer
9eace97bba
Use signaling NaN for holes in fixed double arrays.
...
TEST=mjsunit,cctest,unittests
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/863633002
Cr-Commit-Position: refs/heads/master@{#26180}
2015-01-21 08:52:25 +00:00
cdai2
3175d30249
X87: Fix issue with __proto__ when using ES6 object literals.
...
port bc3b2960e3
(r26172).
original commit message:
Fix issue with __proto__ when using ES6 object literals
It should be possible to create a concise method with the name
__proto__ without setting the [[Prototype]]. Similarly, property
name shorthands with the name __proto__ should define an own
property.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/856313002
Cr-Commit-Position: refs/heads/master@{#26179}
2015-01-21 08:31:27 +00:00
cdai2
207eae6022
X87: move CallApiFunctionAndReturn to code-stubs-*
...
port e62d974ba1
(r26167)
original commit message:
move CallApiFunctionAndReturn to code-stubs-*
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/861053002
Cr-Commit-Position: refs/heads/master@{#26178}
2015-01-21 08:30:06 +00:00
machenbach
ea6831e9de
Ensure tags are fetched when generating the V8 version.
...
This is needed so that version generation works after
bot_update fetched v8 in a chromium checkout.
TBR=tandrii@chromium.org
BUG=chromium:446166
LOG=n
Review URL: https://codereview.chromium.org/860163002
Cr-Commit-Position: refs/heads/master@{#26177}
2015-01-21 08:00:20 +00:00
cdai2
4a62f245ae
X87: fix debug checks for api callbacks returning symbols
...
port 3eb589976a
.
original commit message:
fix debug checks for api callbacks returning symbols
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/864733002
Cr-Commit-Position: refs/heads/master@{#26176}
2015-01-21 05:26:03 +00:00
titzer
1398078ab3
[turbofan] Pull ResizeMergeOrPhi into CommonOperatorBuilder and use in ControlReducer.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/859053002
Cr-Commit-Position: refs/heads/master@{#26175}
2015-01-20 18:23:43 +00:00
mstarzinger
bd7f546f11
Computed property names for object literals in TurboFan.
...
R=dslomov@chromium.org
TEST=mjsunit/harmony/computed-property-names
Review URL: https://codereview.chromium.org/860033002
Cr-Commit-Position: refs/heads/master@{#26174}
2015-01-20 16:52:58 +00:00
verwaest
65c01bdc64
Perform access checks on the prototype chain when setting an element through a setter
...
BUG=
Review URL: https://codereview.chromium.org/861773002
Cr-Commit-Position: refs/heads/master@{#26173}
2015-01-20 16:50:59 +00:00
arv
bc3b2960e3
Fix issue with __proto__ when using ES6 object literals
...
It should be possible to create a concise method with the name
__proto__ without setting the [[Prototype]]. Similarly, property
name shorthands with the name __proto__ should define an own
property.
BUG=v8:3818
LOG=Y
R=adamk, dslomov@chromium.org
Review URL: https://codereview.chromium.org/858673002
Cr-Commit-Position: refs/heads/master@{#26172}
2015-01-20 16:31:43 +00:00
machenbach
fc1007027e
Keep trybot definitions in sync with CQ.
...
"git cl try" should execute the same set of trybots as the
CQ.
Review URL: https://codereview.chromium.org/860043002
Cr-Commit-Position: refs/heads/master@{#26171}
2015-01-20 16:09:38 +00:00
verwaest
ba6e1746e8
Use RETURN_ON_EXCEPTION rather than .Assert when setting .length, which may fail due to stack overflow.
...
BUG=449447
LOG=n
Review URL: https://codereview.chromium.org/863693002
Cr-Commit-Position: refs/heads/master@{#26170}
2015-01-20 16:08:23 +00:00
machenbach
e26627e8da
Don't use -O3 with sanitizers.
...
BUG=chromium:430614
LOG=n
Review URL: https://codereview.chromium.org/798653006
Cr-Commit-Position: refs/heads/master@{#26169}
2015-01-20 16:07:22 +00:00
jkummerow
feffccca22
Profiler improvements
...
(1) --prof-cpp: Collects ticks like --prof, but ignores code creation events to reduce distortion (so all JS ticks will be "unaccounted"). Useful for profiling C++ code.
(2) --timed-range flag for tick processor: Ignores ticks before the first and after the last call to Date.now(). Useful for focusing on the timed section of a test.
Review URL: https://codereview.chromium.org/802333002
Cr-Commit-Position: refs/heads/master@{#26168}
2015-01-20 16:06:09 +00:00
dcarney
e62d974ba1
move CallApiFunctionAndReturn to code-stubs-*
...
BUG=
Review URL: https://codereview.chromium.org/860013002
Cr-Commit-Position: refs/heads/master@{#26167}
2015-01-20 16:05:05 +00:00
jochen
3fd5b96f3b
Revert of Make clang the default on linux. (patchset #2 id:20001 of https://codereview.chromium.org/781983002/ )
...
Reason for revert:
breaks arm and mips compilation on main waterfall
Original issue's description:
> Make clang the default on linux.
>
> TBR=jochen@chromium.org
>
> Committed: https://crrev.com/006b5c5cfd8517563601f331bc7a57e13bfeb202
> Cr-Commit-Position: refs/heads/master@{#26164}
TBR=machenbach@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/861553004
Cr-Commit-Position: refs/heads/master@{#26166}
2015-01-20 15:15:28 +00:00
mstarzinger
bcb42872a3
Computed property names for class literals in TurboFan.
...
R=dslomov@chromium.org
TEST=mjsunit/harmony/computed-property-names-classes
Review URL: https://codereview.chromium.org/861713004
Cr-Commit-Position: refs/heads/master@{#26165}
2015-01-20 15:03:28 +00:00
machenbach
006b5c5cfd
Make clang the default on linux.
...
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/781983002
Cr-Commit-Position: refs/heads/master@{#26164}
2015-01-20 15:01:09 +00:00
weiliang.lin
c63e994166
[x86] Avoid memory form of PUSH/CALL for ATOM.
...
Review URL: https://codereview.chromium.org/853703002
Cr-Commit-Position: refs/heads/master@{#26163}
2015-01-20 14:59:56 +00:00
jochen
d4a69500ed
Add initial support for v8_target_arch == "arm" to GN config
...
BUG=none
R=eseidel@chromium.org ,brettw@chromium.org,machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/863683002
Cr-Commit-Position: refs/heads/master@{#26162}
2015-01-20 14:34:08 +00:00
jkummerow
62f761903a
Replace generic KeyedStore stub with megamorphic version
...
This is a follow-up to https://codereview.chromium.org/859943003 .
Review URL: https://codereview.chromium.org/847963004
Cr-Commit-Position: refs/heads/master@{#26161}
2015-01-20 14:16:13 +00:00
dcarney
cae3a43d5b
ensure trace extension works from optimized code when profiler is not enabled
...
BUG=
Review URL: https://codereview.chromium.org/857953002
Cr-Commit-Position: refs/heads/master@{#26160}
2015-01-20 14:14:40 +00:00
Benedikt Meurer
622be8f71e
[x86] Use AVX in Crankshaft when available.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/860003002
Cr-Commit-Position: refs/heads/master@{#26159}
2015-01-20 13:59:25 +00:00
yangguo
f38e48be60
Use fast_sqrt instead of std::sqrt in simulators.
...
This prevents clang from inlining and returning inconsistent results.
R=bmeurer@chromium.org
BUG=v8:3802
LOG=N
Review URL: https://codereview.chromium.org/831393006
Cr-Commit-Position: refs/heads/master@{#26158}
2015-01-20 13:53:45 +00:00
verwaest
e99faf93ff
Remove ForceDelete
...
This method circumvented JS semantics, and should not be used.
BUG=
Review URL: https://codereview.chromium.org/854493004
Cr-Commit-Position: refs/heads/master@{#26157}
2015-01-20 13:41:31 +00:00
dcarney
3eb589976a
fix debug checks for api callbacks returning symbols
...
BUG=
Review URL: https://codereview.chromium.org/854363003
Cr-Commit-Position: refs/heads/master@{#26156}
2015-01-20 13:28:01 +00:00
mstarzinger
8e56bd79f6
Remove early bailout from Runtime_CompileOptimized.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/857853004
Cr-Commit-Position: refs/heads/master@{#26155}
2015-01-20 13:03:51 +00:00
bmeurer
655b112466
[ia32] Require SSE2.
...
This way we stay in sync with what Chromium does and we reduce the
number of bugs caused by 80-to-{32,64}-bit rounding errors. It's also
a requirement for switching to signaling NaN for FixedDoubleArray holes.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/864483002
Cr-Commit-Position: refs/heads/master@{#26154}
2015-01-20 12:53:51 +00:00
jkummerow
b1d1b7dd12
Let KeyedStoreIC go megamorphic (instead of generic) when the same map misses twice
...
BUG=v8:3826
LOG=n
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/859943003
Cr-Commit-Position: refs/heads/master@{#26153}
2015-01-20 12:49:45 +00:00
ulan
def7c53869
LCodeGen::CallKnownFunction gets the function in register.
...
There is no need to embed function pointer in code.
BUG=v8:3823
LOG=N
Review URL: https://codereview.chromium.org/817483005
Cr-Commit-Position: refs/heads/master@{#26152}
2015-01-20 11:38:52 +00:00
jochen
778c6f7fd7
Add d8 target to BUILD.gn
...
R=machenbach@chromium.org ,brettw@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/846743004
Cr-Commit-Position: refs/heads/master@{#26151}
2015-01-20 11:31:53 +00:00
machenbach
b925fc56de
Add no-test-harness mode to test driver.
...
BUG=
Review URL: https://codereview.chromium.org/855993003
Cr-Commit-Position: refs/heads/master@{#26150}
2015-01-20 10:17:33 +00:00
titzer
3442a5f9e0
[turbofan] First version of loop peeling.
...
BUG=
Review URL: https://codereview.chromium.org/816053002
Cr-Commit-Position: refs/heads/master@{#26149}
2015-01-20 09:45:17 +00:00
cdai2
76d62e836a
X87: add stub for api function calls with known number of parameters
...
port 8c990d1716
original commit message:
add stub for api function calls with known number of parameters
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/852263004
Cr-Commit-Position: refs/heads/master@{#26148}
2015-01-20 06:48:57 +00:00