platform/upstream/v8.git
9 years agoRemove unnecessary Isolate::Current calls from hydrogen-instructions
jochen [Fri, 15 May 2015 01:49:33 +0000 (18:49 -0700)]
Remove unnecessary Isolate::Current calls from hydrogen-instructions

BUG=none
R=vogelheim@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28408}

9 years agoFix deprecation declarations in headers
jochen [Fri, 15 May 2015 01:48:25 +0000 (18:48 -0700)]
Fix deprecation declarations in headers

BUG=none
R=ulan@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28407}

9 years agoRemove unnecessary call to Isolate::Current in parser-shell
jochen [Fri, 15 May 2015 01:47:15 +0000 (18:47 -0700)]
Remove unnecessary call to Isolate::Current in parser-shell

R=vogelheim@chromium.org
BUG=none
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28406}

9 years ago[es6] support spread-calling Super-accessing properties
caitpotter88 [Thu, 14 May 2015 22:59:22 +0000 (15:59 -0700)]
[es6] support spread-calling Super-accessing properties

BUG=v8:4105, v8:3018
LOG=N
R=arv@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28405}

9 years agoRevert of MIPS: Add float instructions and test coverage, part one
paul.lind [Thu, 14 May 2015 18:44:46 +0000 (11:44 -0700)]
Revert of MIPS: Add float instructions and test coverage, part one

Reason for revert:
Simulator test failures in RunChangeFloat64ToInt.., RunChangeTaggedToInt32,
div-mul-minus-one

Original issue's description:

> Implement assembler, disassembler tests for all instructions for mips32
> and mips64. Additionally, add missing single precision float instructions
> for r2 and r6 architecture variants in assembler, simulator and disassembler
> with corresponding tests.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28404}

9 years agoRevert of Prevent stack overflow in the serializer/deserializer. (patchset #6 id...
machenbach [Thu, 14 May 2015 14:59:30 +0000 (07:59 -0700)]
Revert of Prevent stack overflow in the serializer/deserializer. (patchset #6 id:100001 of https://codereview.chromium.org/1125073004/)

Reason for revert:
[Sheriff] Breaks msan:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/2266

Original issue's description:
> Prevent stack overflow in the serializer/deserializer.
>
> We keep an eye on the recursion depth. Once it exceeds a limit, we serialize
> only the object header and size, but defer serializing the object body for
> after we have unwound the stack.
>
> R=mvstanton@chromium.org
>
> Committed: https://crrev.com/36b4a498d6614243454d5a182e4946b0dad24f0a
> Cr-Commit-Position: refs/heads/master@{#28385}

TBR=mvstanton@chromium.org,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28403}

9 years agoMIPS: Add float instructions and test coverage, part one
Djordje.Pesic [Thu, 14 May 2015 14:02:40 +0000 (07:02 -0700)]
MIPS: Add float instructions and test coverage, part one

Implement assembler, disassembler tests for all instructions for mips32 and mips64. Additionally, add missing single precision float instructions for r2 and r6 architecture variants in assembler, simulator and disassembler with corresponding tests.

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

Cr-Commit-Position: refs/heads/master@{#28402}

9 years agoRevert "X87: Resolve references to "this" the same way as normal variables"
chunyang.dai [Thu, 14 May 2015 09:22:57 +0000 (02:22 -0700)]
Revert "X87: Resolve references to "this" the same way as normal variables"

This reverts commit 6eea252463648d81cf3ae128e6f0d5f815a108bb.

revert reason:
   original patch is reverted.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28401}

9 years agoUpdate V8 DEPS.
v8-autoroll [Thu, 14 May 2015 03:26:16 +0000 (20:26 -0700)]
Update V8 DEPS.

Rolling v8/testing/gtest to 23574bf2333f834ff665f894c97bef8a5b33a0a9

Rolling v8/tools/clang to 17e168207560f2dfdf95e50c5eb79e6d3ac1eaf6

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28400}

9 years ago[turbofan] Treat uninitialized source positions as unknown.
titzer [Wed, 13 May 2015 16:08:03 +0000 (09:08 -0700)]
[turbofan] Treat uninitialized source positions as unknown.

R=mstarzinger@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28399}

9 years ago[turbofan] Reenable feedback for LoadNamed.
titzer [Wed, 13 May 2015 13:50:41 +0000 (06:50 -0700)]
[turbofan] Reenable feedback for LoadNamed.

R=jarin@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28398}

9 years agoRely on ExpressionClassifier to match valid arrow function formals
wingo [Wed, 13 May 2015 13:32:27 +0000 (06:32 -0700)]
Rely on ExpressionClassifier to match valid arrow function formals

R=dslomov@chromium.org
LOG=N
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28397}

9 years ago[strong] Introduce strong bit
rossberg [Wed, 13 May 2015 13:31:19 +0000 (06:31 -0700)]
[strong] Introduce strong bit

Only set on strong functions so far to test basic operation.

R=dslomov@chromium.org
BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28396}

9 years agoRevert "Resolve references to "this" the same way as normal variables"
yangguo [Wed, 13 May 2015 13:30:06 +0000 (06:30 -0700)]
Revert "Resolve references to "this" the same way as normal variables"

... and the following two
"PPC: Resolve references to "this" the same way as normal variables"
"Remove Scope::scope_uses_this_ flag"

