Commit Graph

26817 Commits

Author SHA1 Message Date
oth
daf185b243 Revert of [Interpreter] Add CreateClosure to BytecodeGraphBuilder. (patchset #8 id:140001 of https://codereview.chromium.org/1458603012/ )
Reason for revert:
Build break.

Original issue's description:
> [Interpreter] Add CreateClosure to BytecodeGraphBuilder.
>
> Adds code and tests to support CreateClosure bytecode when building
> graphs.
>
> BUG=v8:4280
> LOG=N
>
> Committed: https://crrev.com/4cceb11b0929abcbc82bf0854554a9b66003335d
> Cr-Commit-Position: refs/heads/master@{#32224}

TBR=bmeurer@chromium.org,mythria@chromium.org,mstarzinger@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4280

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

Cr-Commit-Position: refs/heads/master@{#32225}
2015-11-24 18:11:00 +00:00
oth
4cceb11b09 [Interpreter] Add CreateClosure to BytecodeGraphBuilder.
Adds code and tests to support CreateClosure bytecode when building
graphs.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32224}
2015-11-24 17:51:54 +00:00
verwaest
8e28e851ee Install ConstructNonConstructable as construct stub for non-constructables.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32223}
2015-11-24 17:17:00 +00:00
adamk
515093630a Move --harmony-destructuring-bind to shipping
Also fix CheckConflictingVarDeclarations() to properly handle
legacy const bindings. Without that change enabling the flag
causes code like:

  function f() { const x; var x; }

to throw an early error, rather than wait to throw the error
until f is invoked.

BUG=v8:811
LOG=y
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#32222}
2015-11-24 16:50:16 +00:00
mtrofin
c3e6048cde We can avoid spilling live ranges with spill ranges when we have
sufficient physical registers for all the virtual registers.

This should come in handy for frame elision. There, I noticed that even
for very small functions (==very few virtual registers), because we spill
the context/function marker ranges, we lose the frame elision
opportunity.

There is a subsequent change needed to fully help frame elision -
decoupling spilling of context & function marker from prologue.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32221}
2015-11-24 16:48:02 +00:00
bmeurer
1b1db13549 [runtime] Pass closure to %CreateArrayLiteral and %CreateObjectLiteral.
Change the runtime entries and their associated code stubs for object
and array literal creation to take the closure instead of the raw
literals pointer. This is way easier to deal with (and cleaner) in
TurboFan.

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32220}
2015-11-24 16:05:49 +00:00
ishell
0ef5ad5ab9 Reshuffle registers in JSConstructStub to avoid trashing costructor and new.target on fast path (so we don't need to push/pop them).
This CL also fixed register usages in MacroAssembler::Allocate() broken by 2fc2cb99 (r32144).

BUG=chromium:560239
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#32219}
2015-11-24 15:37:08 +00:00
ulan
e777784fb4 Optimize ClearNonLiveReferences: collect dependent code only from maps that are embedded in optimize code.
BUG=chromium:554488
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#32218}
2015-11-24 15:35:43 +00:00
jochen
0fb2edd15d Make fast_exp take an Isolate* paramter
We still share the code globally, but if we wanted, it would be easy to
make it per isolate now

BUG=v8:2487
R=yangguo@chromium.org,jkummerow@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32217}
2015-11-24 15:34:48 +00:00
mstarzinger
062586dbf9 [turbofan] Hide dangerous RawMachineAssembler accessors.
Having access to the unfinished schedule inside of raw machine assembler
turned out to be dangerous, because it cannot be used without exporting
which in turn computes the RPO of the schedule.

