svenpanne
a7d67a64f1
Fixed Hydrogen environment handling for mul-i on ARM and ARM64.
...
The whole logic in DoMul makes me cry, so I made only the minimal
change to fix the issue...
BUG=v8:451322
LOG=y
Review URL: https://codereview.chromium.org/873703002
Cr-Commit-Position: refs/heads/master@{#26261}
2015-01-26 08:35:58 +00:00
danno
d1e45d9b00
Distinquish TestWithIsolateAndZone from TestWithZone
...
Allows unit tests that just need a zone and no isolate to avoid the overhead of
creating one.
R=mstarzinger@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/871843004
Cr-Commit-Position: refs/heads/master@{#26256}
2015-01-23 16:29:57 +00:00
caitpotter88
12af28309a
ES6 Array.prototype.toString falls back on Object.prototype.toString if method "join" is not callable.
...
BUG=v8:3793
LOG=Y
R=dslomov@chromium.org , arv@chromium.org
Review URL: https://codereview.chromium.org/835753002
Cr-Commit-Position: refs/heads/master@{#26253}
2015-01-23 15:21:44 +00:00
danno
c7b09aac31
Remove the dependency of Zone on Isolate
...
Along the way:
- Thread isolate parameter explicitly through code that used to
rely on getting it from the zone.
- Canonicalize the parameter position of isolate and zone for
affected code
- Change Hydrogen New<> instruction templates to automatically
pass isolate
R=mstarzinger@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/868883002
Cr-Commit-Position: refs/heads/master@{#26252}
2015-01-23 15:20:00 +00:00
marja
c421f3de54
Script streaming: Test that streaming <-> harmony scopes interaction is correct.
...
BUG=
Review URL: https://codereview.chromium.org/871893002
Cr-Commit-Position: refs/heads/master@{#26250}
2015-01-23 14:41:18 +00:00
mstarzinger
ace7b8f20f
Make TestSetJitCodeEventHandler more resilient.
...
R=ishell@chromium.org
TEST=cctest/test-api/SetJitCodeEventHandler
Review URL: https://codereview.chromium.org/874493002
Cr-Commit-Position: refs/heads/master@{#26249}
2015-01-23 12:12:27 +00:00
hpayer
a18fdd61dc
Always adjust amount of external memory when change is reported.
...
BUG=
Review URL: https://codereview.chromium.org/866413002
Cr-Commit-Position: refs/heads/master@{#26247}
2015-01-23 11:37:49 +00:00
erikcorry
8c58ed1a0c
Support old and new weak handle API
...
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/863443005
Cr-Commit-Position: refs/heads/master@{#26246}
2015-01-23 11:28:54 +00:00
bmeurer
cd2bc96808
[turbofan] Move GetCommonDominator to BasicBlock.
...
Also add some unittests for the dominator stuff.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/865393004
Cr-Commit-Position: refs/heads/master@{#26241}
2015-01-23 09:55:48 +00:00
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
jarin
2e4e43a2dc
[turbofan] Add frame state to the PlainPrimitiveToNumber unit test.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/792043007
Cr-Commit-Position: refs/heads/master@{#26113}
2015-01-16 22:21:22 +00:00
yangguo
a4a62c129b
Extend and fix tests for custom heap snapshot.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/856793002
Cr-Commit-Position: refs/heads/master@{#26110}
2015-01-16 22:18:27 +00:00
mstarzinger
9fbe872137
Enable test coverage for --turbo-deoptimization mode.
...
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/845193004
Cr-Commit-Position: refs/heads/master@{#26102}
2015-01-16 12:53:30 +00:00
mstarzinger
0f418385d0
First simple implementation of class literals in TurboFan.
...
R=rossberg@chromium.org ,jarin@chromium.org
TEST=cctest/test-run-jsops/ClassLiteral
Review URL: https://codereview.chromium.org/798873006
Cr-Commit-Position: refs/heads/master@{#26101}
2015-01-16 12:38:26 +00:00
bmeurer
835cc463a8
[turbofan] Initial attempt to cleanup Node and related classes.
...
- Make Node::Inputs and Node::Uses mostly STL compliant.
- Get rid of some pre-C++11 crappiness.
- Start moving unit tests from cctest to unittests.
- TrimInputCount() now tries to reserve inputs slots for
later appending.
- Fix numerous style guide violations.
TEST=cctest,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/851263002
Cr-Commit-Position: refs/heads/master@{#26098}
2015-01-16 11:04:22 +00:00
dcarney
6950ead0b0
split api call stubs into accessor and function call stubs
...
BUG=
Review URL: https://codereview.chromium.org/836093007
Cr-Commit-Position: refs/heads/master@{#26097}
2015-01-16 10:59:16 +00:00
jochen
b54f00fc8e
Add checks to the marking queue
...
Hopefully we'll catch heap corruption earlier where identifying the
object that holds a stale pointer.
Speaking of staleness, also remove old debugging code.
BUG=chromium:128415
R=ulan@chromium.org ,hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/843013005
Cr-Commit-Position: refs/heads/master@{#26095}
2015-01-16 10:39:25 +00:00
Sven Panne
e5184734b3
Another attempt to fix regress-crbug-178790.
...
This time we simply undo the change introduced by the PPC port for
this test. No idea why it should be necessary, and Windows XP
obviously doesn't give us that much stack, anyway.
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/826833003
Cr-Commit-Position: refs/heads/master@{#26093}
2015-01-16 10:12:15 +00:00
Sven Panne
54570cfa74
PPC aftermath: Fix regress-crbug-178790.
...
The test fails on XP only, so let's tentatively raise the stack limit more. We probably need to investigate what a tighter limit might be and (more importantly) what the underlying reason for the failure is.
Hopefully 1800kB is enough, we can't test this via try jobs, because we don't have XP try bots. :-/
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/791693005
Cr-Commit-Position: refs/heads/master@{#26092}
2015-01-16 09:45:31 +00:00
Sven Panne
e4c5b84652
Contribution of PowerPC port (continuation of 422063005)
...
Contribution of PowerPC port (continuation of 422063005). The inital patch
covers the core changes to the common files. Subsequent patches will cover
changes to common files to support AIX and to update the ppc directories so
they are current with the changes in the rest of the project.
This is based off of the GitHub repository
https://github.com/andrewlow/v8ppc
BUG=
R=svenpanne@chromium.org , danno@chromium.org , sevnpanne@chromium.org
Review URL: https://codereview.chromium.org/817143002
Cr-Commit-Position: refs/heads/master@{#26091}
2015-01-16 07:42:15 +00:00
arv
c8124f932c
Computed property names: Enable test on windows again
...
Enable test on windows again and disable the problematic lines only.
BUG=v8:3815
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/850773004
Cr-Commit-Position: refs/heads/master@{#26086}
2015-01-16 00:20:16 +00:00
Erik Arvidsson
7a4c73ccd9
Skip computed property name test on Windows
...
BUG=v8:3815
LOG=N
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/854903002
Cr-Commit-Position: refs/heads/master@{#26085}
2015-01-15 20:51:29 +00:00
arv
74e38e34b3
ES6 computed property names
...
This adds support for computed property names, under the flag
--harmony-computed-property-names, for both object literals and
classes.
This is a revert of the revert, 7d48fd9dc2
.
BUG=v8:3754
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/798243004
Cr-Commit-Position: refs/heads/master@{#26084}
2015-01-15 20:02:37 +00:00
bmeurer
a9d0d23405
Revert of [turbofan] Make Factory::NewNumber() always return the minus_zero_value. (patchset #1 id:1 of https://codereview.chromium.org/838263006/ )
...
Reason for revert:
Breaks the tree
Original issue's description:
> [turbofan] Make Factory::NewNumber() always return the minus_zero_value.
>
> TEST=unittests
> R=mstarzinger@chromium.org , dcarney@chromium.org
>
> Committed: https://crrev.com/55b3e268b2895e2c09230d39669a75b6ab4e7e4d
> Cr-Commit-Position: refs/heads/master@{#26080}
TBR=dcarney@chromium.org ,mstarzinger@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/853683009
Cr-Commit-Position: refs/heads/master@{#26081}
2015-01-15 15:29:42 +00:00
Benedikt Meurer
55b3e268b2
[turbofan] Make Factory::NewNumber() always return the minus_zero_value.
...
TEST=unittests
R=mstarzinger@chromium.org , dcarney@chromium.org
Review URL: https://codereview.chromium.org/838263006
Cr-Commit-Position: refs/heads/master@{#26080}
2015-01-15 15:10:05 +00:00
bmeurer
dd6ce12645
[turbofan] Turn IrOpcode::IsXXX() into range checks.
...
TEST=unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/807573004
Cr-Commit-Position: refs/heads/master@{#26079}
2015-01-15 15:07:39 +00:00
bmeurer
4914716387
Revert of [turbofan] Use PlainPrimitiveToNumber whenever possible. (patchset #1 id:1 of https://codereview.chromium.org/852763002/ )
...
Reason for revert:
Tanks performance of SQLite and towers.c.
Original issue's description:
> [turbofan] Use PlainPrimitiveToNumber whenever possible.
>
> TEST=cctest,unittests
> R=jarin@chromium.org
>
> Committed: https://crrev.com/1a5db24e6bf831e61e3f4aa0c252f77e48c3689c
> Cr-Commit-Position: refs/heads/master@{#26071}
TBR=jarin@chromium.org ,dcarney@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/852153003
Cr-Commit-Position: refs/heads/master@{#26078}
2015-01-15 13:26:55 +00:00
mvstanton
23b181552e
Vector-based LoadICs need to handle Smi receivers.
...
The MISS handler was being called when the receiver was a Smi, instead,
we should recognize the case and use the heap number map.
BUG=
Review URL: https://codereview.chromium.org/854623002
Cr-Commit-Position: refs/heads/master@{#26076}
2015-01-15 12:52:47 +00:00
mstarzinger
e72c5d2c23
Remove redundant test expectation from mjsunit.
...
R=jkummerow@chromium.org
TEST=mjsunit/nans
Review URL: https://codereview.chromium.org/850303002
Cr-Commit-Position: refs/heads/master@{#26075}
2015-01-15 12:47:59 +00:00
Yang Guo
3706a50457
Fix number-string cache test case.
...
TBR=jochen@chromium.org
Review URL: https://codereview.chromium.org/843913008
Cr-Commit-Position: refs/heads/master@{#26073}
2015-01-15 11:49:10 +00:00
yangguo
22e6958d63
Fix remaining issues in the custom snapshot.
...
Math functions:
Some Math functions require typed arrays for their implementation. The embedded
script may call those Math functions. The serializer needs to deal with this.
Added assertion to make sure no other typed array is created when snapshotting.
Number-string cache:
We assume that the initial snapshot does not expand the number-string cache.
This is no longer true for custom heap snapshots.
Bound functions:
Bound functions store the bound arguments in a COW fixed array, including the
bindee function. COW arrays are serialized into the startup snapshot and
referenced in the partial snapshot via partial snapshot cache. However, the
bindee function is context-dependent and must not be part of the startup
snapshot. There is no need for bound functions to use a COW array though.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/851073002
Cr-Commit-Position: refs/heads/master@{#26072}
2015-01-15 11:22:17 +00:00
bmeurer
1a5db24e6b
[turbofan] Use PlainPrimitiveToNumber whenever possible.
...
TEST=cctest,unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/852763002
Cr-Commit-Position: refs/heads/master@{#26071}
2015-01-15 09:49:23 +00:00
dcarney
e6552d4917
Reland "[turbofan] simplify gap ordering"
...
BUG=
Review URL: https://codereview.chromium.org/854703002
Cr-Commit-Position: refs/heads/master@{#26069}
2015-01-15 09:06:05 +00:00
dcarney
a7e3c71b23
add register allocator regression test
...
BUG=
Review URL: https://codereview.chromium.org/852633002
Cr-Commit-Position: refs/heads/master@{#26068}
2015-01-15 08:56:10 +00:00
baptiste.afsa
51f3c66b64
[turbofan] Allow 0.0 as immediate for floating-point comparison on arm/arm64.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/850073002
Cr-Commit-Position: refs/heads/master@{#26066}
2015-01-15 06:31:07 +00:00
Ben L. Titzer
3244a66543
[turbofan] Fix corner case in loop analysis.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/852783002
Cr-Commit-Position: refs/heads/master@{#26063}
2015-01-14 17:06:37 +00:00
yangguo
fe82e03bb6
Correctly reference global proxy in the partial snapshot.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/853493003
Cr-Commit-Position: refs/heads/master@{#26061}
2015-01-14 16:42:30 +00:00
mstarzinger
2ebe24c9cb
First simple implementation of for-of in TurboFan.
...
R=rossberg@chromium.org
TEST=cctest/test-run-jsbranches/ForOfContinueStatement
Review URL: https://codereview.chromium.org/850803002
Cr-Commit-Position: refs/heads/master@{#26060}
2015-01-14 15:24:29 +00:00
jochen
c65799e7c5
Remove support for signatures with arguments
...
Support for it is slow and difficult to implement, and it's not used in
Blink. An embedder that uses this feature will have to check the
argument types itself.
BUG=none
R=dcarney@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/848173002
Cr-Commit-Position: refs/heads/master@{#26058}
2015-01-14 14:44:10 +00:00
bmeurer
e1d878d16f
Add proper support for proxies to HType.
...
TEST=mjsunit/regress/regress-crbug-448730
BUG=chromium:448730
LOG=y
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/847373002
Cr-Commit-Position: refs/heads/master@{#26056}
2015-01-14 13:57:09 +00:00
jarin
ac04d777d6
[turbofan] Allow deoptimization for JSToNumber operator.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/841443004
Cr-Commit-Position: refs/heads/master@{#26053}
2015-01-14 13:09:32 +00:00
bmeurer
70b32e4b8a
[turbofan] Fix truncation/representation sloppiness wrt. bool/bit.
...
TEST=cctest,mjsunit,unittests
BUG=v8:3812
LOG=y
Review URL: https://codereview.chromium.org/850013003
Cr-Commit-Position: refs/heads/master@{#26051}
2015-01-14 12:06:56 +00:00
bmeurer
214387fce1
Revert of [turbofan] Improve typed lowering of JSBitwiseAnd. (patchset #1 id:1 of https://codereview.chromium.org/811653004/ )
...
Reason for revert:
Breaks SQLite
Original issue's description:
> [turbofan] Improve typed lowering of JSBitwiseAnd.
>
> TEST=unittests
> R=jarin@chromium.org
>
> Committed: https://crrev.com/284e1108182995abe85f580bc813d26491642b8c
> Cr-Commit-Position: refs/heads/master@{#26046}
TBR=jarin@chromium.org
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/795833006
Cr-Commit-Position: refs/heads/master@{#26048}
2015-01-14 09:07:07 +00:00
Benedikt Meurer
284e110818
[turbofan] Improve typed lowering of JSBitwiseAnd.
...
TEST=unittests
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/811653004
Cr-Commit-Position: refs/heads/master@{#26046}
2015-01-14 07:40:32 +00:00
balazs.kilvady
3da5a729e8
MIPS: [turbofan] Improve code generation for unordered comparisons.
...
Port c24220c0c1
TEST=cctest,unittests
BUG=
Review URL: https://codereview.chromium.org/850733004
Cr-Commit-Position: refs/heads/master@{#26045}
2015-01-13 20:28:13 +00:00
bmeurer
1fa21bfd39
[turbofan] Reduce Word32And masking with shifted inputs.
...
TEST=unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/847113002
Cr-Commit-Position: refs/heads/master@{#26040}
2015-01-13 13:02:40 +00:00
bmeurer
9f292086f9
[turbofan] Add PlainPrimitiveToNumber simplified operator.
...
TEST=unittests
Review URL: https://codereview.chromium.org/845333002
Cr-Commit-Position: refs/heads/master@{#26038}
2015-01-13 11:02:57 +00:00
yangguo
bcab9eacf3
Update references to global object after deserializing context.
...
R=jochen@chromium.org
TEST=test-serialize/CustomContext{Des,S}erialization
Also test by
- make ia32.debug embedscript=<full path to mjsunit.js>
- d8 -e "assertDoesNotThrow('print(1)')"
Review URL: https://codereview.chromium.org/846023002
Cr-Commit-Position: refs/heads/master@{#26035}
2015-01-13 08:48:08 +00:00
bmeurer
c24220c0c1
[turbofan] Improve code generation for unordered comparisons.
...
TEST=cctest,unittests
Review URL: https://codereview.chromium.org/850653002
Cr-Commit-Position: refs/heads/master@{#26034}
2015-01-13 08:42:02 +00:00
jarin
527e19afd5
[turbofan] Add missing deopt.
...
BUG=chromium:447567
LOG=n
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/809463005
Cr-Commit-Position: refs/heads/master@{#26033}
2015-01-13 08:40:54 +00:00
caitpotter88
4b6316c5ff
Check for octals in template spans only, not expressions
...
BUG=v8:3806
LOG=N
R=arv@chromium.org , dslomov@chromium.org
Review URL: https://codereview.chromium.org/808793004
Cr-Commit-Position: refs/heads/master@{#26028}
2015-01-12 15:07:47 +00:00