R=hablich@chromium.org
BUG=chromium:487289
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28395}

9 years ago[turbofan] Turn off type feedback in turbo mode until StoreNamed issue is resolved.
Ben L. Titzer [Wed, 13 May 2015 13:08:25 +0000 (15:08 +0200)]
[turbofan] Turn off type feedback in turbo mode until StoreNamed issue is resolved.

TBR=jarin@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28394}

9 years ago[turbofan] Lower more number operations to integer operations.
bmeurer [Wed, 13 May 2015 12:53:54 +0000 (05:53 -0700)]
[turbofan] Lower more number operations to integer operations.

If the typer was able to prove that a NumberAdd/Sub/Mul/Div/Mod always
produces a Signed32/Unsigned32 value, and the inputs are
Signed32/Unsigned32, we can lower the node to the corresponding integer
operation instead, no matter what the uses are.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28393}

9 years ago[turbofan] Add FrameStates before all property accesses.
titzer [Wed, 13 May 2015 12:29:38 +0000 (05:29 -0700)]
[turbofan] Add FrameStates before all property accesses.

R=jarin@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28392}

9 years agoUse ExpressionClassifier to identify valid arrow function formals
wingo [Wed, 13 May 2015 11:45:04 +0000 (04:45 -0700)]
Use ExpressionClassifier to identify valid arrow function formals

R=dslomov@chromium.org
LOG=N
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28391}

9 years agoX87: Resolve references to "this" the same way as normal variables
chunyang.dai [Wed, 13 May 2015 11:18:41 +0000 (04:18 -0700)]
X87: Resolve references to "this" the same way as normal variables

port bd56d279b612f92d2d1d25f92d32fe7f42a455ca (R28340).

original commit message:

    Make the parser handle references to "this" as unresolved variables, so the
    same logic as for the rest of function parameters is used for the receiver.
    Minor additions to the code generation handle copying the receiver to the
    context, along with the rest of the function parameters.

    Based on work by Adrian Perez de Castro <aperez@igalia.com>.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28390}

9 years ago[turbofan] Use frame state before for shift operations as well.
bmeurer [Wed, 13 May 2015 11:17:31 +0000 (04:17 -0700)]
[turbofan] Use frame state before for shift operations as well.

This was already done for other binary operations, so it's basically
copying the existing functionality to shift left and shift right
logical/arithmetic.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28389}

9 years agoX87: New hydrogen instruction to reduce cost of growing an array on keyed stores.
chunyang.dai [Wed, 13 May 2015 11:16:25 +0000 (04:16 -0700)]
X87: New hydrogen instruction to reduce cost of growing an array on keyed stores.

port 3bce9c3afbe792167a54db49b16679289e0aea8f (r28359).

original commit message:

    HMaybeGrowElements moves the situation where you actually have to grow
    into deferred code. This means crankshaft doesn't have to spill registers
    just to make the bounds comparison to see if it'll need to grow or not.

    It makes the growing case a bit more expensive, but reduces the cost of
    the general case.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28388}

9 years agoX87: [strong] Check arity of functions
chunyang.dai [Wed, 13 May 2015 11:15:42 +0000 (04:15 -0700)]
X87: [strong] Check arity of functions

port 3226e980200035f37c86fef4b11fb307e17764a2 (28346).

original commit message:

    [strong] Check arity of functions

    In strong mode it is an error to call a function with too few
    arguments.

    This is enforced inside the ArgumentsAdaptorTrampoline.

    This does not yet handle rest parameter

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28387}

9 years agoX87: Add a MathFloor stub generated with TurboFan
chunyang.dai [Wed, 13 May 2015 11:14:35 +0000 (04:14 -0700)]
X87: Add a MathFloor stub generated with TurboFan

port  abc35080b33cc31e47b9913e64ac99ec687c6b65 (r28339)

original commit message:

    This stub will be used as the basis of a Math.floor-specific CallIC to
    detect and track calls to floor that return -0.

    Along the way:
    - Create a TurboFanCodeStub super class from which the StringLength and
    MathRound TF stubs derive.
    - Fix the ugly hack that passes the first stub parameter as the "this"
    pointer in the the TF-compiled JS function.
    - Fix bugs in the ia32/x64 disassembler.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28386}

9 years agoPrevent stack overflow in the serializer/deserializer.
yangguo [Wed, 13 May 2015 10:18:35 +0000 (03:18 -0700)]
Prevent stack overflow in the serializer/deserializer.

We keep an eye on the recursion depth. Once it exceeds a limit, we serialize
only the object header and size, but defer serializing the object body for
after we have unwound the stack.

R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28385}

9 years ago[test] Make perf runner able to pass extra flags to d8.
machenbach [Wed, 13 May 2015 10:00:43 +0000 (03:00 -0700)]
[test] Make perf runner able to pass extra flags to d8.

TEST=tools/run_perf.py --arch x64 --extra-flags="--turbo --turbo-verify-allocation --turbo-greedy-regalloc" /path/to/SunSpider.json
BUG=484208
LOG=n
TBR=tandrii@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28384}

9 years ago[turbofan] Add frame state before JavaScript comparisons.
bmeurer [Wed, 13 May 2015 07:38:42 +0000 (00:38 -0700)]
[turbofan] Add frame state before JavaScript comparisons.