R=vogelheim@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32216}
2015-11-24 14:51:30 +00:00
machenbach
29f4515d61 Revert of Add test to check PRNG quality. (patchset #3 id:40001 of https://codereview.chromium.org/1467133006/ )
Reason for revert:
[Sheriff] Times out on arm:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim/builds/6202/steps/Check/logs/RandomBitCorrelations

Original issue's description:
> Add test to check PRNG quality.
>
> Credits go to Erik Corry. Taken from:
> https://github.com/dart-lang/fletch/blob/master/src/shared/random_test.cc
>
> R=jkummerow@chromium.org
> BUG=v8:4566
> LOG=N
>
> Committed: https://crrev.com/1a90af55d1e9d7d84e813dc367d475457c7df1ff
> Cr-Commit-Position: refs/heads/master@{#32211}

TBR=jkummerow@chromium.org,erikcorry@google.com,yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4566

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

Cr-Commit-Position: refs/heads/master@{#32215}
2015-11-24 14:50:05 +00:00
machenbach
f54a055901 Work-around for passing CC/CXX for arm cross-compilation with make.
BUG=chromium:534332
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32214}
2015-11-24 14:34:08 +00:00
epertoso
4307e44899 Adds the possibility of setting a Code object as the callback of a FunctionTemplate.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32213}
2015-11-24 14:33:23 +00:00
neis
a25018905d [proxies] Implement [[PreventExtensions]] and [[IsExtensible]].
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32212}
2015-11-24 14:16:24 +00:00
yangguo
1a90af55d1 Add test to check PRNG quality.
Credits go to Erik Corry. Taken from:
https://github.com/dart-lang/fletch/blob/master/src/shared/random_test.cc

R=jkummerow@chromium.org
BUG=v8:4566
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32211}
2015-11-24 14:14:59 +00:00
yangguo
eeb7c05558 [es6] Implement @@match subclassing.
BUG=v8:4305
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32210}
2015-11-24 13:57:31 +00:00
ofrobots
e7560013e3 [heap] report allocated object to the inline-allocation-observers
Makes it possible for the the inline allocation observers to be sample the
actual object allocation on which the notification triggers.

R=hpayer@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32209}
2015-11-24 13:48:05 +00:00
yangguo
912314be27 Correctly handlify Dictionary::CollectKeysTo.
'this' is a raw pointer and can be invalidated through GC, even
though the rest of the code is correctly handlified.

R=cbruni@chromium.org, jkummerow@chromium.org
BUG=v8:4570
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32208}
2015-11-24 13:43:59 +00:00
bmeurer
68ce906134 [turbofan] Introduce proper CreateLiteralParameters.
Put the constant parts of the CreateLiteralArray and CreateLiteralObject
operators into CreateLiteralParameters and properly use them everywhere.

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32207}
2015-11-24 13:42:30 +00:00
yangguo
085fed0fb5 Implement xorshift128+ for Math.random.
BUG=v8:4566
LOG=N

Committed: https://crrev.com/2755c5a1b1cf7fc4c5c614378e5231636e6dcff5
Cr-Commit-Position: refs/heads/master@{#32200}

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

Cr-Commit-Position: refs/heads/master@{#32206}
2015-11-24 13:18:44 +00:00
bmeurer
9846f386f0 [compiler] No need to push literal index in VisitArrayLiteral.
The literal index is being pushed onto the stack while evaluating
the non-constant subexpressions, but never used in fullcodegen (and
hence not used in the optimizing compilers).

R=mstarzinger@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32205}
2015-11-24 13:04:36 +00:00
yangguo
a19f2d7eca Blacklist mjsunit/harmony/reflect-own-keys for gc-stress.
TBR=ulan@chromium.org
BUG=v8:4570
LOG=N
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32204}
2015-11-24 12:21:22 +00:00
mstarzinger
7c45b00529 [turbofan] Switch passing of new.target to register.
This passes the new.target value in a register instead of through a
side-channel via the construct stub. Note that only TurboFan code uses
the register value so far, but unoptimized code will be switched soon.

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

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

