mstarzinger
d2e424afb8
Avoid unintentional optimization of hot builtins by TurboFan.
...
R=titzer@chromium.org
TEST=mjsunit/regress/regress-crbug-451016
BUG=chromium:451016
LOG=N
Review URL: https://codereview.chromium.org/817293005
Cr-Commit-Position: refs/heads/master@{#26229}
2015-01-22 18:52:15 +00:00
mstarzinger
3dc77aac9d
Enable inlining test that now works with control reducer.
...
R=titzer@chromium.org
TEST=cctest/test-run-inlining/InlineLoopGuardedEmpty
Review URL: https://codereview.chromium.org/867683002
Cr-Commit-Position: refs/heads/master@{#26228}
2015-01-22 18:49:01 +00:00
dslomov
22ce08ade6
new classes: change semantics of super(...) call and add new.target to construct stub.
...
R=arv@chromium.org ,rossberg@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/803933008
Cr-Commit-Position: refs/heads/master@{#26227}
2015-01-22 18:39:47 +00:00
danno
87e1426ce5
Convert compiler cctest to unit tests, part 1
...
R=bmeurer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/867583002
Cr-Commit-Position: refs/heads/master@{#26222}
2015-01-22 14:16:55 +00:00
bmeurer
c9283148d1
[turbofan] Cleanup Schedule and related classes.
...
- Move unit tests to schedule-unittests.cc.
- Remove pre-C++11 cruft.
- Fix some include weirdness.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/864293002
Cr-Commit-Position: refs/heads/master@{#26220}
2015-01-22 13:01:13 +00:00
ishell
8ccc696bf6
Support concatenating with zero-size arrays with DICTIONARY_ELEMENTS in Runtime_ArrayConcat.
...
BUG=chromium:450895
LOG=y
Review URL: https://codereview.chromium.org/849693003
Cr-Commit-Position: refs/heads/master@{#26219}
2015-01-22 11:15:30 +00:00
mstarzinger
558efe21f0
Add missing BailoutId and FrameState to with statements.
...
R=bmeurer@chromium.org
TEST=mjsunit/regress/regress-crbug-450642
BUG=chromium:450642
LOG=N
Review URL: https://codereview.chromium.org/865833002
Cr-Commit-Position: refs/heads/master@{#26218}
2015-01-22 10:57:42 +00:00
svenpanne
8fb593047a
Removed bogus threading test to make TSAN happy.
...
TSAN hits an internal assertion on a self-join, and the test is not
really that useful, so let's just remove it.
BUG=https://code.google.com/p/thread-sanitizer/issues/detail?id=88
LOG=n
Review URL: https://codereview.chromium.org/824243007
Cr-Commit-Position: refs/heads/master@{#26217}
2015-01-22 10:23:58 +00:00
yangguo
4d65e0c241
Revert of Change test expectations for test-types/Maybe. (patchset #1 id:1 of https://codereview.chromium.org/862353002/ )
...
Reason for revert:
Patch causing the failure has been reverted.
Original issue's description:
> Change test expectations for test-types/Maybe.
>
> TBR=rossberg@chromium.org
> BUG=v8:3840
> LOG=N
>
> Committed: https://crrev.com/ebab2f12e9a4b421d8467bcf28280f8f64700cef
> Cr-Commit-Position: refs/heads/master@{#26212}
TBR=rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3840
Review URL: https://codereview.chromium.org/866673002
Cr-Commit-Position: refs/heads/master@{#26216}
2015-01-22 09:43:50 +00:00
bmeurer
0381acf7b3
Double field values need sNaN -> qNaN canonicalization.
...
Also fix mjsunit/regress/regress-undefined-nan to ensure that we are
testing transfer via xmm registers by forcing the transfer to be in an
optimized function.
BUG=v8:3839
LOG=n
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/863153002
Cr-Commit-Position: refs/heads/master@{#26213}
2015-01-22 08:36:12 +00:00
Yang Guo
ebab2f12e9
Change test expectations for test-types/Maybe.
...
TBR=rossberg@chromium.org
BUG=v8:3840
LOG=N
Review URL: https://codereview.chromium.org/862353002
Cr-Commit-Position: refs/heads/master@{#26212}
2015-01-22 08:23:11 +00:00
paul.lind
3552f87e8f
MIPS: Use signaling NaN for holes in fixed double arrays.
...
Port 9eace97bba
Port 5d641ec969
BUG=
Review URL: https://codereview.chromium.org/867453002
Cr-Commit-Position: refs/heads/master@{#26208}
2015-01-22 06:15:02 +00:00
bmeurer
7619374979
Revert of Steps towards unification of number bitset and range types. (patchset #4 id:60001 of https://codereview.chromium.org/837723006/ )
...
Reason for revert:
Breaks test-types/Maybe, i.e.
out/Release/cctest --random-seed=-707413401 test-types/Maybe
started failing afterwards
Original issue's description:
> 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=
>
> Committed: https://crrev.com/2764fd8d1a266a9136c987c2483492113b0c8d80
> Cr-Commit-Position: refs/heads/master@{#26197}
TBR=jkummerow@chromium.org ,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=
Review URL: https://codereview.chromium.org/868583002
Cr-Commit-Position: refs/heads/master@{#26207}
2015-01-22 05:33:39 +00:00
bmeurer
8fa8e62ebc
[arm] Skip mozilla/js1_5/extensions/regress-355497 in simulator.
...
TBR=machenbach@chromium.org
BUG=v8:3837
LOG=n
Review URL: https://codereview.chromium.org/864073002
Cr-Commit-Position: refs/heads/master@{#26203}
2015-01-21 19:11:52 +00:00
mstarzinger
62a49868b3
Add missing FrameState to harmony class literals.
...
R=bmeurer@chromium.org
TEST=mjsunit/harmony/classes
Review URL: https://codereview.chromium.org/864033002
Cr-Commit-Position: refs/heads/master@{#26202}
2015-01-21 18:46:56 +00:00
mstarzinger
24a04d648b
Add missing FrameState for Runtime_GetPrototype.
...
R=titzer@chromium.org
TEST=cctest/test-api
Review URL: https://codereview.chromium.org/860053003
Cr-Commit-Position: refs/heads/master@{#26200}
2015-01-21 17:17:59 +00:00
mstarzinger
1693e1143a
Add missing FrameState for Runtime_DeliverObservationChangeRecords.
...
R=bmeurer@chromium.org
TEST=cctest,mjsunit/es7/object-observe-debug-event
Review URL: https://codereview.chromium.org/790413005
Cr-Commit-Position: refs/heads/master@{#26199}
2015-01-21 16:08:29 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
ishell
33994b4a22
Massive renaming of PropertyType values and other implied stuff.
...
PropertyKind:
DATA -> kData
ACCESSOR -> kAccessor
PropertyType:
FIELD -> DATA
CONSTANT -> DATA_CONSTANT
ACCESSOR_FIELD -> ACCESSOR
CALLBACKS -> ACCESSOR_CONSTANT
PropertyLocation:
IN_OBJECT -> kField
IN_DESCRIPTOR -> kDescriptor
StoreMode:
FORCE_IN_OBJECT -> FORCE_FIELD
FieldDescriptor -> DataDescriptor
ConstantDescriptor -> DataConstantDescriptor
CallbacksDescriptor -> AccessorConstantDescriptor
Review URL: https://codereview.chromium.org/856503002
Cr-Commit-Position: refs/heads/master@{#26146}
2015-01-19 17:49:22 +00:00
Michael Starzinger
cecd89c2c6
Disable new test failing since 79748e3f7c
.
...
TBR=titzer@chromium.org
TEST=mjsunit/compiler/opt-next-call-turbo
Review URL: https://codereview.chromium.org/862533002
Cr-Commit-Position: refs/heads/master@{#26143}
2015-01-19 16:17:07 +00:00
mstarzinger
79748e3f7c
Remove overzealous check from %OptimizeFunctionOnNextCall.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/863443003
Cr-Commit-Position: refs/heads/master@{#26142}
2015-01-19 15:52:00 +00:00
Ben L. Titzer
396381f944
[turbofan] Rename IrOpcode predicate IsLeafOpcode to IsConstantOpcode.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/863513002
Cr-Commit-Position: refs/heads/master@{#26141}
2015-01-19 15:35:16 +00:00
titzer
36003d07eb
[turbofan] Improve loop analysis to handle more than 32 loops.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/855653002
Cr-Commit-Position: refs/heads/master@{#26140}
2015-01-19 15:19:57 +00:00
marja
af8a0c0d82
Script streaming: don't produce (empty) cached data when debugger forces eagerness.
...
See CompileTopLevel for similar logic which suppresses producing parser cache
when the debugger is active.
BUG=441130
LOG=n
Review URL: https://codereview.chromium.org/845643005
Cr-Commit-Position: refs/heads/master@{#26138}
2015-01-19 14:29:12 +00:00
dcarney
09abbaae85
delete flaky test MultithreadedParallelIsolates
...
BUG=3215
LOG=N
Review URL: https://codereview.chromium.org/855333002
Cr-Commit-Position: refs/heads/master@{#26136}
2015-01-19 14:16:22 +00:00
Michael Starzinger
7d54d54dea
Blacklist computed property name failures with TurboFan.
...
R=verwaest@chromium.org
TEST=mjsunit/harmony/computed-property-names
Review URL: https://codereview.chromium.org/862513002
Cr-Commit-Position: refs/heads/master@{#26135}
2015-01-19 14:15:18 +00:00
caitpotter88
02218adb6b
Report SyntaxError on Token::ILLEGAL in ParseTemplateLiteral
...
BUG=v8:3820, v8:3821
LOG=N
R=arv@chromium.org , dslomov@chromium.org , marja@chromium.org
Review URL: https://codereview.chromium.org/857433004
Cr-Commit-Position: refs/heads/master@{#26132}
2015-01-19 12:38:20 +00:00
mstarzinger
6daecbd5ff
Allow --always-opt to go further into the pipeline (2).
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/855873002
Cr-Commit-Position: refs/heads/master@{#26131}
2015-01-19 12:35:19 +00:00
caitpotter88
6dc82c184c
Implement IsConstructor() abstract operation
...
LOG=N
R=dpino@igalia.com , arv@chromium.org , dslomov@chromium.org
BUG=
Review URL: https://codereview.chromium.org/851163007
Cr-Commit-Position: refs/heads/master@{#26130}
2015-01-19 12:22:31 +00:00
mvstanton
173b69f041
ClusterFuzz fix: %NormalizeElements shouldn't process the global proxy.
...
BUG=449070
R=yangguo@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/859713002
Cr-Commit-Position: refs/heads/master@{#26126}
2015-01-19 09:31:19 +00:00
bmeurer
f578d35ba8
[turbofan] Make Factory::NewNumber() always return the minus_zero_value.
...
TEST=unittests
Review URL: https://codereview.chromium.org/857783002
Cr-Commit-Position: refs/heads/master@{#26124}
2015-01-19 08:07:37 +00:00
machenbach
d962c092f3
Revert of [turbofan] Fix bunch of tests failing with --turbo-deoptimization. (patchset #1 id:1 of https://codereview.chromium.org/786333004/ )
...
Reason for revert:
This changes layout test expectations. I ran a bisect over the layout tests:
Bad:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2032/builds/1600
Good:
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2032/builds/1599
If this is intentional please first land a CL with manualrebaseline test expectations for the changed tests and then reland.
Original issue's description:
> [turbofan] Fix bunch of tests failing with --turbo-deoptimization.
>
> R=bmeurer@chromium.org
>
> Committed: https://crrev.com/e9e772121b36697821dbfff61f36e0a68367f21c
> Cr-Commit-Position: refs/heads/master@{#26115}
TBR=bmeurer@chromium.org ,jarin@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/804333005
Cr-Commit-Position: refs/heads/master@{#26119}
2015-01-17 13:45:44 +00:00
jarin
e9e772121b
[turbofan] Fix bunch of tests failing with --turbo-deoptimization.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/786333004
Cr-Commit-Position: refs/heads/master@{#26115}
2015-01-16 22:23:32 +00:00