Use these check points to optimize comparisons where we already know
that one side cannot be a String (or turn into a string via
ToPrimitive).

Also remove bunch of useless DoNotCrash tests for the scheduler that are
painful to maintain and add almost no value.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28383}

9 years agoImplement %TypedArray%.{fill,find,findIndex}
dehrenberg [Wed, 13 May 2015 04:32:12 +0000 (21:32 -0700)]
Implement %TypedArray%.{fill,find,findIndex}

This patch adds three methods to TypedArrays which are already
implemented for arrays. The implementations are made by calling
out to the underlying code used by Arrays.

R=adamk@chromium.org
BUG=v8:3578
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#28382}

9 years agoTypedArray.prototype.copyWithin method
dehrenberg [Tue, 12 May 2015 19:20:58 +0000 (12:20 -0700)]
TypedArray.prototype.copyWithin method

This patch adds the copyWithin method to TypedArrays. For the first
pass, the internals of Array.copyWithin are used. Eventually, a more
efficient form based on memcpy could be used instead.

BUG=v8:3578
LOG=Y
R=adamk@chromium.org, arv@chromium.org, caitpotter88@gmail.com

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

Cr-Commit-Position: refs/heads/master@{#28381}

9 years agoFix test formatting
dslomov [Tue, 12 May 2015 18:12:56 +0000 (11:12 -0700)]
Fix test formatting

TBR=arv@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28380}

9 years ago[strong] Add more function arity tests
arv [Tue, 12 May 2015 17:37:34 +0000 (10:37 -0700)]
[strong] Add more function arity tests

This is a follow up to https://codereview.chromium.org/1115263004/

BUG=v8:3956
LOG=N
R=rossberg@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28379}

9 years agoMake transition to reduce memory mode more conservative in idle time handler.
ulan [Tue, 12 May 2015 17:25:04 +0000 (10:25 -0700)]
Make transition to reduce memory mode more conservative in idle time handler.

BUG=chromium:486005
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#28378}

9 years agoFix the behavior of 'super.foo' assignment when receiver is not an object.
dslomov [Tue, 12 May 2015 17:13:12 +0000 (10:13 -0700)]
Fix the behavior of 'super.foo' assignment when receiver is not an object.

R=arv@chromium.org,verwaest@chromium.org
BUG=v8:4097
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28377}

9 years agoMake LoadFastElementStub a HandlerStub.
mvstanton [Tue, 12 May 2015 16:51:14 +0000 (09:51 -0700)]
Make LoadFastElementStub a HandlerStub.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28376}

9 years agoPPC: Fix '[strong] Disallow implicit conversions for comparison'
mbrandy [Tue, 12 May 2015 16:48:16 +0000 (09:48 -0700)]
PPC: Fix '[strong] Disallow implicit conversions for comparison'

Do not trash type register in kIsNotStringMask test.

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

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

Cr-Commit-Position: refs/heads/master@{#28375}

9 years agoPPC: Fix '[strong] Disallow implicit conversions for comparison'
mbrandy [Tue, 12 May 2015 16:43:24 +0000 (09:43 -0700)]
PPC: Fix '[strong] Disallow implicit conversions for comparison'

Fix build break.

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

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

Cr-Commit-Position: refs/heads/master@{#28374}

9 years agoGet more debugging data when crashing in Deoptimizer::GetOutputInfo.
hpayer [Tue, 12 May 2015 15:48:04 +0000 (08:48 -0700)]
Get more debugging data when crashing in Deoptimizer::GetOutputInfo.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28373}

9 years agoPPC: New hydrogen instruction to reduce cost of growing an array on keyed stores.
mbrandy [Tue, 12 May 2015 15:42:39 +0000 (08:42 -0700)]
PPC: New hydrogen instruction to reduce cost of growing an array on keyed stores.

Port 3bce9c3afbe792167a54db49b16679289e0aea8f

Original commit message:
HMaybeGrowElements moves the situation where you actually have to grow
into deferred code. This means crankshaft doesn't have to spill registers
just to make the bounds comparison to see if it'll need to grow or not.

It makes the growing case a bit more expensive, but reduces the cost of
the general case.

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

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

Cr-Commit-Position: refs/heads/master@{#28372}

9 years agoProvide accessor for object internal properties that doesn't require debugger to...
yurys [Tue, 12 May 2015 15:40:31 +0000 (08:40 -0700)]
Provide accessor for object internal properties that doesn't require debugger to be active

Some of the DevTools' clients need to inspect JS objects without enabling debugger. This CL allows to inspect object's internal properties without enabling debugger and instantiating debug context.

Note that now debug context can be created lazily if v8::Debug::GetDebugContext is called when there is no debug listener. This is fragile and has already resulted in some subtle error. I'm going to fix that in a separate CL.

BUG=chromium:481845
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#28371}

9 years ago[strong] Disallow implicit conversions for comparison
conradw [Tue, 12 May 2015 15:23:53 +0000 (08:23 -0700)]
[strong] Disallow implicit conversions for comparison

Implements the strong mode proposal's restrictions on implicit conversions
for the binary >, >=, <, and <= operators.

BUG=v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28370}

9 years agoMark internal AccessorInfo properties as "special data properties" to ensure correct...
verwaest [Tue, 12 May 2015 15:11:18 +0000 (08:11 -0700)]
Mark internal AccessorInfo properties as "special data properties" to ensure correct strict-mode handling.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28369}