Cr-Commit-Position: refs/heads/master@{#32203}
2015-11-24 11:39:23 +00:00
yangguo
be22cdafc2 Revert of Implement xorshift128+ for Math.random. (patchset #6 id:100001 of https://codereview.chromium.org/1464303002/ )
Reason for revert:
Test failure: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/491/steps/Mjsunit/logs/reflect-own-keys

Original issue's description:
> Implement xorshift128+ for Math.random.
>
> BUG=v8:4566
> LOG=N
>
> Committed: https://crrev.com/2755c5a1b1cf7fc4c5c614378e5231636e6dcff5
> Cr-Commit-Position: refs/heads/master@{#32200}

TBR=bmeurer@chromium.org,jkummerow@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4566

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

Cr-Commit-Position: refs/heads/master@{#32202}
2015-11-24 11:32:43 +00:00
machenbach
8cd3cf2972 [release] Add monitoring state to auto-roller json output.
The option --json-output will make the auto-roller dump a
json file with a monitoring_state key. This can be one of:
started, up_to_date, success.

BUG=chromium:559141
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32201}
2015-11-24 11:00:16 +00:00
yangguo
2755c5a1b1 Implement xorshift128+ for Math.random.
BUG=v8:4566
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32200}
2015-11-24 10:59:31 +00:00
machenbach
86bd2b3c23 Revert of Disable non-standard Promise functions in staging (patchset #5 id:80001 of https://codereview.chromium.org/1469543003/ )
Reason for revert:
[Sheriff] This breaks ignition on arm sim debug:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/5317

Seems to not be caught by the cq bot that builds release with dchecks.

Original issue's description:
> Disable non-standard Promise functions in staging
>
> This patch removes Promise functions and methods which are absent
> from the ES2015 specification when the --es-staging flag is on.
>
> BUG=v8:3237
> R=rossberg
> LOG=Y
>
> Committed: https://crrev.com/941251af7e04d50ac2243da2870249a42111221a
> Cr-Commit-Position: refs/heads/master@{#32194}

TBR=rossberg@chromium.org,littledan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3237

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

Cr-Commit-Position: refs/heads/master@{#32199}
2015-11-24 10:58:03 +00:00
bmeurer
09fb5686e6 [turbofan] Properly recognize and optimize comparisons with the_hole.
We use comparisons with the_hole to implement temporal dead zones, so we
should also optimize those, as they currently turn into CompareIC calls.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32198}
2015-11-24 10:15:53 +00:00
zhengxing.li
4620a235bf X87: [builtins] Sanitize the machinery around Construct calls.
port 374b6ea210 (r32172)

  original commit message:
  There's no point in collecting feedback for super constructor calls,
  because in all (interesting) cases we can gather (better) feedback from
  other sources (i.e. via inlining or via using a LOAD_IC to get to the
  [[Prototype]] of the target).  So CallConstructStub is now only used
  for new Foo(...args) sites where we want to collect feedback in the
  baseline compiler.  The optimizing compilers, Reflect.construct and
  super constructor calls use the Construct builtin directly, which allows
  us to remove some weird code from the CallConstructStub (and opens the
  possibility for more code sharing with the CallICStub, maybe even going
  for a ConstructICStub).

  Also remove the 100% redundant HCallNew instruction, which is just a
  wrapper for the Construct builtin anyway (indirectly via the
  CallConstructStub).

  Drive-by-fix: Drop unused has_function_cache bit on Code objects.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32197}
2015-11-24 09:53:46 +00:00
neis
e3c1cd84a4 [proxies] Use internalized strings for trap names.
R=rossberg
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32196}
2015-11-24 09:45:00 +00:00
ishell
4dcba71de7 Allow in-object properties in JSFunctions.
This CL also fixes HeapObject::IterateFast() and HeapObject::IterateBodyFast().

BUG=v8:4531
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#32195}
2015-11-24 08:55:25 +00:00
littledan
941251af7e Disable non-standard Promise functions in staging
This patch removes Promise functions and methods which are absent
from the ES2015 specification when the --es-staging flag is on.

BUG=v8:3237
R=rossberg
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#32194}
2015-11-24 08:51:54 +00:00
machenbach
5aff14adfd [release] Merge auto-roll and wrapped chromium-roll scripts.
This replaces chromium_roll and the wrapper auto_roll with
just auto_roll. The arguments for the revision to roll and
the last rolled revision are optional and will be
auto-detected (this feature is from the wrapper).

Checking the cq box is default now (as in the wrapper).

BUG=chromium:559141
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#32193}
2015-11-24 08:39:34 +00:00
zhengxing.li
84010cb2c7 X87: Make arguments adaptor not clobber new.target.
port c1e7c8d972 (r32171)

  original commit message:
  This ensures that the ArgumentsAdaptorTrampoline does not clobber the
  new.target value, but rather passes it through to the callee unaltered.
  Note that callees do not yet use the new.target value so far.

  This is a preparatory CL to allows us passing new.target in a register
  instead of via a side-channel through the construct stub frame.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#32192}
2015-11-24 07:03:45 +00:00
bmeurer
e39050473f [turbofan] Initial support for inline allocations of arrays.
Add support for using inline allocations for arrays in lowering of
JSCreateArray when target equals new.target.  Currently we are only
concerend with the straight-forward Array() and Array(length) cases,
but at some point TurboFan should also be able to support the more
complex initializing cases.

R=mvstanton@chromium.org
BUG=v8:4470
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32191}
2015-11-24 07:02:55 +00:00
v8-autoroll
d705e1abc7 Update V8 DEPS.
Rolling v8/tools/clang to 71b766acbd4f2dbe860bcb57c003eba006244ae9

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

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

Cr-Commit-Position: refs/heads/master@{#32190}
2015-11-24 06:33:44 +00:00
littledan
70177a817c Revert of [Intl] create new instances when new.target is undefined (patchset #2 id:20001 of https://codereview.chromium.org/1440593003/ )
Reason for revert:
This breaks backwards compatibility by disallowing call. Web application authors have noticed the breakage. https://github.com/tc39/ecma402/issues/57

Original issue's description:
> [Intl] create new instances when new.target is undefined
>
> BUG=v8:4360
> LOG=N
> R=littledan@chromium.org
>
> Committed: https://crrev.com/fa9c39eeadd8e692af03b024fe2fdcf94ad0da6b
> Cr-Commit-Position: refs/heads/master@{#31971}

TBR=caitpotter88@gmail.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4360

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

Cr-Commit-Position: refs/heads/master@{#32189}
2015-11-24 01:54:59 +00:00
adamk
2ea7f3c869 [es6] Fix parsing of 'yield' in function and generator expressions
In a function expression, 'yield' is allowed, even if the expression
occurs inside a generator. Similarly, even in a non-generator,
a generator expression's name must not be 'yield'.

BUG=v8:3983
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32188}
2015-11-23 21:34:30 +00:00
gdeepti
21a7a1069f Implement type check and error raising semantics in SIMD runtime functions.
- Throw type errors instead of runtime asserts.
 - Also required for SIMD tests ported to Test262 to work with V8

BUG=4501

LOG=N

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

Cr-Commit-Position: refs/heads/master@{#32187}
2015-11-23 21:25:04 +00:00
mbrandy
fe14ba45d6 PPC: [builtins] Sanitize the machinery around Construct calls.
Port 374b6ea210

Original commit message:
    There's no point in collecting feedback for super constructor calls,
    because in all (interesting) cases we can gather (better) feedback from
    other sources (i.e. via inlining or via using a LOAD_IC to get to the
    [[Prototype]] of the target).  So CallConstructStub is now only used
    for new Foo(...args) sites where we want to collect feedback in the
    baseline compiler.  The optimizing compilers, Reflect.construct and
    super constructor calls use the Construct builtin directly, which allows
    us to remove some weird code from the CallConstructStub (and opens the
    possibility for more code sharing with the CallICStub, maybe even going
    for a ConstructICStub).

    Also remove the 100% redundant HCallNew instruction, which is just a
    wrapper for the Construct builtin anyway (indirectly via the
    CallConstructStub).

    Drive-by-fix: Drop unused has_function_cache bit on Code objects.

R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:4413, v8:4430
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32186}
2015-11-23 20:05:28 +00:00
mbrandy
ee72c4079c PPC: [stubs] Change CallICStub to utilize the ConvertReceiverMode.
Port d80fd48e5d

Original commit message:
    The CallICStub has call-site specific knowledge about the receiver,
    which we did not utilize; plus the CallICStub does in some case know
    whether it is about to [[Call]] a function or potentially some other
    callable. In the common case we actually know that the target is a
    function and so we can use the CallFunction builtin directly instead
    of redispatching in the Call builtin.

R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=chromium:555127, v8:4413
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32185}
2015-11-23 20:01:22 +00:00
mbrandy
395884deb7 PPC: Make arguments adaptor not clobber new.target.
Port c1e7c8d972

Original commit message:
    This ensures that the ArgumentsAdaptorTrampoline does not clobber the
    new.target value, but rather passes it through to the callee unaltered.
    Note that callees do not yet use the new.target value so far.

    This is a preparatory CL to allows us passing new.target in a register
    instead of via a side-channel through the construct stub frame.

R=mstarzinger@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:4544
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32184}
2015-11-23 18:45:28 +00:00
mbrandy
1d1557d8fd PPC: [turbofan]: Implement tail calls with more callee than caller parameters
Port c6d310da4d

Original commit message:
    * Adds a PrepareForTailCall instruction that bumps the stack in the case that
      the number of parameters passed to the callee causes the stack to exceed the
      calleer's frame size.
    * Uses the gap resolver to move the saved caller return address and frame
      pointer to the approprate location in the tail-called frame.

R=danno@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:4076
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32183}
2015-11-23 15:32:18 +00:00
mbrandy
07b5084962 PPC: Fix object initialization when slack tracking for it's map is still enabled.
Port 2fc2cb99f5

Original commit message:
    The old code was not ready for properly initialize objects with non
    standard headers and non zero in-object properties number.

    MacroAssembler::Allocate() implementations now return both start and
    end addresses of the new object (done by parameter renaming).

R=ishell@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32182}
2015-11-23 15:09:57 +00:00
mbrandy
bc5e7fc335 PPC: [turbofan] Implemented the TruncateFloat64ToUint64 TurboFan operator.
Port f6e689cebb

