Commit Graph

23399 Commits

Author SHA1 Message Date
erikcorry
adf42dd007 Remove spurious prints from GC logging
R=hpayer@chromium.org, szager@chromium.org
TBR=hpayer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1149413003

Cr-Commit-Position: refs/heads/master@{#28707}
2015-05-31 10:02:09 +00:00
v8-autoroll
748013b653 Update V8 DEPS.
Rolling v8/tools/clang to 4a73eedb03ade4ca209eadcf768737ca01bf7b4a

TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/1163663004

Cr-Commit-Position: refs/heads/master@{#28706}
2015-05-31 03:23:28 +00:00
v8-autoroll
11f4161c48 Update V8 DEPS.
Rolling v8/buildtools to fa660d47fa1a6c649d5c29e001348447c55709e6

Rolling v8/tools/clang to fbd2e50b735151d7745bca153f7f17ea896dcfb7

TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/1158313003

Cr-Commit-Position: refs/heads/master@{#28705}
2015-05-30 03:25:58 +00:00
erikcorry
af7e07358a Even without --trace-gc dump the last few GC messages on OOM
If we crash V8 due to out-of-memory then we print the last 3 GCs on
stdout as we crash. Also records the last 3 GCs on the stack so that
it will be part of the minidump.
R=hpayer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1159513003

Cr-Commit-Position: refs/heads/master@{#28704}
2015-05-29 16:24:52 +00:00
titzer
30ef6b7a69 [turbofan] Clean up cctest "framework" for dealing with native calls.
R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1164603002

Cr-Commit-Position: refs/heads/master@{#28703}
2015-05-29 14:05:49 +00:00
bbudge
43638cd4e8 Clean up aligned allocation code in preparation for SIMD alignments.
Moves alignment fill calculations into two static Heap methods.
Adds a Heap method to handle the complex case where filler is potentially needed before and after a heap object.
Makes DoubleAlignForDeserialization explicitly fill after an already
aligned object.

LOG=N
BUG=v8:4124

Committed: https://crrev.com/fcfb080eb9a637f0ae066bed4c45095e60df8a84
Cr-Commit-Position: refs/heads/master@{#28687}

Review URL: https://codereview.chromium.org/1150593003

Cr-Commit-Position: refs/heads/master@{#28702}
2015-05-29 13:18:23 +00:00
yangguo
3f223ee69b Debugger: PreservePositionScope should clear positions inside the scope.
The point of this change is so that when emitting code for a call in
FullCodegen::VisitCall, the statement position is not associated to
any code that loads the function, but to the actual CallIC.

R=mvstanton@chromium.org
BUG=chromium:481896
LOG=N

Review URL: https://codereview.chromium.org/1157543004

Cr-Commit-Position: refs/heads/master@{#28701}
2015-05-29 12:56:40 +00:00
vogelheim
c7d3e64bc3 Fix free-after-free bug in ExternalStreamingStream::ResetToBookmark.
R=jochen@chromium.org
BUG=chromium:470930
LOG=N

Review URL: https://codereview.chromium.org/1156103015

Cr-Commit-Position: refs/heads/master@{#28700}
2015-05-29 12:19:51 +00:00
ishell
c984efe6e3 Reland "Fixed a couple of failing DCHECK(has_pending_exception()). (patchset id:1 of https://codereview.chromium.org/1151373002/ )"
BUG=chromium:491062
LOG=N

Review URL: https://codereview.chromium.org/1157273002

Cr-Commit-Position: refs/heads/master@{#28699}
2015-05-29 11:37:23 +00:00
conradw
6edc3e3179 [strong] Implement per-object restrictions behaviour of property freezing
Implements the strong mode proposal's restrictions on changing a strong object's
writable, non-configurable property to non-writable.

Setting the strong bit is still wip, so this change will only affect those
objects that have the bit correctly set. The tests reflect this, and will be
expanded as more objects can be marked as strong.

BUG=v8:3956
LOG=N

Review URL: https://codereview.chromium.org/1142393003

Cr-Commit-Position: refs/heads/master@{#28698}
2015-05-29 11:33:29 +00:00
jarin
9058ac3be1 Remove the experimental perf jit support until the license is clarified.
BUG=

Review URL: https://codereview.chromium.org/1148293009

Cr-Commit-Position: refs/heads/master@{#28697}
2015-05-29 10:39:52 +00:00
yangguo
945154a270 Debugger: consider try-finally scopes not catching wrt debug events.
R=mstarzinger@chromium.org
BUG=chromium:492522
LOG=Y

Review URL: https://codereview.chromium.org/1154163006

Cr-Commit-Position: refs/heads/master@{#28696}
2015-05-29 10:05:33 +00:00
mstarzinger
74f1dba845 [turbofan] Enforce stricter constraints on Throw nodes.
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/1162633002

Cr-Commit-Position: refs/heads/master@{#28695}
2015-05-29 09:17:29 +00:00
erikcorry
2cb3920688 grokdump.py - some support for on-stack HeapStats
R=ulan@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1142343009

Cr-Commit-Position: refs/heads/master@{#28694}
2015-05-29 09:05:06 +00:00
hpayer
3e2fec75d2 Treat links that organize weak objects weakly.
BUG=

Review URL: https://codereview.chromium.org/1158423002

Cr-Commit-Position: refs/heads/master@{#28693}
2015-05-29 08:06:30 +00:00
bmeurer
b749a19570 [x64] Fix useless deopt in for-in.
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/1157423003

Cr-Commit-Position: refs/heads/master@{#28692}
2015-05-29 06:37:31 +00:00
rodolph.perfetta
81703350bb [arm] Fix vmov immediate for ARMv6.
vmov immediate was always emitting movt for some immediates wether or
not the CPU supported ARMv7.

BUG=v8:4019
LOG=n

Review URL: https://codereview.chromium.org/1160093002

Cr-Commit-Position: refs/heads/master@{#28691}
2015-05-29 05:31:38 +00:00
v8-autoroll
ba227db023 Update V8 DEPS.
Rolling v8/tools/clang to 5413f2a11e1b56c30e28769b9ff1086797c11b28

TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/1167453002

Cr-Commit-Position: refs/heads/master@{#28690}
2015-05-29 03:33:53 +00:00
arv
ab0577b29c Cleanup ast numbering for super.prop in arrows
Follow up to https://codereview.chromium.org/1135243004

For now we need to call set_base_id in AstNumberingVisitor because
TurboFan needs a bailout id for super.prop in a lot of cases.

BUG=None
LOG=N
R=adamk@chromium.org, mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/1153053005

Cr-Commit-Position: refs/heads/master@{#28689}
2015-05-28 18:50:52 +00:00
bbudge
3ee926e2a6 Revert of Clean up aligned allocation code in preparation for SIMD alignments. (patchset id:300001 of https://codereview.chromium.org/1150593003/)
Reason for revert:
Breaks mjsunit, webkit, mozilla, benchmarks.

TBR=hpayer@chromium.org

Original issue's description:
> Clean up aligned allocation code in preparation for SIMD alignments.
>
> Moves alignment fill calculations into two static Heap methods.
> Adds a Heap method to handle the complex case where filler is potentially needed before and after a heap object.
> Makes DoubleAlignForDeserialization explicitly fill after an already
> aligned object.
>
> LOG=N
> BUG=v8:4124
>
> Committed: https://crrev.com/fcfb080eb9a637f0ae066bed4c45095e60df8a84
> Cr-Commit-Position: refs/heads/master@{#28687}

TBR=hpayer@chromium.org,bmeurer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4124

Review URL: https://codereview.chromium.org/1159123002

Cr-Commit-Position: refs/heads/master@{#28688}
2015-05-28 18:17:54 +00:00
bbudge
fcfb080eb9 Clean up aligned allocation code in preparation for SIMD alignments.
Moves alignment fill calculations into two static Heap methods.
Adds a Heap method to handle the complex case where filler is potentially needed before and after a heap object.
Makes DoubleAlignForDeserialization explicitly fill after an already
aligned object.

LOG=N
BUG=v8:4124

Review URL: https://codereview.chromium.org/1150593003

Cr-Commit-Position: refs/heads/master@{#28687}
2015-05-28 17:19:51 +00:00
mbrandy
62b61129f2 PPC: Make KeyedStores from a sloppy arguments array use a handler.
Port 3a1d7335cf

Original commit message:
This finishes up work begun by CL (https://codereview.chromium.org/546683003/) some months ago.

R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1160933003

Cr-Commit-Position: refs/heads/master@{#28686}
2015-05-28 15:58:15 +00:00
mbrandy
99996b4bbe PPC: Fix '[crankshaft] Record inlined shared function infos instead of closures.'
R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1143153013

Cr-Commit-Position: refs/heads/master@{#28685}
2015-05-28 15:57:16 +00:00
sergiyb
9088719ee5 Converted V8 CQ config to proto-format
This will land with https://chromereviews.googleplex.com/202967013

R=akuegel@chromium.org, machenbach@chromium.org
BUG=471767
NOTRY=true
LOG=N

Review URL: https://codereview.chromium.org/1161873004

Cr-Commit-Position: refs/heads/master@{#28684}
2015-05-28 15:02:53 +00:00
mvstanton
3a1d7335cf Make KeyedStores from a sloppy arguments array use a handler.
This finishes up work begun by CL (https://codereview.chromium.org/546683003/) some months ago.

BUG=

Review URL: https://codereview.chromium.org/1149053004

Cr-Commit-Position: refs/heads/master@{#28683}
2015-05-28 14:56:15 +00:00
bmeurer
dd430071e2 [turbofan] Simplify graph construction for for-in.
This is an initial step towards a faster and less incorrect
implementation of for-in in TurboFan.

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/1153403002

Cr-Commit-Position: refs/heads/master@{#28682}
2015-05-28 14:01:31 +00:00
mstarzinger
d8b94f34cc [turbofan] Introduce prediction for exception handlers.
This introduces a conservative prediction for each exception handler
whether it will locally catch an exception or re-throw it to outside
the code bondaries. It will allow for a more intuitive prediction of
whether an exception is considered "caught" or "uncaught".

R=bmeurer@chromium.org,yangguo@chromium.org
BUG=chromium:492522
LOG=N

Review URL: https://codereview.chromium.org/1158563008

Cr-Commit-Position: refs/heads/master@{#28681}
2015-05-28 13:23:03 +00:00
erikcorry
9079b99ad4 grokdump.py: work around int size limits on xrange
R=hpayer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1158933007

Cr-Commit-Position: refs/heads/master@{#28680}
2015-05-28 13:12:17 +00:00
machenbach
5effc7131a [test] Fix assert for predictable mode in test runner.
NOTRY=true

Review URL: https://codereview.chromium.org/1156663009

Cr-Commit-Position: refs/heads/master@{#28679}
2015-05-28 13:06:49 +00:00
jochen
5df3b4ab5c Update all callsites of the TryCatch ctor to pass an Isolate
BUG=4134
R=vogelheim@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/1154423004

Cr-Commit-Position: refs/heads/master@{#28678}
2015-05-28 12:49:41 +00:00
bmeurer
ce2b39f2f2 [turbofan] Record SharedFunctionInfo of inlined functions.
We need the shared function info of inlined functions to prevent code
flushing for their unoptimized code, and also to make sure that liveedit
can find the proper functions to deoptimize.

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/1156403002

Cr-Commit-Position: refs/heads/master@{#28677}
2015-05-28 12:12:52 +00:00
machenbach
77b7b39b4e [test] Use instrumented libc++ for asan and tsan builds.
BUG=chromium:489254
LOG=n

Review URL: https://codereview.chromium.org/1143173005

Cr-Commit-Position: refs/heads/master@{#28676}
2015-05-28 11:50:55 +00:00
bmeurer
b1e2d1e4c7 [deoptimizer] Materialize double values as smis whenever possible.
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/1156393002

Cr-Commit-Position: refs/heads/master@{#28675}
2015-05-28 10:31:03 +00:00
bmeurer
b77df02713 [turbofan] Remove the JSGraph dependency from the ControlFlowOptimizer.
The control flow optimization should work independent of the JSGraph. We
used the JSGraph there because it was convinient, not because it was
necessary.

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/1160863003

Cr-Commit-Position: refs/heads/master@{#28674}
2015-05-28 09:13:05 +00:00
bmeurer
19482d29e5 [turbofan] Remove the useless SimplifiedOperatorReducer.
The SimplifiedOperatorReducer is (mostly) unused, except for the very
rough store elimination, and just eats compilation time.

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/1162563002

Cr-Commit-Position: refs/heads/master@{#28673}
2015-05-28 08:38:13 +00:00
bmeurer
388e791df9 [crankshaft] Record inlined shared function infos instead of closures.
The list of inlined functions is used in exactly two places - for live
edit and to prevent code flushing for inlined functions - and those are
fine with SharedFunctionInfo and don't require a closure.

This is one additional step towards inlining based on SharedFunctionInfo
instead of JSFunction.

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/1145893003

Cr-Commit-Position: refs/heads/master@{#28672}
2015-05-28 07:12:04 +00:00
yangguo
dc9f0d4642 Throw illegal exception when formatting with invalid template index.
R=arv@chromium.org
BUG=chromium:492526
LOG=N

Review URL: https://codereview.chromium.org/1146923004

Cr-Commit-Position: refs/heads/master@{#28671}
2015-05-28 07:05:12 +00:00
yangguo
36d8363c1c Do not eagerly convert exception to string when creating a message object
R=mstarzinger@chromium.org
BUG=chromium:490680
LOG=Y

Review URL: https://codereview.chromium.org/1157563005

Cr-Commit-Position: refs/heads/master@{#28670}
2015-05-28 06:30:14 +00:00
bmeurer
a06631e9eb [turbofan] Remove frame state TODOs from VisitForInBody.
Neither the increment nor the comparison can deoptimize, so we don't
need proper frame states there.

R=jarin@chromium.org

Review URL: https://codereview.chromium.org/1148323003

Cr-Commit-Position: refs/heads/master@{#28669}
2015-05-28 04:10:52 +00:00
v8-autoroll
3503d1ef07 Update V8 DEPS.
Rolling v8/build/gyp to 29e94a3285ee899d14d5e56a6001682620d3778f

Rolling v8/tools/clang to dc8f173e7fe10badbd9e29cd6eadc32ec552e691

TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/1156373003

Cr-Commit-Position: refs/heads/master@{#28668}
2015-05-28 03:28:41 +00:00
akos.palfi
79eb72c648 Skip simdjs/shell_test_runner on big-endian platforms.
This test is little-endian specific and therefore it can't run
correctly on big-endian platforms.

BUG=

Review URL: https://codereview.chromium.org/1155113008

Cr-Commit-Position: refs/heads/master@{#28667}
2015-05-27 18:55:55 +00:00
mbrandy
e95a225646 PPC: VectorICs: allocating slots for store ics in ast nodes.
Port 5450fc07ba

Original commit message:
Also adapt code generation to pass the slot to the
store/keyed-store ic. AST nodes ObjectLiteral, Assignment,
ForEach, Call and CountOperation now include one or more
feedback vector ic slot ids.

R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1156503003

Cr-Commit-Position: refs/heads/master@{#28666}
2015-05-27 17:26:27 +00:00
mbrandy
4070b20aee PPC: [es6] Support super.property in eval and arrow functions
Port 44e9810345

Original commit message:
When we enter a method that needs access to the [[HomeObject]]
we allocate a local variable `.home_object` and assign it the
value from the [[HomeObject]] private symbol. Something along
the lines of:

  method() {
    var .home_object = %ThisFunction()[home_object_symbol];
    ...
  }

R=arv@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1161603004

Cr-Commit-Position: refs/heads/master@{#28665}
2015-05-27 17:22:05 +00:00
conradw
629d275073 [strong] Implement per-object restrictions behaviour for prototype setting
Implements the strong mode proposal's restrictions on the ability of user code
to modify the prototype of strong objects.

Setting the strong bit is still wip, so this change will only affect those
objects that have the bit correctly set. The tests reflect this, and will be
expanded as more objects can be marked as strong.

BUG=v8:3956
LOG=N

Review URL: https://codereview.chromium.org/1143623002

Cr-Commit-Position: refs/heads/master@{#28664}
2015-05-27 17:06:43 +00:00
machenbach
a814516a08 [test] Add sanitizer coverage to gyp configs.
BUG=chromium:489254
LOG=n

Review URL: https://codereview.chromium.org/1158903002

Cr-Commit-Position: refs/heads/master@{#28663}
2015-05-27 16:18:33 +00:00
ulan
92855aed25 Fix cctest/test-unboxed-doubles/IncrementalWriteBarrierObjectShiftFieldsRight after 5e87a0.
Make sure that when manual evacuation candidate selection is enabled we do not select more pages than requested.
BUG=

TBR=hpayer@chromium.org

Review URL: https://codereview.chromium.org/1157293002

Cr-Commit-Position: refs/heads/master@{#28662}
2015-05-27 16:09:13 +00:00
vogelheim
21e6831ee0 Fix DCHECK on SetBookmark.
The DCHECK was a lie. The idea was that - when a bookmark is set -
the scanner must clearly be at a character boundary and hence the
bookmark does not need to save a 'partial' UTF-8 code point. The
first part is true - the Scanner is always at a character boundary -
but the 'partial' UTF-8 code point is at the end of a block, not at
the current character position of the Scanner.
Hence, the 'partial' character needs to be saved as well.

jkummerow: Thanks for noticing.

BUG=chromium:470930
R=jochen@chromium.org, jkummerow@chromium.org
LOG=N

Review URL: https://codereview.chromium.org/1154773004

Cr-Commit-Position: refs/heads/master@{#28661}
2015-05-27 15:43:42 +00:00
jochen
2a058de88f Introduce v8::Object::CreateDataProperty
Also deprecate ForceSet

BUG=chromium:475206
R=adamk@chromium.org,verwaest@chromium.org
LOG=y

Review URL: https://codereview.chromium.org/1154233003

Cr-Commit-Position: refs/heads/master@{#28660}
2015-05-27 15:03:35 +00:00
mvstanton
5450fc07ba VectorICs: allocating slots for store ics in ast nodes.
Also adapt code generation to pass the slot to the
store/keyed-store ic. AST nodes ObjectLiteral, Assignment,
ForEach, Call and CountOperation now include one or more
feedback vector ic slot ids.

BUG=

Review URL: https://codereview.chromium.org/1161623002

Cr-Commit-Position: refs/heads/master@{#28659}
2015-05-27 14:26:25 +00:00
hpayer
42fc431078 Treat weak references in context weakly in write barrier.
BUG=

Review URL: https://codereview.chromium.org/1152153004

Cr-Commit-Position: refs/heads/master@{#28658}
2015-05-27 14:13:08 +00:00