9 years agoFix test-heap/BootstrapperExports on no-snap builds
yangguo [Tue, 12 May 2015 14:28:40 +0000 (07:28 -0700)]
Fix test-heap/BootstrapperExports on no-snap builds

NOTRY=true
NOTREECHECKS=true
TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28368}

9 years agoReland "Use function wrapper argument to expose internal arrays to native scripts."
yangguo [Tue, 12 May 2015 14:00:47 +0000 (07:00 -0700)]
Reland "Use function wrapper argument to expose internal arrays to native scripts."

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

Cr-Commit-Position: refs/heads/master@{#28367}

9 years agoMigrate error messages, part 10.
yangguo [Tue, 12 May 2015 13:52:26 +0000 (06:52 -0700)]
Migrate error messages, part 10.

R=mvstanton@chromium.org

Committed: https://crrev.com/8608e619afe2b4514b0577bfb73a153b1550d41f
Cr-Commit-Position: refs/heads/master@{#28357}

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

Cr-Commit-Position: refs/heads/master@{#28366}

9 years agoRevert of Provide accessor for object internal properties that doesn't require debugg...
yangguo [Tue, 12 May 2015 13:03:59 +0000 (06:03 -0700)]
Revert of Provide accessor for object internal properties that doesn't require debugger to be active (patchset #3 id:40001 of https://codereview.chromium.org/1126103006/)

Reason for revert:
GC mole issues: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20gcmole/builds/1950/steps/GCMole%20ia32/logs/stdio

Original issue's description:
> Provide accessor for object internal properties that doesn't require debugger to be active
>
> Some of the DevTools' clients need to inspect JS objects without enabling debugger. This CL allows to inspect object's internal properties without enabling debugger and instantiating debug context.
>
> Note that now debug context can be created lazily if v8::Debug::GetDebugContext is called when there is no debug listener. This is fragile and has already resulted in some subtle error. I'm going to fix that in a separate CL.
>
> BUG=chromium:481845
> LOG=Y
>
> Committed: https://crrev.com/bdeb0de88c8cf5f2c78f261b45314138f525110d
> Cr-Commit-Position: refs/heads/master@{#28362}

TBR=pfeldman@chromium.org,kozyatinskiy@chromium.org,yurys@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:481845

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

Cr-Commit-Position: refs/heads/master@{#28365}

9 years ago[turbofan] Correctify FrameState before operations in JSTypeFeedbackSpecializer.
titzer [Tue, 12 May 2015 12:57:32 +0000 (05:57 -0700)]
[turbofan] Correctify FrameState before operations in JSTypeFeedbackSpecializer.

Handle missing or improper FrameStates more gracefully.
Uses the operator properties to determine if the node contains a FrameState
before, then checks if a valid bailout id exists.

R=jarin@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28364}

9 years ago[turbofan] Add AdvancedReducer::ReplaceWithValue() method and convert JSInlining...
titzer [Tue, 12 May 2015 12:41:41 +0000 (05:41 -0700)]
[turbofan] Add AdvancedReducer::ReplaceWithValue() method and convert JSInlining to an AdvancedReducer.

Note that this is just a duplication for now. We'll want to get rid of the
NodeProperties::ReplaceWithValue() method in the long run.

R=bmeurer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28363}

9 years agoProvide accessor for object internal properties that doesn't require debugger to...
yurys [Tue, 12 May 2015 12:38:17 +0000 (05:38 -0700)]
Provide accessor for object internal properties that doesn't require debugger to be active

Some of the DevTools' clients need to inspect JS objects without enabling debugger. This CL allows to inspect object's internal properties without enabling debugger and instantiating debug context.

Note that now debug context can be created lazily if v8::Debug::GetDebugContext is called when there is no debug listener. This is fragile and has already resulted in some subtle error. I'm going to fix that in a separate CL.

BUG=chromium:481845
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#28362}

9 years ago[turbofan] Use FrameStatesBeforeAndAfter to simplify handling of before/after frame...
titzer [Tue, 12 May 2015 12:30:27 +0000 (05:30 -0700)]
[turbofan] Use FrameStatesBeforeAndAfter to simplify handling of before/after frame states in AstGraphBuilder.

R=jarin@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28361}

9 years agoImplement unaligned allocate and allocate heap numbers in runtime double unaligned.
hpayer [Tue, 12 May 2015 11:44:46 +0000 (04:44 -0700)]
Implement unaligned allocate and allocate heap numbers in runtime double unaligned.

In follow-up CLs the scavenger and the MC collector should also respect the unalignment of heap numbers.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28360}

9 years agoNew hydrogen instruction to reduce cost of growing an array on keyed stores.
mvstanton [Tue, 12 May 2015 08:47:15 +0000 (01:47 -0700)]
New hydrogen instruction to reduce cost of growing an array on keyed stores.

HMaybeGrowElements moves the situation where you actually have to grow
into deferred code. This means crankshaft doesn't have to spill registers
just to make the bounds comparison to see if it'll need to grow or not.

It makes the growing case a bit more expensive, but reduces the cost of
the general case.

BUG=chromium:484025
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28359}