Original commit message:
    The TruncateFloat64ToUint64 operator converts a float64 to an uint64 using
    round-to-zero rounding mode (truncate). If the input value is outside uint64
    range, then the result depends on the architecture.

R=ahaas@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#32181}
2015-11-23 15:04:00 +00:00
mbrandy
8ced019a59 PPC: [runtime] Introduce a proper %NewArray runtime entry.
Port ceade6cf23

Original commit message:
    This adds a new %NewArray runtime entry, which constructs a new JSArray
    and does the subclassing correctly (to the same degree that %NewObject
    does currently), and also deals properly with the AllocationSite
    feedback mechanism. This runtime entry will be used by TurboFan and is
    also used as a fallback in the subclassing case in the stub currently.

R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:3101, v8:3330
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32180}
2015-11-23 15:00:01 +00:00
bmeurer
902f264a57 [turbofan] Teach ad-hoc load elimination about atomic regions.
The LoadElimination in TurboFan can look into the atomic regions and
elimination subsequent loads based on stores/allocations in that atomic
regions.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#32179}
2015-11-23 14:43:58 +00:00
jochen
3b3413442f Some missed three Isolate::Current calls... delete them anyway
BUG=2487
R=yangguo@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32178}
2015-11-23 13:48:26 +00:00
bmeurer
a61a6f9998 [turbofan] Allow to consume feedback on CallConstruct.
Add an eager deoptimization location for JSCallConstruct and adapt the
JSCallReducer to consume target feedback for construction sites (only
applies to explicit new F(...args) not the super constructor calls).
Also recognize the new Array(...args) constructs with only target
feedback.

R=jarin@chromium.org
BUG=v8:4470
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32177}
2015-11-23 13:34:29 +00:00
jochen
0da1a0c068 Remove v8::i::Isolate::Current from cctests
BUG=2487
R=yangguo@chromium.org
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#32176}
2015-11-23 12:38:33 +00:00