Commit Graph

32112 Commits

Author SHA1 Message Date
bradnelson
f20323dce2 Hooking up asm-wasm conversion.
Directs 'use asm' traffic through asm-wasm conversion when --validate-asm is passed.

Adds a builtin that handles the fallback to JS.

BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203
TEST=asm-wasm
R=mstarzinger@chromium.org,titzer@chromium.org
LOG=N

Review-Url: https://codereview.chromium.org/2057403003
Cr-Commit-Position: refs/heads/master@{#37470}
2016-07-01 05:28:43 +00:00
zhengxing.li
d781b95619 X87: [ia32] Fixes a bug in cmpw.
port 588e15c034 (r37345)

  original commit message:
  The opcodes for 'cmpw r/m16, r16' and 'cmpw r16, r/m16' were swapped, causing a few issues when less than/greater than comparison were performed.

  Adds a regression test.

BUG=

Review-Url: https://codereview.chromium.org/2119793002
Cr-Commit-Position: refs/heads/master@{#37469}
2016-07-01 05:01:33 +00:00
zhengxing.li
727266fcb8 X87: [turbofan] Introduce Float64Pow and NumberPow operators.
port e607e12ea0 (r37323)

  original commit message:
  Introduce a new machine operator Float64Pow that for now is backed by
  the existing MathPowStub to start the unification of Math.pow, and at
  the same time address the main performance issue that TurboFan still has
  with the imaging-darkroom benchmark in Kraken.

  Also migrate the Math.pow builtin itself to a TurboFan builtin and
  remove a few hundred lines of hand-written platform code for special
  handling of the fullcodegen Math.pow version.

BUG=

Review-Url: https://codereview.chromium.org/2119773003
Cr-Commit-Position: refs/heads/master@{#37468}
2016-07-01 04:32:21 +00:00
v8-autoroll
1c1cd34f83 Update V8 DEPS.
Rolling v8/build to c80c063b314ab9cc6c3c5955c7444c2fa514bcec

Rolling v8/buildtools to 454e53abae6e4d68ee992b0a93a4174b75519393

Rolling v8/tools/mb to ea4154b4daca60a5f5c04ef764b7eaf50362250c

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

Review-Url: https://codereview.chromium.org/2113243002
Cr-Commit-Position: refs/heads/master@{#37467}
2016-07-01 04:32:20 +00:00
zhengxing.li
35f3143c6a X87: Reland [heap] Avoid the use of cells to point from code to new-space objects.
port 5e05854019 (r37325)

  original commit message:
  The reason for reverting is: This breaks gc-stress bot:
  https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot

  Abortion of compaction could cause duplicate entries in the typed-old-to-new remembered set. These duplicates could cause a DCHECK to trigger which checks that slots recorded in the remembered set neve

  Original issue's description:

  Cells were needed originally because there was no typed remembered set to
  record direct pointers from code space to new space. A previous
  CL (https://codereview.chromium.org/2003553002/) already introduced
  the remembered set, this CL uses it.

  This CL
  * stores direct pointers in code objects, even if the target is in new space,
  * records the slot of the pointer in typed-old-to-new remembered set,
  * adds a list which stores weak code-to-new-space references,
  * adds a test to test-heap.cc for weak code-to-new-space references,
  * removes prints in tail-call-megatest.js

BUG=

Review-Url: https://codereview.chromium.org/2112193002
Cr-Commit-Position: refs/heads/master@{#37466}
2016-07-01 04:32:19 +00:00
bjaideep
ba61ce5b51 PPC/s390: [builtins] Unify Cosh, Sinh and Tanh as exports from flibm
Port cede9ce5e1

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

BUG=v8:5086
LOG=N

Review-Url: https://codereview.chromium.org/2113193002
Cr-Commit-Position: refs/heads/master@{#37465}
2016-07-01 04:28:58 +00:00
bakkot
8834d5ecb5 Revert of Add errors for declarations which conflict with catch parameters. (patchset #6 id:100001 of https://codereview.chromium.org/2109733003/ )
Reason for revert:
Fuzzer claims `try {  \"\" ; } catch(x) { let x1 = [1,,], x = x; }` causes a crash.

Original issue's description:
> Add errors for declarations which conflict with catch parameters.
>
> Catch parameters are largely treated as lexical declarations in the
> block which contains their body for the purposes of early syntax errors,
> with some exceptions outlined in B.3.5. This patch introduces most of
> those errors, except those from `eval('for (var e of ...);')` inside of
> a catch with a simple parameter named 'e'.
>
> Note that annex B.3.5 allows var declarations to conflict with simple
> catch parameters, except when the variable declaration is the init of a
> for-of statement.
>
> BUG=v8:5112,v8:4231
>
> Committed: https://crrev.com/2907c726b2bb5cf20b2bec639ca9e6a521585406
> Cr-Commit-Position: refs/heads/master@{#37462}

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

Review-Url: https://codereview.chromium.org/2112223002
Cr-Commit-Position: refs/heads/master@{#37464}
2016-07-01 04:28:57 +00:00
bbudge
55841409c0 [Turbofan] Merge SpillRanges by byte_width rather than kind.
- Uses byte_width() to determine if spill ranges can be merged.
- Modifies InstructionOperand canonicalization to ignore representation for stack slots.

LOG=N
BUG=v8:4124

Review-Url: https://codereview.chromium.org/2074323002
Cr-Commit-Position: refs/heads/master@{#37463}
2016-07-01 00:57:02 +00:00
bakkot
2907c726b2 Add errors for declarations which conflict with catch parameters.
Catch parameters are largely treated as lexical declarations in the
block which contains their body for the purposes of early syntax errors,
with some exceptions outlined in B.3.5. This patch introduces most of
those errors, except those from `eval('for (var e of ...);')` inside of
a catch with a simple parameter named 'e'.

Note that annex B.3.5 allows var declarations to conflict with simple
catch parameters, except when the variable declaration is the init of a
for-of statement.

BUG=v8:5112,v8:4231

Review-Url: https://codereview.chromium.org/2109733003
Cr-Commit-Position: refs/heads/master@{#37462}
2016-07-01 00:01:31 +00:00
bjaideep
3ee6b808a4 PPC/s390: [builtins] New frame type for exits to C++ builtins
Port 5febc27b5d

Original commit message:

    Prior to this commit, calls to C++ builtins created standard exit
    frames, which are skipped when constructing JS stack traces. In order to
    show these calls on traces, we introduce a new builtin exit frame type.

    Builtin exit frames contain target and new.target on the stack and are
    not skipped during stack trace construction.

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

BUG=v8:4815
LOG=N

Review-Url: https://codereview.chromium.org/2105023008
Cr-Commit-Position: refs/heads/master@{#37461}
2016-06-30 22:31:12 +00:00
jyan
4fa104c5f9 S390: Fix MathMaxMin's frame
MathMaxMin creates frame on stack without removing top bit of r14 on 31-bit.

R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com, bjaideep@ca.ibm.com
BUG=

Review-Url: https://codereview.chromium.org/2111263002
Cr-Commit-Position: refs/heads/master@{#37460}
2016-06-30 21:23:49 +00:00
adamk
54ce1935b5 [intl] Clean up function name handling in AddBoundMethod
AddBoundMethod, in i18n.js, returns functions all of which share the
same backing SharedFunctionInfo, which means that its calls to
InstallGetter were causing all such functions to have a single name
(that of the last caller, "get breakType").

This patch skips calling InstallGetter and instead directly calls
%DefineGetterPropertyUnchecked, which itself sets the name property
on the JSFunction instance (it knows how to do this in order to handle
getters that have computed property names).

Also takes care of a TODO having to do with the inner boundMethod:
its name is now made empty, by using a new macro that gets around
ES2015's function name inference.

Finally, removes a redundant %FunctionRemovePrototype: arrow functions
have no prototypes to begin with.

R=littledan@chromium.org
BUG=v8:4778

Review-Url: https://codereview.chromium.org/2109223002
Cr-Commit-Position: refs/heads/master@{#37459}
2016-06-30 20:10:42 +00:00
adamk
6e9832583c Reland of Add crash instrumentation for crbug.com/621147 (patchset #1 id:1 of https://codereview.chromium.org/2118493002/ )
Reason for revert:
By request from ishell, plan is to leave this in master for awhile longer

Original issue's description:
> Revert of Add crash instrumentation for crbug.com/621147 (patchset #5 id:80001 of https://codereview.chromium.org/2100313002/ )
>
> Reason for revert:
> Instrumentation not needed on master branch
>
> Original issue's description:
> > Add crash instrumentation for crbug.com/621147
> >
> > BUG=chromium:621147
> > LOG=N
> > R=ishell@chromium.org,cbruni@chromium.org
> >
> > Committed: https://crrev.com/5ff508a82299f20a0d9828cf73072a4f4772fab8
> > Cr-Commit-Position: refs/heads/master@{#37328}
>
> TBR=verwaest@chromium.org,cbruni@chromium.org,ishell@chromium.org,mlippautz@chromium.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=chromium:621147, chromium:624764
>
> Committed: https://crrev.com/b324850900e531ccee03f1712333f13dfcf15427
> Cr-Commit-Position: refs/heads/master@{#37456}

TBR=verwaest@chromium.org,cbruni@chromium.org,ishell@chromium.org,mlippautz@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:621147, chromium:624764

Review-Url: https://codereview.chromium.org/2114743002
Cr-Commit-Position: refs/heads/master@{#37458}
2016-06-30 17:53:38 +00:00
georgia.kouveli
c88cc5b199 [ic] [stubs] Add missing GetExtraICState method to CompareICStub.
Added missing GetExtraICState() function for CompareICStub. Without it,
code->extra_ic_state() in IC::StateFromCode was returning zero, which was
causing some performance regressions, as the TypeFeedbackInfo was not updated
correctly, resulting in the runtime profiler choosing not to optimise some
functions that we previously would.

BUG=

Review-Url: https://codereview.chromium.org/2116523002
Cr-Commit-Position: refs/heads/master@{#37457}
2016-06-30 17:01:03 +00:00
adamk
b324850900 Revert of Add crash instrumentation for crbug.com/621147 (patchset #5 id:80001 of https://codereview.chromium.org/2100313002/ )
Reason for revert:
Instrumentation not needed on master branch

Original issue's description:
> Add crash instrumentation for crbug.com/621147
>
> BUG=chromium:621147
> LOG=N
> R=ishell@chromium.org,cbruni@chromium.org
>
> Committed: https://crrev.com/5ff508a82299f20a0d9828cf73072a4f4772fab8
> Cr-Commit-Position: refs/heads/master@{#37328}

TBR=verwaest@chromium.org,cbruni@chromium.org,ishell@chromium.org,mlippautz@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:621147, chromium:624764

Review-Url: https://codereview.chromium.org/2118493002
Cr-Commit-Position: refs/heads/master@{#37456}
2016-06-30 16:57:54 +00:00
ishell
e53f7d73f0 [stubs] GetPropertyStub added.
Currently only property queries are supported.
This CL also factores out prototype chain iteration logic.

GetPropertyStub is not used yet.

BUG=v8:4911
LOG=Y

Review-Url: https://codereview.chromium.org/2087863002
Cr-Commit-Position: refs/heads/master@{#37455}
2016-06-30 16:40:21 +00:00
lpy
f20d6788e7 Enable ThreadTicks on Windows.
BUG=v8:5000

Review-Url: https://codereview.chromium.org/2106243002
Cr-Commit-Position: refs/heads/master@{#37454}
2016-06-30 15:36:08 +00:00
rmcilroy
02c3414d62 [Interpereter] Inline FastNewClosure into CreateClosure bytecode handler
BUG=v8:4280

Review-Url: https://codereview.chromium.org/2113613002
Cr-Commit-Position: refs/heads/master@{#37453}
2016-06-30 15:32:59 +00:00
verwaest
c17b44bd3a Fix double canonicalization
This turns the blacklist back into a white-list adding all binary operations as allowed operations. The one known fix is that it forces canonicalization of the double-hole as double constant.

BUG=chromium:621147

Review-Url: https://codereview.chromium.org/2106393002
Cr-Commit-Position: refs/heads/master@{#37452}
2016-06-30 15:18:16 +00:00
ulan
5a8cfaf06d Fix clearing of slots on large page uncommit
BUG=chromium:624544
LOG=NO

Review-Url: https://codereview.chromium.org/2110213003
Cr-Commit-Position: refs/heads/master@{#37451}
2016-06-30 15:03:17 +00:00
mstarzinger
0ea619a8d5 [turbofan] Simplify theading of frame state in JSTypedLowering.
This removes the need to thread through frame states for eager bailout
points from the call-site into the reduction helper. The node under
reduction is known to JSBinopReduction, frame states are loaded late.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2112643006
Cr-Commit-Position: refs/heads/master@{#37450}
2016-06-30 15:00:04 +00:00
littledan
34880eb3dc Revert of Put RegExp js code in strict mode (patchset #2 id:20001 of https://codereview.chromium.org/1776883005/ )
Reason for revert:
Found to break SAP Web IDE, and these semantics are not shipped in any other browser.
Revert to legacy semantics while assessing web compatibility.

BUG=chromium:624318

Original issue's description:
> Put RegExp js code in strict mode
>
> src/js/regexp.js was one of the few files that was left in sloppy
> mode. The ES2017 draft specification requires that writes to
> lastIndex throw when the property is non-writable, and test262
> tests enforce this behavior. This patch puts that file in strict
> mode.
>
> BUG=v8:4504
> R=yangguo@chromium.org
> LOG=Y
>
> Committed: https://crrev.com/80b1b2a45bbd9bf3d08e4e6516acfaaa8f438213
> Cr-Commit-Position: refs/heads/master@{#34801}

TBR=yangguo@chromium.org,adamk@chromium.org

Review-Url: https://codereview.chromium.org/2112713003
Cr-Commit-Position: refs/heads/master@{#37449}
2016-06-30 14:36:34 +00:00
ahaas
de369129d2 [wasm] Detect unrepresentability in the float32-to-int32 conversion correctly on arm.
In the current implementation of wasm an unrepresentable input of the
float32-to-int32 conversion is detected by first truncating the input, then
converting the truncated input to int32 and back to float32, and then checking
whether the result is the same as the truncated input.

This input check does not work on arm and arm64 for an input of (INT32_MAX + 1)
because on these platforms the float32-to-int32 conversion results in INT32_MAX
if the input is greater than INT32_MAX.  When INT32_MAX is converted back to
float32, then the result is (INT32_MAX + 1) again because INT32_MAX cannot be
represented precisely as float32, and rounding-to-nearest results in (INT32_MAX
+ 1). Since (INT32_MAX + 1) equals the truncated input value, the input appears
to be representable.

With the changes in this CL, the result of the float32-to-int32 conversion is
incremented by 1 if the original result was INT32_MAX. Thereby the detection of
unrepresenable inputs in wasm works. Note that since INT32_MAX cannot be
represented precisely in float32, it can also never be a valid result of the
float32-to-int32 conversion.

@v8-mips-ports, can you do a similar implementation for mips?

R=titzer@chromium.org, Rodolph.Perfetta@arm.com

Review-Url: https://codereview.chromium.org/2105313002
Cr-Commit-Position: refs/heads/master@{#37448}
2016-06-30 14:30:44 +00:00
machenbach
9b4f098943 [test] Remove presubmit logic from test runner.
Having presubmit called from within the test runner often
requires logic to remove the call again.

After the GN transition it would be better if presubmit is
called by a wrapper script if needed at all. It is run
on upload and on the tryservers anyways.

BUG=chromium:474921

Review-Url: https://codereview.chromium.org/2114653002
Cr-Commit-Position: refs/heads/master@{#37447}
2016-06-30 14:30:43 +00:00
machenbach
f4dd32319d [gn] Automatically derive build configs in test runner.
This executes an action as part of the build, writing a json
configuration that includes all build flags relevant to v8
testing.

The test runner will derive all build-dependent flags from
the file if it detects it.

BUG=chromium:474921

Review-Url: https://codereview.chromium.org/2106423002
Cr-Commit-Position: refs/heads/master@{#37446}
2016-06-30 14:24:34 +00:00
titzer
fa69cbb86b [turbofan] Allow OptionalOperator to return a placeholder.
R=bmeurer@chromium.org, ahaas@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2112733003
Cr-Commit-Position: refs/heads/master@{#37445}
2016-06-30 14:18:35 +00:00
machenbach
eb2a84d26f [release] Include more gpu trybots on v8 rolls
BUG=v8:5159
NOTRY=true

Review-Url: https://codereview.chromium.org/2111673003
Cr-Commit-Position: refs/heads/master@{#37444}
2016-06-30 14:18:34 +00:00
hablich
805b0dd0e1 Update version to 5.4
R=machenbach@chromium.org
NOTRY=true

Review-Url: https://codereview.chromium.org/2113663002
Cr-Commit-Position: refs/heads/master@{#37443}
2016-06-30 14:03:34 +00:00
bjaideep
b6f14059a7 s390: fixed doubleregister name
fixed doubleregister name in VisitFloat64Ieee754Binop and VisitFloat64Ieee754Unop

R=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/2111873002
Cr-Commit-Position: refs/heads/master@{#37442}
2016-06-30 13:31:35 +00:00
bjaideep
502cb17918 s390: [turbofan] Make sure binop results do not overwrite deoptimization inputs on arm.
Port e60c4053c7

    this fix applies to s390 as well.

R=jarin@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/2101933006
Cr-Commit-Position: refs/heads/master@{#37441}
2016-06-30 13:28:06 +00:00
mythria
b83dbf6502 Refactor the functions related to collecting code statistics to a new class.
The functions related to code statistics are a part of spaces currently.
This is not very intutive and hence refactored these functions to a new
CodeStatistics class.

BUG=
LOG=N

Review-Url: https://codereview.chromium.org/2082863003
Cr-Commit-Position: refs/heads/master@{#37440}
2016-06-30 13:21:56 +00:00
georgia.kouveli
f0e65c9637 [ARM64] removed unused variable.
BUG=

Review-Url: https://codereview.chromium.org/2112873002
Cr-Commit-Position: refs/heads/master@{#37439}
2016-06-30 12:17:47 +00:00
jarin
f496f80fa8 Revert of [compiler] Load elimination now traverses CheckTaggedPointer. (patchset #1 id:1 of https://codereview.chromium.org/2104893002/ )
Reason for revert:
Clusterfuzz breakage (https://bugs.chromium.org/p/chromium/issues/detail?id=624756)

Original issue's description:
> [compiler] Load elimination now traverses CheckTaggedPointer.
>
> It also dereferences the inputs of StoreField, if those were
> CheckTaggedPointers. Tested manually.
>
> BUG=
>
> Committed: https://crrev.com/f416886358c0aeaa5b4d1e83d9c7d6bb8b0e7f2f
> Cr-Commit-Position: refs/heads/master@{#37330}

TBR=bmeurer@chromium.org,bgeron@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=

Review-Url: https://codereview.chromium.org/2113623002
Cr-Commit-Position: refs/heads/master@{#37438}
2016-06-30 12:14:46 +00:00
bbudge
aca3716a50 [Turbofan] Add Simd128 registers to RegisterConfiguration.
-Defines SIMD128_REGISTERS for all platforms.
-Adds Simd128 register information to RegisterConfiguration, and implements
aliasing calculations.

LOG=N
BUG=v8:4124

Review-Url: https://codereview.chromium.org/2092103004
Cr-Commit-Position: refs/heads/master@{#37437}
2016-06-30 11:29:36 +00:00
machenbach
e8d2238d24 [gn] Switch custom snapsot bot to gn
BUG=chromium:474921
NOTRY=true

Committed: https://crrev.com/52a43518abe9143a14ded92a89bd3384a47e9193
Review-Url: https://codereview.chromium.org/2113583002
Cr-Original-Commit-Position: refs/heads/master@{#37431}
Cr-Commit-Position: refs/heads/master@{#37436}
2016-06-30 11:26:30 +00:00
yangguo
bcb5b3d550 Simplify JIT event logging.
R=jgruber@chromium.org
BUG=v8:5117

Review-Url: https://codereview.chromium.org/2111793002
Cr-Commit-Position: refs/heads/master@{#37435}
2016-06-30 11:17:25 +00:00
machenbach
33ceb9e5d6 Revert of [gn] Switch custom snapsot bot to gn (patchset #2 id:20001 of https://codereview.chromium.org/2113583002/ )
Reason for revert:
Breaks...

Original issue's description:
> [gn] Switch custom snapsot bot to gn
>
> BUG=chromium:474921
> NOTRY=true
>
> Committed: https://crrev.com/52a43518abe9143a14ded92a89bd3384a47e9193
> Cr-Commit-Position: refs/heads/master@{#37431}

TBR=yangguo@chromium.org,vogelheim@chromium.org,jochen@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:474921

Review-Url: https://codereview.chromium.org/2107423003
Cr-Commit-Position: refs/heads/master@{#37434}
2016-06-30 11:14:18 +00:00
franzih
203391bcc0 [builtins] Migrate Math.abs() to TurboFan builtins.
Like the other Math builtins, Math.abs() is now a TurboFan builtin.
It uses RawMachineAssembler::Float64Abs().

R=bmeurer@chromium.org
BUG=v8:5163, v8:5086
LOG=N

Review-Url: https://codereview.chromium.org/2115493002
Cr-Commit-Position: refs/heads/master@{#37433}
2016-06-30 10:27:09 +00:00
bmeurer
bbc44c2696 [intrinsics] Drop the now obsolete %_DoubleHi and %_DoubleLo intrinsics.
These are no longer used, except in tests that test these intrinsics.

R=yangguo@chromium.org

Review-Url: https://codereview.chromium.org/2114613002
Cr-Commit-Position: refs/heads/master@{#37432}
2016-06-30 10:21:13 +00:00
machenbach
52a43518ab [gn] Switch custom snapsot bot to gn
BUG=chromium:474921
NOTRY=true

Review-Url: https://codereview.chromium.org/2113583002
Cr-Commit-Position: refs/heads/master@{#37431}
2016-06-30 10:00:10 +00:00
titzer
d249efd705 [wasm] Disassemble wasm code from script
This stores the wasm object and the function index in the script, and
adds functions to get the disassembled wasm code as well as the offset
table mapping from byte position to line and column in the disassembly
solely from the script.
This will be used to show "ui source code" in DevTools, and map raw
locations from the stack trace into this code view.

R=yangguo@chromium.org, ahaas@chromium.org, titzer@chromium.org
BUG=chromium:613110

patch from issue 2063013004 at patchset 80001 (http://crrev.com/2063013004#ps80001)

Review-Url: https://codereview.chromium.org/2105303002
Cr-Commit-Position: refs/heads/master@{#37430}
2016-06-30 09:57:07 +00:00
rmcilroy
f0a430e5dc [Code Stubs] Convert FastNewClosureStub to a TurboFanCodeStub.
Converts FastNewClosureStub from a Hydrogen to a TurboFan code stub.
The plan is to start using this in the Interpreter CreateClosure
bytecode handler (in a follow-up CL).

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2100883003
Cr-Commit-Position: refs/heads/master@{#37429}
2016-06-30 09:45:09 +00:00
titzer
971731f354 [wasm] Fix receiver conversion for WASM->JS calls.
R=yangguo@chromium.org,ahaas@chromium.org
BUG=chromium:624713
LOG=Y

Review-Url: https://codereview.chromium.org/2111843002
Cr-Commit-Position: refs/heads/master@{#37428}
2016-06-30 09:41:43 +00:00
yangguo
a4c6cd0f4f Remove accidentally added files.
NOTRY=true
TBR=neis@chromium.org

Review-Url: https://codereview.chromium.org/2104143004
Cr-Commit-Position: refs/heads/master@{#37427}
2016-06-30 09:38:35 +00:00
yangguo
141cddc720 Move RelocInfo::kNoPosition.
R=mstarzinger@chromium.org
BUG=v8:5117

Review-Url: https://codereview.chromium.org/2109773004
Cr-Commit-Position: refs/heads/master@{#37426}
2016-06-30 09:29:30 +00:00
machenbach
38b31043ec [gn] Switch linux64 debug and internal snapshot to gn
BUG=chromium:474921

Committed: https://crrev.com/3cfc9f209ed0c173319659114859b7e848812fd7
Review-Url: https://codereview.chromium.org/2105353002
Cr-Original-Commit-Position: refs/heads/master@{#37414}
Cr-Commit-Position: refs/heads/master@{#37425}
2016-06-30 08:59:32 +00:00
mvstanton
cede9ce5e1 [builtins] Unify Cosh, Sinh and Tanh as exports from flibm
BUG=v8:5086

Review-Url: https://codereview.chromium.org/2083573002
Cr-Commit-Position: refs/heads/master@{#37424}
2016-06-30 08:44:46 +00:00
bmeurer
483291d230 [turbofan] Introduce CheckIf simplified operator.
This adds a new CheckIf operator and changes all direct uses of
DeoptimizeIf and DeoptimizeUnless on the JavaScript level to use
CheckIf (or one of the more concrete check operators) instead.
This way we do not depend on particular frame states, but the
effect/control linearizer will assign an appropriate frame
state instead.

R=jarin@chromium.org
BUG=v8:5141

Review-Url: https://codereview.chromium.org/2115513002
Cr-Commit-Position: refs/heads/master@{#37423}
2016-06-30 08:41:14 +00:00
ahaas
5d8cfbbd06 [turbofan] Don't call String::Flatten in Constant::ToHeapObject()
The call to String::Flatten can cause garbage collection and in general adds
complexity to the code generation. It also blocks the way to run code generation on worker threads.

The call to String::Flatten in Constant::ToHeapObject() seems not to be necessary
for correctness. If removing this call affects performance negatively, we can revert
this CL.

Review-Url: https://codereview.chromium.org/2107243002
Cr-Commit-Position: refs/heads/master@{#37422}
2016-06-30 08:41:13 +00:00
mstarzinger
9e12b838aa [turbofan] Also verify lazy bailout points in graph builder.
This adds verification of bailout IDs to {PrepareFrameState} to ensure
all bailout points used for lazy deoptimization have been prepared by
full codegen. This will catch bailout ID abuse during graph building
instead of late in the deoptimizer. Similar verification for all eager
deoptimization points is already present.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2105023003
Cr-Commit-Position: refs/heads/master@{#37421}
2016-06-30 08:35:14 +00:00