9 years agoRevert of Migrate error messages, part 10. (patchset #2 id:20001 of https://coderevie...
yangguo [Tue, 12 May 2015 08:33:27 +0000 (01:33 -0700)]
Revert of Migrate error messages, part 10. (patchset #2 id:20001 of https://codereview.chromium.org/1126043004/)

Reason for revert:
patch didn't apply correctly.

Original issue's description:
> Migrate error messages, part 10.
>
> R=mvstanton@chromium.org
>
> Committed: https://crrev.com/8608e619afe2b4514b0577bfb73a153b1550d41f
> Cr-Commit-Position: refs/heads/master@{#28357}

TBR=mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28358}

9 years agoMigrate error messages, part 10.
yangguo [Tue, 12 May 2015 08:16:55 +0000 (01:16 -0700)]
Migrate error messages, part 10.

R=mvstanton@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28357}

9 years agoDon't create debug context if debug listener is not set
yurys [Tue, 12 May 2015 07:33:21 +0000 (00:33 -0700)]
Don't create debug context if debug listener is not set

If there had been no debug listener v8::Debug::GetDebugContext would have created new context and wouln't have kept reference to it. This way we may well end up with several debug contexts and disabled debugger.

As a side effect this change allows to efficiently distinguish debug context from blink contexts by simply comparing handles.

BUG=chromium:482290
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#28356}

9 years agoRevert of Use function wrapper argument to expose internal arrays to native scripts...
yangguo [Tue, 12 May 2015 07:26:05 +0000 (00:26 -0700)]
Revert of Use function wrapper argument to expose internal arrays to native scripts. (patchset #2 id:20001 of https://codereview.chromium.org/1127983003/)

Reason for revert:
custom snapshot builder failing.

Original issue's description:
> Use function wrapper argument to expose internal arrays to native scripts.
>
> R=jkummerow@chromium.org
>
> Committed: https://crrev.com/a9b5a1795449d94387218d25baed2c2b3c4fbadc
> Cr-Commit-Position: refs/heads/master@{#28354}

TBR=jkummerow@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28355}

9 years agoUse function wrapper argument to expose internal arrays to native scripts.
yangguo [Tue, 12 May 2015 06:14:17 +0000 (23:14 -0700)]
Use function wrapper argument to expose internal arrays to native scripts.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28354}

9 years agoDeprecate Isolate::New
jochen [Tue, 12 May 2015 04:59:46 +0000 (21:59 -0700)]
Deprecate Isolate::New

Embedders need to always pass CreateParams now

BUG=none
LOG=y
R=vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28353}

9 years agoUpdate V8 DEPS.
v8-autoroll [Tue, 12 May 2015 03:24:43 +0000 (20:24 -0700)]
Update V8 DEPS.

Rolling v8/buildtools to b73e5f70d7ac6be98fb2555461f631afc90216ce

Rolling v8/third_party/icu to ce41627e388fb46ab49671bd16a5db81dcd75a71

Rolling v8/tools/clang to 6e259b4afbbd784a775e47f37379e57f002bf0c2

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28352}

9 years agoFactor out core of Array.forEach and .every, for use in TypedArrays
dehrenberg [Tue, 12 May 2015 01:32:26 +0000 (18:32 -0700)]
Factor out core of Array.forEach and .every, for use in TypedArrays

The idea is to make this the model for future TypedArray methods.
A possible downside could be lower array method performance
if everything gets polymorhpic (but if enough inlining happens, it
should still be fast), but on the upside, this change means that
the TypedArray methods won't create as much code size bloat.

BUG=v8:3578
LOG=Y
R=adamk@chromium.org
CC=arv@chromium.org, caitpotter88@gmail.com

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

Cr-Commit-Position: refs/heads/master@{#28351}

9 years agoMIPS64: Improve '[strong] Check arity of functions'
akos.palfi [Mon, 11 May 2015 23:07:43 +0000 (16:07 -0700)]
MIPS64: Improve '[strong] Check arity of functions'

Port 3226e980200035f37c86fef4b11fb307e17764a2

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28350}

9 years ago[es6] stage Object.assign() / --harmony-object
caitpotter88 [Mon, 11 May 2015 22:53:41 +0000 (15:53 -0700)]
[es6] stage Object.assign() / --harmony-object

BUG=v8:4007
LOG=N
R=

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

Cr-Commit-Position: refs/heads/master@{#28349}

9 years agoPPC: [strong] Check arity of functions
mbrandy [Mon, 11 May 2015 19:08:49 +0000 (12:08 -0700)]
PPC: [strong] Check arity of functions

Port 3226e980200035f37c86fef4b11fb307e17764a2

Original commit message:
In strong mode it is an error to call a function with too few
arguments.

This is enforced inside the ArgumentsAdaptorTrampoline.

This does not yet handle rest parameters

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

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

Cr-Commit-Position: refs/heads/master@{#28348}

9 years agoMIPS: Fix Add a MathFloor stub generated with TurboFan.
paul.lind [Mon, 11 May 2015 18:49:54 +0000 (11:49 -0700)]
MIPS: Fix Add a MathFloor stub generated with TurboFan.

Port abc35080b33cc31e47b9913e64ac99ec687c6b65

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28347}

9 years ago[strong] Check arity of functions
arv [Mon, 11 May 2015 17:20:43 +0000 (10:20 -0700)]
[strong] Check arity of functions

In strong mode it is an error to call a function with too few
arguments.

This is enforced inside the ArgumentsAdaptorTrampoline.

This does not yet handle rest parameters

BUG=v8:3956
LOG=N
R=rossberg@chromium.org, dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28346}

