Commit Graph

20689 Commits

Author SHA1 Message Date
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