Commit Graph

33367 Commits

Author SHA1 Message Date
jarin
b190d13331 [turbofan] Only do value numbering when types are compatible.
At the moment, two NumberConstant nodes get different type even if their
value is the same because we always allocate a new heap number for
each number constant. This can lead to replacing a node with a node of
disjoint type in value numbering, which can result in incorrect code
down the line because of inconsistent types.

This fix makes sure that we only replace a node with a sub-type
node. Once we introduce a proper type for number constants, we can
move back to the intersection typing in value numbering.

Unfortunately, it is quite hard to write a repro for this because we cache NumberConstant nodes. We only throw away cached values that have too many conflicts (>5), so the test has to contain values that fall into the same bucket. That's where the magic floating point numbers in the test come from (they have the same low 8-bits of their hashes).

BUG=chromium:633497

Review-Url: https://codereview.chromium.org/2251833002
Cr-Commit-Position: refs/heads/master@{#38675}
2016-08-17 08:45:26 +00:00
ahaas
4150b5c68f [turbofan] Cleanup for Float64Max and Float64Min.
This CL removes the optional operator flag of Float64Max and Float64Min.
Additionally it renames the instruction codes on x64 and ia32 because
the old instructions codes (e.g. SSEFloat64Max) do not match the
generated code anymore.

R=bmeurer@chromium.org

Review-Url: https://codereview.chromium.org/2237813002
Cr-Commit-Position: refs/heads/master@{#38674}
2016-08-17 08:34:23 +00:00
marja
f59c047331 Scope analysis: DCHECK that we allocate rest_parameter_ only once.
BUG=v8:5209

Review-Url: https://codereview.chromium.org/2254433002
Cr-Commit-Position: refs/heads/master@{#38673}
2016-08-17 08:02:24 +00:00
v8-autoroll
1c5019e6c6 Update V8 DEPS.
Rolling v8/build to 9a1647ec813695da7960692f711a1cebc948d551

Rolling v8/third_party/WebKit/Source/platform/inspector_protocol to b53e3af6bfca3333fc2dd69302dac6667a8c6418

Rolling v8/tools/clang to b5889296bac50b31f1d2806633fe99dfc2b26b54

Rolling v8/tools/mb to c5a112880d83d509e88c01d524c988845a3a3ba6

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review-Url: https://codereview.chromium.org/2247183004
Cr-Commit-Position: refs/heads/master@{#38672}
2016-08-17 03:23:52 +00:00
adamk
7783d6fae7 [style] Rename some enum values with 'k' prefix
See https://google.github.io/styleguide/cppguide.html#Enumerator_Names

Also rename "FunctionBody" to "FunctionBodyType" and move it inside
Parser, which is the only place it's referenced.

R=caitp@igalia.com, littledan@chromium.org

Review-Url: https://codereview.chromium.org/2245133003
Cr-Commit-Position: refs/heads/master@{#38671}
2016-08-16 23:05:07 +00:00
sampsong
43b76f1a43 S390: Clean up the use of UNALIGNED_ACCESSES
BUG=

Review-Url: https://codereview.chromium.org/2249293002
Cr-Commit-Position: refs/heads/master@{#38670}
2016-08-16 22:21:34 +00:00
rmcilroy
de2f16d38e Revert of [Interpreter] Introduce InterpreterCompilationJob (patchset #7 id:140001 of https://codereview.chromium.org/2240463002/ )
Reason for revert:
Breaks Win64 bot

Original issue's description:
> [Interpreter] Introduce InterpreterCompilationJob
>
> Adds InterpreterCompilationJob as a sub-class of
> CompilationJob, to enable off-thread bytecode
> generation. Currently only used in
> Interpreter::MakeBytecode.
>
> As part of this change, CompilationJob is modified
> to make it less specific to optimized compilation,
> renaming the phases as follows:
>  - CreateGraph -> PrepareJob
>  - OptimizeGraph -> ExecuteJob
>  - GenerateCode -> FinalizeJob
>
> RegisterWeakObjectsInOptimizedCode is also moved out
> of CompilationJob and instead becomes a static function
> on Compiler.
>
> BUG=v8:5203
>
> Committed: https://crrev.com/1fb6a7e697e8bc5b4af51647553741f966e00cdc
> Committed: https://crrev.com/785990e9fc0dd9a9d963d25d0bed2909165e4ca9
> Cr-Original-Commit-Position: refs/heads/master@{#38662}
> Cr-Commit-Position: refs/heads/master@{#38668}

TBR=mstarzinger@chromium.org,jkummerow@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5203

Review-Url: https://codereview.chromium.org/2251673003
Cr-Commit-Position: refs/heads/master@{#38669}
2016-08-16 20:18:07 +00:00
rmcilroy
785990e9fc [Interpreter] Introduce InterpreterCompilationJob
Adds InterpreterCompilationJob as a sub-class of
CompilationJob, to enable off-thread bytecode
generation. Currently only used in
Interpreter::MakeBytecode.

As part of this change, CompilationJob is modified
to make it less specific to optimized compilation,
renaming the phases as follows:
 - CreateGraph -> PrepareJob
 - OptimizeGraph -> ExecuteJob
 - GenerateCode -> FinalizeJob

RegisterWeakObjectsInOptimizedCode is also moved out
of CompilationJob and instead becomes a static function
on Compiler.

BUG=v8:5203

Committed: https://crrev.com/1fb6a7e697e8bc5b4af51647553741f966e00cdc
Review-Url: https://codereview.chromium.org/2240463002
Cr-Original-Commit-Position: refs/heads/master@{#38662}
Cr-Commit-Position: refs/heads/master@{#38668}
2016-08-16 19:28:49 +00:00
mlippautz
5d9deb255c [heap] ObjectStats: Various new categories
- Add object template categories.
- Add optimized code literals.
- Add compilation cache hash tables.
- Report overhead for code cache when used as hashtable.

BUG=chromium:631094

Review-Url: https://codereview.chromium.org/2246473002
Cr-Commit-Position: refs/heads/master@{#38667}
2016-08-16 19:26:42 +00:00
hablich
e7ccf0c297 Revert of Better pack fields in Variable (patchset #1 id:1 of https://codereview.chromium.org/2253513002/ )
Reason for revert:
Revert: Breaks ARM build: https://uberchromegw.corp.google.com/i/client.v8.ports/builders/V8%20Arm%20-%20builder/builds/2999

Original issue's description:
> Better pack fields in Variable
>
> This reduces sizeof(Variable) from 64 to 40 on x64
>
> BUG=v8:5209
>
> Committed: https://crrev.com/d84343568047c8621a6b8f88f20a7f34586321b8
> Cr-Commit-Position: refs/heads/master@{#38659}

TBR=marja@chromium.org,jkummerow@chromium.org,verwaest@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5209

Review-Url: https://codereview.chromium.org/2249203002
Cr-Commit-Position: refs/heads/master@{#38666}
2016-08-16 18:21:54 +00:00
jkummerow
95db63ab6b [js2c] Fix ordering issue of TextMacro expansion
If a key is a substring of an earlier value, then the earlier value
will unintentionally be clobbered. For example with:
  macro SET_PRIVATE(obj, sym, val) = (obj[sym] = val);
  SET_PRIVATE(iterator, arrayIteratorObjectSymbol, object);
if the mapping is:
  {'val': 'object',
   'obj': 'iterator',
   'sym': 'arrayIteratorObjectSymbol'}
then 'obj' -> 'iterator' will clobber 'val' -> 'object', resulting in
'val' -> 'iteratorect'. To fix this, replace all substitutions
simultaneously.

Patch from Zoe Clifford <zoeclifford@google.com>

Review-Url: https://codereview.chromium.org/2249873004
Cr-Commit-Position: refs/heads/master@{#38665}
2016-08-16 16:51:39 +00:00
bjaideep
888c67e995 PPC/s390: TurboFan: Introduce TaggedSigned and TaggedPointer representations.
Port d941b52d73

Original commit message:

    These new representations aren't used yet.

R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com

BUG=
LOG=N

Review-Url: https://codereview.chromium.org/2246213004
Cr-Commit-Position: refs/heads/master@{#38664}
2016-08-16 16:00:29 +00:00
rmcilroy
ce65e10597 Revert of [Interpreter] Introduce InterpreterCompilationJob (patchset #7 id:140001 of https://codereview.chromium.org/2240463002/ )
Reason for revert:
Failing on Win64 bot:
https://build.chromium.org/p/client.v8/builders/V8%20Win64/builds/12061/steps/Check/logs/regress-635429

Original issue's description:
> [Interpreter] Introduce InterpreterCompilationJob
>
> Adds InterpreterCompilationJob as a sub-class of
> CompilationJob, to enable off-thread bytecode
> generation. Currently only used in
> Interpreter::MakeBytecode.
>
> As part of this change, CompilationJob is modified
> to make it less specific to optimized compilation,
> renaming the phases as follows:
>  - CreateGraph -> PrepareJob
>  - OptimizeGraph -> ExecuteJob
>  - GenerateCode -> FinalizeJob
>
> RegisterWeakObjectsInOptimizedCode is also moved out
> of CompilationJob and instead becomes a static function
> on Compiler.
>
> BUG=v8:5203
>
> Committed: https://crrev.com/1fb6a7e697e8bc5b4af51647553741f966e00cdc
> Cr-Commit-Position: refs/heads/master@{#38662}

TBR=mstarzinger@chromium.org,jkummerow@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5203

Review-Url: https://codereview.chromium.org/2249153002
Cr-Commit-Position: refs/heads/master@{#38663}
2016-08-16 15:06:52 +00:00
rmcilroy
1fb6a7e697 [Interpreter] Introduce InterpreterCompilationJob
Adds InterpreterCompilationJob as a sub-class of
CompilationJob, to enable off-thread bytecode
generation. Currently only used in
Interpreter::MakeBytecode.

As part of this change, CompilationJob is modified
to make it less specific to optimized compilation,
renaming the phases as follows:
 - CreateGraph -> PrepareJob
 - OptimizeGraph -> ExecuteJob
 - GenerateCode -> FinalizeJob

RegisterWeakObjectsInOptimizedCode is also moved out
of CompilationJob and instead becomes a static function
on Compiler.

BUG=v8:5203

Review-Url: https://codereview.chromium.org/2240463002
Cr-Commit-Position: refs/heads/master@{#38662}
2016-08-16 14:45:24 +00:00
verwaest
4be63d6dc6 Simplify num_heap_slots_ calculation of deserialized scopes
BUG=v8:5209

Review-Url: https://codereview.chromium.org/2244233003
Cr-Commit-Position: refs/heads/master@{#38661}
2016-08-16 13:15:15 +00:00
ivica.bogosavljevic
998f779727 MIPS: [compiler] [wasm] Introduce Word32/64ReverseBytes as TF Optional Opcode.
Port 77c9cb8341.

Original commit message:
This commit fixes wasm little-endian load issue on big-endian platform
by introducing reverse byte operation immediately after a load.

BUG=

Review-Url: https://codereview.chromium.org/2235703002
Cr-Commit-Position: refs/heads/master@{#38660}
2016-08-16 13:07:37 +00:00
verwaest
d843435680 Better pack fields in Variable
This reduces sizeof(Variable) from 64 to 40 on x64

BUG=v8:5209

Review-Url: https://codereview.chromium.org/2253513002
Cr-Commit-Position: refs/heads/master@{#38659}
2016-08-16 13:06:26 +00:00
titzer
b73376b908 [wasm] Macro-ify checking of prototype flags.
R=ahaas@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2253543003
Cr-Commit-Position: refs/heads/master@{#38658}
2016-08-16 12:49:31 +00:00
mvstanton
d941b52d73 TurboFan: Introduce TaggedSigned and TaggedPointer representations.
These new representations aren't used yet.

BUG=

Review-Url: https://codereview.chromium.org/2216383002
Cr-Commit-Position: refs/heads/master@{#38657}
2016-08-16 12:41:43 +00:00
verwaest
4872bc816f Remove virtual destructor from Variable, mark Variable final
BUG=

Review-Url: https://codereview.chromium.org/2253503002
Cr-Commit-Position: refs/heads/master@{#38656}
2016-08-16 12:25:44 +00:00
marja
696ae1eead Scopes: Clean up temporaries handling.
There was a weird check in AllocateNonParameterLocal which looked
like ".result" was treated differently from other
temporaries. This couldn't be generalized to other temporaries,
since some temporaries were both in temps_ and params_ (and some,
like ".result" would be only in params_).

Side product: Don't use AstValueFactory in scope analysis. It's
unnecessary (was only used for some DCHECKs which can be replaced
with more general checks). This change also ensures we don't
create new values during scope analysis.

BUG=v8:5209

Review-Url: https://codereview.chromium.org/2242783002
Cr-Commit-Position: refs/heads/master@{#38655}
2016-08-16 12:03:08 +00:00
mic.besace
38de91a5da Solaris/OpenBSD/FreeBSD: [heap] Uncommit unused large object page memory.
Port d61a5c376b

Original commit message:

    As a first step I uncommit the memory on the main thread. Also
    to measure impact and stability of that optimization. In a
    follow-up CL, the uncommitting should be moved on the concurrent thread.

R=jochen@chromium.org, hpayer@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2245703002
Cr-Commit-Position: refs/heads/master@{#38654}
2016-08-16 12:00:53 +00:00
mlippautz
f6875cee3a Clear recorded slots when making a string external.
Slots in ConsString/SlicedString can point to an evacutaion candidate.
The MakeExternal function makes in-place conversion to external string.
After the conversion we can have a recorded slot containing an external
pointer. As long as the external pointer is aligned, this is not a
problem. We clear the recorded slots to fix verify-heap checks.

BUG=chromium:631969
LOG=NO

Finalizing CL: https://codereview.chromium.org/2199863002/

Review-Url: https://codereview.chromium.org/2242183003
Cr-Commit-Position: refs/heads/master@{#38653}
2016-08-16 11:59:30 +00:00
mlippautz
619afa4be9 [heap] AcccountingStats:: int/intptr_t -> size_t
BUG=

Review-Url: https://codereview.chromium.org/2241503002
Cr-Commit-Position: refs/heads/master@{#38652}
2016-08-16 11:09:36 +00:00
klaasb
b07444b16f [interpreter] Add CreateBlockContext bytecode
Allows us to create a corresponding TurboFan node, so TF can
optimize it.

BUG=v8:4280
LOG=n

Review-Url: https://codereview.chromium.org/2248633002
Cr-Commit-Position: refs/heads/master@{#38651}
2016-08-16 11:07:43 +00:00
verwaest
095b28de21 Move module initialization to DeclarationScope
This moves language-mode initialization for MODULE_SCOPE from Scope::SetDefaults to the single constructor that needs to do it. The CL additionally makes it more obvious that scope-info-backed scopes always initialize language-mode unless WITH_SCOPE.

BUG=

Review-Url: https://codereview.chromium.org/2251683002
Cr-Commit-Position: refs/heads/master@{#38650}
2016-08-16 11:00:12 +00:00
bgeron
f1f7222842 [turbofan] Instead of using properties, use a whitelist for store-store elimination. Make --turbo imply --turbo-store-elimination, so it is tested by ClusterFuzz.
This should fix bug v8:5280.

BUG=v8:5280

Review-Url: https://codereview.chromium.org/2236443006
Cr-Commit-Position: refs/heads/master@{#38649}
2016-08-16 10:53:43 +00:00
mstarzinger
cd4a310f1b [interpreter] Stage bytecode preservation.
This stages the --ignition-preserve-bytecode flag which preserves the
bytecode even when switching to baseline code. It is now implied by the
combined --ignition-staging flag.

R=rmcilroy@chromium.org

Review-Url: https://codereview.chromium.org/2244303003
Cr-Commit-Position: refs/heads/master@{#38648}
2016-08-16 10:49:28 +00:00
hablich
f1f572b067 [WASM] Fix build problem on Android
BUG=v8:5291
R=titzer@chromium.org

Review-Url: https://codereview.chromium.org/2241203004
Cr-Commit-Position: refs/heads/master@{#38647}
2016-08-16 09:34:16 +00:00
verwaest
7a2553ff87 Reorder DCHECKs so !is_with_scope() has a chance of being useful
BUG=v8:5209

Review-Url: https://codereview.chromium.org/2247073003
Cr-Commit-Position: refs/heads/master@{#38646}
2016-08-16 09:30:09 +00:00
jgruber
b4c1aefb9c Refactor data structures for simple stack traces
Simple stack traces are captured through Isolate::CaptureSimpleStackTrace.
Captured frames are stored in a FixedArray, which in turn is stored as a
property (using a private symbol) on the error object itself. Actual formatting
of the textual stack trace is done lazily when the user reads the stack
property of the error object.

This would involve many conversions back and forth between index-encoded raw
data (receiver, function, offset and code), JS CallSite objects, and C++
CallSite objects.

This commit refactors the C++ CallSite class into a Struct class called
StackTraceFrame, which is the new single point of truth frame information.
Isolate::CaptureSimpleStackTrace stores an array of StackTraceFrames, and JS
CallSite objects (now created only when the user specifies custom stack trace
formatting through Error.prepareStackTrace) internally only store a reference
to a StackTraceFrame.

BUG=

Review-Url: https://codereview.chromium.org/2230953002
Cr-Commit-Position: refs/heads/master@{#38645}
2016-08-16 08:37:07 +00:00
mtrofin
0686c414a6 [wasm] Serialization test using external APIs and contexts
A test exercising the public APIs for wasm serialization and
simulates the serialization scenario - serialize in one isolate, deserialize
in another.

BUG=v8:5072

Review-Url: https://codereview.chromium.org/2249973002
Cr-Commit-Position: refs/heads/master@{#38644}
2016-08-16 08:07:19 +00:00
verwaest
860a3ce26f Declare 'this' as DYNAMIC_GLOBAL on the script_scope
Follow-up cleanup to https://codereview.chromium.org/2231813003

BUG=

Review-Url: https://codereview.chromium.org/2237873002
Cr-Commit-Position: refs/heads/master@{#38643}
2016-08-16 07:44:10 +00:00
v8-autoroll
12d0c9ae14 Update V8 DEPS.
Rolling v8/build to f5aadfbec4267ecafa3200c571131c84d1ced4be

Rolling v8/third_party/WebKit/Source/platform/inspector_protocol to e17560795294ff0c23bdae7665ec71c95a75561e

Rolling v8/tools/clang to ad9e1e262ff737d779bb2e5b49e3987547f05694

Rolling v8/tools/mb to e89c543a2ab08d70b876130ac83c04a92daffeaf

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review-Url: https://codereview.chromium.org/2249993002
Cr-Commit-Position: refs/heads/master@{#38642}
2016-08-16 03:25:46 +00:00
adamk
9349243506 [ast] Clean up a few unnecessary bits in AST
R=verwaest@chromium.org

Review-Url: https://codereview.chromium.org/2248813002
Cr-Commit-Position: refs/heads/master@{#38641}
2016-08-15 20:53:28 +00:00
jyan
1153621249 s390: Allow larger Operands/Displacements/Offsets in s390
R=joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com, bjaideep@ca.ibm.com
BUG=

Review-Url: https://codereview.chromium.org/2244373002
Cr-Commit-Position: refs/heads/master@{#38640}
2016-08-15 18:57:45 +00:00
gsathya
0f40fb207d [isolate] Remove unused exception handle
Review-Url: https://codereview.chromium.org/2246963002
Cr-Commit-Position: refs/heads/master@{#38639}
2016-08-15 18:18:33 +00:00
adamk
b028e64b27 [turbofan] Re-separate logic for LET and CONST in BuildVariableAssignment
The structure of this code changed in https://codereview.chromium.org/2201193004,
but the structural changes were not essential to that CL's purpose (which was
to use Variable::binding_needs_init() consistently to decide whether to
hole-check). Now the code should appear as it did before that change, but with
the addition of binding_needs_init() checks.

R=bmeurer@chromium.org, mstarzinger@chromium.org

Review-Url: https://codereview.chromium.org/2237933002
Cr-Commit-Position: refs/heads/master@{#38638}
2016-08-15 18:08:08 +00:00
mattloring
b052909c25 [builtins] IndexOf/LastIndexOf implementation for typedarrays
Removes dependence on InnerArrayIndexOf/InnerArrayLastIndexOf and
reduces type polution caused by sharing these functions between standard
and typed arrays.

BUG=

Review-Url: https://codereview.chromium.org/2243523002
Cr-Commit-Position: refs/heads/master@{#38637}
2016-08-15 17:01:29 +00:00
jbroman
c5701e166e Blink-compatible serialization of strings.
This includes UTF-8 strings and two-byte strings, both length-delimited
(in bytes, not characters). Two-byte strings are written/read in host byte
order.

BUG=chromium:148757

Review-Url: https://codereview.chromium.org/2245753002
Cr-Commit-Position: refs/heads/master@{#38636}
2016-08-15 15:27:11 +00:00
jyan
cba03ba85f [compiler] Allow matcher to work on arch without scaling capability
Add an extra paramter to disable scale on BaseWithIndexAndDisplacementMatcher.

R=bmeurer@chromium.org, epertoso@chromium.org, jarin@chromium.org, mstarzinger@chromium.org, mtrofin@chromium.org, titzer@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2239813002
Cr-Commit-Position: refs/heads/master@{#38635}
2016-08-15 14:41:17 +00:00
klaasb
935340a4c5 [interpreter] VisitForTest for bytecode generator
Adds TestResultScope and uses it to directly jump/fall through to the
correct branch in expressions used as branch conditions.
Should enable nicer TurboFan-graphs for easier control-flow
transformations in the future.

BUG=v8:4280
LOG=n

Review-Url: https://codereview.chromium.org/2242463002
Cr-Commit-Position: refs/heads/master@{#38634}
2016-08-15 13:10:59 +00:00
rmcilroy
160d0a1803 [Parser] Remove Variable::is_possibly_eval.
Removes Variable::is_possibly_eval() and instead stores whether
a call is possibly eval in the Call node's bitfield.

Also removes HandleDereferenceMode since it's no longer used.

BUG=v8:5203

Review-Url: https://codereview.chromium.org/2242583003
Cr-Commit-Position: refs/heads/master@{#38633}
2016-08-15 10:59:18 +00:00
baptiste.afsa
75a204583f [turbofan] Use a map to cache values definition in instruction scheduler.
R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2193063003
Cr-Commit-Position: refs/heads/master@{#38632}
2016-08-15 09:15:40 +00:00
v8-autoroll
f8776c5d39 Update V8 DEPS.
Rolling v8/third_party/WebKit/Source/platform/inspector_protocol to ac24d974a70c8611d2837e183d6cf99f39fb0410

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review-Url: https://codereview.chromium.org/2244173002
Cr-Commit-Position: refs/heads/master@{#38631}
2016-08-15 03:21:34 +00:00
jbroman
39bbb6f22a Blink-compatible serialization of numbers.
This includes unsigned integers (encoded as base-128 varints), signed integers
(ZigZag-encoded, then varint-encoded) and doubles (written in host byte order).

BUG=chromium:148757

Review-Url: https://codereview.chromium.org/2232323004
Cr-Commit-Position: refs/heads/master@{#38630}
2016-08-15 01:00:31 +00:00
v8-autoroll
d1dcebd1f5 Update V8 DEPS.
Rolling v8/build to 4155375bddb65fe3d2dbc42ab0d64c4d72527165

Rolling v8/third_party/WebKit/Source/platform/inspector_protocol to 9d440c96636c5a41ce3e40f1924fe41dd2694f51

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review-Url: https://codereview.chromium.org/2244113002
Cr-Commit-Position: refs/heads/master@{#38629}
2016-08-14 03:24:37 +00:00
v8-autoroll
6cd995013e Update V8 DEPS.
Rolling v8/build to 45574dce74fca42e485fbc5cd78bd24bcfeb905f

Rolling v8/buildtools to adb8bf4e8fc92aa1717bf151b862d58e6f27c4f2

Rolling v8/tools/clang to 6d377a47e9c668c7550d17a7d4e6ba9f5931703a

Rolling v8/tools/mb to c78da3f5bccc979b35907c4cbf937aa5187e41fa

TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org

Review-Url: https://codereview.chromium.org/2240213004
Cr-Commit-Position: refs/heads/master@{#38628}
2016-08-13 03:24:27 +00:00
caitp
a9e470797b [parser] improve inferred function names for async arrow functions
No longer include the "async" keyword, or an async arrow function's single
identifier parameter as part of its inferred name.

BUG=v8:5281, v8:4483
R=adamk@chromium.org, littledan@chromium.org, marja@chromium.org

Review-Url: https://codereview.chromium.org/2235423003
Cr-Commit-Position: refs/heads/master@{#38627}
2016-08-12 22:47:11 +00:00
jshin
4e8ebeb03c Throw when case mapping result > max string length
Throw 'Range Error: invalid string length' when the result of
case mapping is longer than the max string length (kMaxLength in
objects.h = 1 << 28 - 16).

This is for case mapping with ICU.

A new test (case-mapping-slow.js) is added with PASS,SLOW. It's
configured to skip unless arch=x64 and mode=release and not on
simulator.

This is a reattempt to land
 https://codereview.chromium.org/2236593002 that was reverted.

BUG=v8:5271
TEST=intl/general/case-mapping-slow.js with --icu_case_mapping

Review-Url: https://codereview.chromium.org/2236963003
Cr-Commit-Position: refs/heads/master@{#38626}
2016-08-12 19:52:32 +00:00