9 years ago[destructuring] Implement basic binding destructuring infrastructure
dslomov [Mon, 11 May 2015 16:28:28 +0000 (09:28 -0700)]
[destructuring] Implement basic binding destructuring infrastructure

This patch:
  - Refactors Parser::ParseVariableDeclarations
  - Introduces Parser::PatternMatcher class
  - Implements matching a single variable pattern
  - Implements rudimentary matching against object literal pattern
    as a proof of concept

R=arv@chromium.org,rossberg@chromium.org
BUG=v8:811
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28345}

9 years agoAdd a bailout id just before every variable load in fullcode.
titzer [Mon, 11 May 2015 15:56:07 +0000 (08:56 -0700)]
Add a bailout id just before every variable load in fullcode.

R=jarin@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28344}

9 years agoRemove Scope::scope_uses_this_ flag
wingo [Mon, 11 May 2015 15:42:19 +0000 (08:42 -0700)]
Remove Scope::scope_uses_this_ flag

R=rossberg@chromium.org
LOG=N
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28343}

9 years agoPPC: Resolve references to "this" the same way as normal variables
mbrandy [Mon, 11 May 2015 14:34:31 +0000 (07:34 -0700)]
PPC: Resolve references to "this" the same way as normal variables

Port bd56d279b612f92d2d1d25f92d32fe7f42a455ca

Original commit message:
Make the parser handle references to "this" as unresolved variables, so the
same logic as for the rest of function parameters is used for the receiver.
Minor additions to the code generation handle copying the receiver to the
context, along with the rest of the function parameters.

Based on work by Adrian Perez de Castro <aperez@igalia.com>.

This is a reapplication of https://codereview.chromium.org/1130733003.

R=wingo@igalia.com, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28342}

9 years agoPPC: Add a MathFloor stub generated with TurboFan
mbrandy [Mon, 11 May 2015 14:33:27 +0000 (07:33 -0700)]
PPC: Add a MathFloor stub generated with TurboFan

Port abc35080b33cc31e47b9913e64ac99ec687c6b65

Original commit message:
This stub will be used as the basis of a Math.floor-specific CallIC to
detect and track calls to floor that return -0.

Along the way:
- Create a TurboFanCodeStub super class from which the StringLength and
MathRound TF stubs derive.
- Fix the ugly hack that passes the first stub parameter as the "this"
pointer in the the TF-compiled JS function.
- Fix bugs in the ia32/x64 disassembler.

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

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

Cr-Commit-Position: refs/heads/master@{#28341}

9 years agoResolve references to "this" the same way as normal variables
wingo [Mon, 11 May 2015 11:49:48 +0000 (04:49 -0700)]
Resolve references to "this" the same way as normal variables

Make the parser handle references to "this" as unresolved variables, so the
same logic as for the rest of function parameters is used for the receiver.
Minor additions to the code generation handle copying the receiver to the
context, along with the rest of the function parameters.

Based on work by Adrian Perez de Castro <aperez@igalia.com>.

This is a reapplication of https://codereview.chromium.org/1130733003.

R=rossberg@chromium.org
BUG=v8:2700
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#28340}

9 years agoAdd a MathFloor stub generated with TurboFan
danno [Mon, 11 May 2015 11:45:02 +0000 (04:45 -0700)]
Add a MathFloor stub generated with TurboFan

This stub will be used as the basis of a Math.floor-specific CallIC to
detect and track calls to floor that return -0.

Along the way:
- Create a TurboFanCodeStub super class from which the StringLength and
MathRound TF stubs derive.
- Fix the ugly hack that passes the first stub parameter as the "this"
pointer in the the TF-compiled JS function.
- Fix bugs in the ia32/x64 disassembler.

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

Cr-Commit-Position: refs/heads/master@{#28339}

9 years agoAdd %GetUndetectable() test intrinsic and add tests for undetectables.
titzer [Mon, 11 May 2015 11:28:50 +0000 (04:28 -0700)]
Add %GetUndetectable() test intrinsic and add tests for undetectables.

R=verwaest@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28338}

9 years agoFix more -Werror=sign-compare bugs with GCC 4.9.2
wingo [Mon, 11 May 2015 11:07:12 +0000 (04:07 -0700)]
Fix more -Werror=sign-compare bugs with GCC 4.9.2

R=svenpanne@chromium.org
LOG=N
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28337}

9 years ago[test] Skip Slimming Paint layout tests.
machenbach [Mon, 11 May 2015 11:03:50 +0000 (04:03 -0700)]
[test] Skip Slimming Paint layout tests.

Also make the expectation lint check happy.

TBR=jochen@chromium.org
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#28336}

9 years agoPostpone counters triggered during GC, and use a HandleScope when calling back.
erikcorry [Mon, 11 May 2015 10:57:55 +0000 (03:57 -0700)]
Postpone counters triggered during GC, and use a HandleScope when calling back.

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

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

Cr-Commit-Position: refs/heads/master@{#28335}

9 years ago[test-runner] Improve test execution without tmp files for output.
machenbach [Mon, 11 May 2015 09:26:37 +0000 (02:26 -0700)]
[test-runner] Improve test execution without tmp files for output.

BUG=chromium:485932
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28334}

9 years agoFix build after revert at 28332.
yangguo [Mon, 11 May 2015 08:50:38 +0000 (01:50 -0700)]
Fix build after revert at 28332.

TBR=machenbach@chromium.org
NOTRY=true
NOTREECHECKS=true

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

Cr-Commit-Position: refs/heads/master@{#28333}

9 years agoRevert of Add the concept of a V8 extras exports object (patchset #5 id:80001 of...
machenbach [Mon, 11 May 2015 08:20:02 +0000 (01:20 -0700)]
Revert of Add the concept of a V8 extras exports object (patchset #5 id:80001 of https://codereview.chromium.org/1128113006/)

Reason for revert:
[Sheriff] Causes gc stress failures:
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20gc%20stress/builds/2167

Original issue's description:
> Add the concept of a V8 extras exports object
>
> Exposed to the extras as extrasExports (on the builtins object), on
> which they can put things that should be accessible from C++. Exposed
> to C++ through the V8 API as v8::Context::GetExtrasExportsObject().
>
> Adding a test (in test-api.cc) required adding a simple extra,
> test-extra.js, which we build into the standalone builds.
>
> R=yangguo@chromium.org, jochen@chromium.org
> BUG=
>
> Committed: https://crrev.com/ad547cea05f3e02c67243b682e933fc53ac763d9
> Cr-Commit-Position: refs/heads/master@{#28317}

TBR=jochen@chromium.org,yangguo@chromium.org,domenic@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28332}

9 years agoCall builtin code wrapped in functions from the bootstrapper.
yangguo [Mon, 11 May 2015 08:14:54 +0000 (01:14 -0700)]
Call builtin code wrapped in functions from the bootstrapper.

For the moment, we only pass the global object (the one we are setting up).
A few smaller changes were necessary to avoid failures in
test-object-observe/DontLeakContextOnObserve. Otherwise the global object
would be retained by being context allocated, leading to test failure.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28331}

9 years ago[turbofan] Extract frame-states.h from common-operator.h
titzer [Mon, 11 May 2015 08:03:03 +0000 (01:03 -0700)]
[turbofan] Extract frame-states.h from common-operator.h

R=jarin@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28330}

9 years agoUpdate V8 DEPS.
v8-autoroll [Mon, 11 May 2015 03:39:29 +0000 (20:39 -0700)]
Update V8 DEPS.

Rolling v8/tools/clang to 5bab78c6ced45a71a8e095a09697ca80492e57e1

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28329}

9 years agoUpdate V8 DEPS.
v8-autoroll [Sun, 10 May 2015 03:38:05 +0000 (20:38 -0700)]
Update V8 DEPS.

Rolling v8/tools/clang to 72b418e60c4529a7b160cead01b099de6ea8445f

TBR=machenbach@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28328}

9 years agoLet Runtime_GrowArrayElements accept non-Smi numbers as |key|.
jkummerow [Sat, 9 May 2015 10:30:44 +0000 (03:30 -0700)]
Let Runtime_GrowArrayElements accept non-Smi numbers as |key|.

BUG=chromium:485410
LOG=y
R=mvstanton@chromium.org,danno@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28327}

9 years agoOnly double align in PagedSpace::AllocateRawDoubleAligned when allocation succeeded.
hpayer [Sat, 9 May 2015 10:29:33 +0000 (03:29 -0700)]
Only double align in PagedSpace::AllocateRawDoubleAligned when allocation succeeded.

BUG=chromium:486003
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28326}

9 years agoMake one copy for all TypedArray methods
dehrenberg [Sat, 9 May 2015 01:20:01 +0000 (18:20 -0700)]
Make one copy for all TypedArray methods

This is the first step of converting TypedArrays to the proper
proto chain. There is one copy for each of the Harmony TypedArray
methods, rather than a version for each TypedArray type. This
form prevents accidentally baking in knowledge about a particular
array type into the method definition.

R=adamk@chromium.org, arv@chromium.org, caitpotter88@gmail.com, dslomov@chromium.org, jochen@chromium.org
BUG=v8:4085
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#28325}

9 years agoWhitespace CL to test master split.
Michael Achenbach [Fri, 8 May 2015 21:32:05 +0000 (23:32 +0200)]
Whitespace CL to test master split.

Cr-Commit-Position: refs/heads/master@{#28324}

9 years ago[turbofan] Fix handling of OsrLoopEntry in ControlReducer::ConnectNTL()
titzer [Fri, 8 May 2015 15:44:27 +0000 (08:44 -0700)]
[turbofan] Fix handling of OsrLoopEntry in ControlReducer::ConnectNTL()

R=jarin@chromium.org
LOG=Y
BUG=chromium:485908

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

Cr-Commit-Position: refs/heads/master@{#28323}

9 years agoIf marking deque allocation fails, try to make do with a smaller one
erikcorry [Fri, 8 May 2015 15:12:44 +0000 (08:12 -0700)]
If marking deque allocation fails, try to make do with a smaller one

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28322}

9 years agoGive ComputeCapacityForSerialization a minimum capacity
adamk [Fri, 8 May 2015 15:03:35 +0000 (08:03 -0700)]
Give ComputeCapacityForSerialization a minimum capacity

This avoids DCHECK failures when passing 0 as the at_least_space_for
argument to HashTableBase::New (allowing converting code from non-serialized
to serialized without changing callsites).

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

Cr-Commit-Position: refs/heads/master@{#28321}

9 years agoRemove explicit double alignment from allocation helper functions.
hpayer [Fri, 8 May 2015 14:11:47 +0000 (07:11 -0700)]
Remove explicit double alignment from allocation helper functions.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28320}

9 years agoAdd support for on-heap typed arrays to HLoadKeyed::InferRange
jochen [Fri, 8 May 2015 13:30:55 +0000 (06:30 -0700)]
Add support for on-heap typed arrays to HLoadKeyed::InferRange

BUG=v8:3996
R=bmeurer@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28319}

9 years ago[turbofan] Use sbfx in ARM64 instruction selector
martyn.capewell [Fri, 8 May 2015 12:51:42 +0000 (05:51 -0700)]
[turbofan] Use sbfx in ARM64 instruction selector

Select sbfx for ((x << k) >> k) in ARM64 instruction selector, and similarly
for ubfx. This is a more generic version of the previous sxtb/h selector.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#28318}

9 years agoAdd the concept of a V8 extras exports object
domenic [Fri, 8 May 2015 12:06:35 +0000 (05:06 -0700)]
Add the concept of a V8 extras exports object

Exposed to the extras as extrasExports (on the builtins object), on
which they can put things that should be accessible from C++. Exposed
to C++ through the V8 API as v8::Context::GetExtrasExportsObject().

Adding a test (in test-api.cc) required adding a simple extra,
test-extra.js, which we build into the standalone builds.

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

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

Cr-Commit-Position: refs/heads/master@{#28317}

9 years ago[clusterfuzz] Length 0 is perfectly fine for BitVector.
bmeurer [Fri, 8 May 2015 12:01:46 +0000 (05:01 -0700)]
[clusterfuzz] Length 0 is perfectly fine for BitVector.

BUG=chromium:485952
LOG=n
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28316}

9 years agoMIPS [turbofan]: Improve fpu branch assembling for unordered conditions.
dusan.milosavljevic [Fri, 8 May 2015 09:42:42 +0000 (02:42 -0700)]
MIPS [turbofan]: Improve fpu branch assembling for unordered conditions.

TEST=
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28315}

9 years ago[turbofan] Don't try to push JSToNumber into phis early.
bmeurer [Fri, 8 May 2015 09:34:54 +0000 (02:34 -0700)]
[turbofan] Don't try to push JSToNumber into phis early.

This should not be done during typed lowering, but should be part of a
dedicated truncation/conversion analysis.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28314}

9 years agoInitialize sub-array literals first before pointing to it.
hpayer [Fri, 8 May 2015 09:24:29 +0000 (02:24 -0700)]
Initialize sub-array literals first before pointing to it.

BUG=484544
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#28313}

9 years agoTurboFan: commit dependencies only on update of the opt. code list.
mvstanton [Fri, 8 May 2015 09:13:09 +0000 (02:13 -0700)]
TurboFan: commit dependencies only on update of the opt. code list.

TurboFan compilation was committing dependencies long before the
optimized function made it's way into the optimized code list for
the native context. The problem is that once the code pointer is out
there in dependency arrays, it is eligible for deopt. But the deopt
logic needs the code to be in the optimized code list to fully do it's
job.

BUG=
R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28312}

9 years agoRe-land: Make V8 extras a separate type of native
domenic [Fri, 8 May 2015 08:44:47 +0000 (01:44 -0700)]
Re-land: Make V8 extras a separate type of native

Instead of making them an extra option that gets passed in and compiled
at the end of the natives file for a given run of js2c, we now make them a
separate run of js2c with a separate natives file output.

This natives file output is then compiled in the bootstrapper. It is not part
of the snapshot (yet), but instead is treated similar to the experimental
natives, just without any of the complexity that comes from tieing the
behavior to flags. We also don't need counterparts to
InitializeExperimentalGlobal and InstallExperimentalNativeFunctions (yet?).

This fixes the issue with https://codereview.chromium.org/1129743003 by making
the dummy file that is generated for snapshots with no extras (or no experimental
features) nonempty.

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

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

Cr-Commit-Position: refs/heads/master@{#28311}

9 years ago[turbofan] Float32Abs and Float64Abs are supported by all backends.
bmeurer [Fri, 8 May 2015 08:24:59 +0000 (01:24 -0700)]
[turbofan] Float32Abs and Float64Abs are supported by all backends.

The Float32Abs and Float64Abs operators are supported by all TurboFan
backends, so we no longer need the flags for them.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#28310}

9 years agoRevert of Allow loading holes from holey smi arrays (patchset #2 id:20001 of https...
verwaest [Fri, 8 May 2015 07:28:55 +0000 (00:28 -0700)]
Revert of Allow loading holes from holey smi arrays (patchset #2 id:20001 of https://codereview.chromium.org/1134483002/)

Reason for revert:
Shouldn't unconditionally load holes since it tanks performance. I'll change it in a follow-up to only do it if the IC ever saw it happen.

Original issue's description:
> Allow loading holes from holey smi arrays
>
> BUG=
>
> Committed: https://crrev.com/eab5bb5390fab79d063f29398377c6d181963dde
> Cr-Commit-Position: refs/heads/master@{#28298}

TBR=mvstanton@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

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

Cr-Commit-Position: refs/heads/master@{#28309}