Commit Graph

28870 Commits

Author SHA1 Message Date
bradnelson
c8c5b3fddf Allow negative literals in asm->wasm non-conversion operations.
This allows expressions like:
(x + y) & -1
[intish] & [signed]

The previous conversion condition was too strict (intended to
forbid non-int expression conversion). Expressing in
a different way.

BUG= https://code.google.com/p/v8/issues/detail?id=4203
TEST=mjsunit/asm-wasm
R=aseemgarg@chromium.org,titzer@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34228}
2016-02-23 21:10:16 +00:00
mbrandy
b3de78c191 PPC: [fullcodegen] Implement operand stack depth tracking.
Port 38915ed71c

Original commit message:
    This implements a mechanism to track the exact depth of the operand
    stack in full-codegen for every sub-expression visitation. So far we
    only tracked the depth at statement level, but not at expression level.
    With the introduction of do-expressions it will be possible to construct
    local control flow (i.e. break, continue and friends) that target labels
    at an arbitrary operand stack depth, making this tracking a prerequisite
    for full do-expression support.

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

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

Cr-Commit-Position: refs/heads/master@{#34227}
2016-02-23 20:09:43 +00:00
littledan
1353b37d40 Ship ES2015 Symbol.species
This patch moves the ES2015 Symbol.species feature from staging to
shipping. @@species should be good to ship now that the regression
from fast-path cases in concat, slice and splice have been addressed.

R=adamk
BUG=v8:4093
LOG=Y
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#34226}
2016-02-23 19:52:14 +00:00
jfb
3c6a3ca7b0 Add WasmFrame, backtraces reflect wasm's presence
For now WasmFrame doesn't summarize the wasm frames. That'll require adding the
metadata in wasm-compiler similar to DeoptimizationInputData.

Teach the basic backtrace to iterate over stack frames instead of JS frames.

Update the wasm stack test.

`git cl format` touches random lines in files I touch.

R=titzer@chromium.org
TEST=d8 --test --expose-wasm test/mjsunit/mjsunit.js test/mjsunit/wasm/stack.js

Originally landed in: https://codereview.chromium.org/1712003003/
Reverted in: https://codereview.chromium.org/1730673002/

This patch puts the JSFunction on the C++ stack.

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

Cr-Commit-Position: refs/heads/master@{#34225}
2016-02-23 19:39:28 +00:00
ssanfilippo
bb2f68460e [Interpreter] Readable representation of runtime function IDs.
The first operand to the CallRuntime class of bytecodes is the
ID of the runtime function being called. Before this commit
the ID was printed as plain uint16_t, now we get something like:

  B(CallRuntime) U16(Runtime::Add) ...

This change is intended to make both the golden files more
resistant to modifications of the i::Runtime::FunctionId enum
and the output of generate-bytecode-expectations more readable.

BUG=v8:4280
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34224}
2016-02-23 19:10:52 +00:00
bradnelson
74cf730098 Re-enable validation for asm->wasm embechen tests.
Now that register validation is working again, re-enable
for asm->wasm embenchen tests.

BUG= https://code.google.com/p/v8/issues/detail?id=4203
TEST=mjsunit/asm-wasm
R=aseemgarg@chromium.org,titzer@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34223}
2016-02-23 19:06:29 +00:00
bradnelson
0dd24015fb Allow constant multiply both ways.
asm.js permits both:
int * constant
constant * int

It does not, however, allow intishes in multiplies.

BUG= https://code.google.com/p/v8/issues/detail?id=4203
TEST=mjsunit/asm-wasm,test-asm-validator
R=aseemgarg@chromium.org,titzer@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34222}
2016-02-23 19:04:58 +00:00
machenbach
943650784a Revert of Add WasmFrame, backtraces reflect wasm's presence (patchset #9 id:160001 of https://codereview.chromium.org/1712003003/ )
Reason for revert:
[Sheriff] Seems to break gcmole:
https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/8295

Original issue's description:
> Add WasmFrame, backtraces reflect wasm's presence
>
> For now WasmFrame doesn't summarize the wasm frames. That'll require adding the
> metadata in wasm-compiler similar to DeoptimizationInputData.
>
> Teach the basic backtrace to iterate over stack frames instead of JS frames.
>
> Update the wasm stack test.
>
> `git cl format` touches random lines in files I touch.
>
> R=titzer@chromium.org
> TEST=d8 --test --expose-wasm test/mjsunit/mjsunit.js test/mjsunit/wasm/stack.js
>
> Committed: https://crrev.com/aeca945786dcccad3efecfddbf2c07aefa524a56
> Cr-Commit-Position: refs/heads/master@{#34220}

TBR=titzer@chromium.org,mvstanton@chromium.org,mstarzinger@chromium.org,jfb@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#34221}
2016-02-23 18:57:26 +00:00
jfb
aeca945786 Add WasmFrame, backtraces reflect wasm's presence
For now WasmFrame doesn't summarize the wasm frames. That'll require adding the
metadata in wasm-compiler similar to DeoptimizationInputData.

Teach the basic backtrace to iterate over stack frames instead of JS frames.

Update the wasm stack test.

`git cl format` touches random lines in files I touch.

R=titzer@chromium.org
TEST=d8 --test --expose-wasm test/mjsunit/mjsunit.js test/mjsunit/wasm/stack.js

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

Cr-Commit-Position: refs/heads/master@{#34220}
2016-02-23 17:22:17 +00:00
ahaas
cadc1e7780 [wasm] Added I64Ior to the Int64Lowering.
R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34219}
2016-02-23 16:30:42 +00:00
bradnelson
af903021c6 Add asm.js stdlib portion implementable as wasm opcodes.
Lost in the repo shuffle:
https://github.com/WebAssembly/v8-native-prototype/pull/102

BUG= https://code.google.com/p/v8/issues/detail?id=4203
TEST=mjsunit/asm-wasm
R=aseemgarg@chromium.org,titzer@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34218}
2016-02-23 16:23:29 +00:00
bradnelson
fe2ed5667b Add asm->wasmified version of embenchen.
Adding a version of embenchen, modified to pass through
the asm->wasm javascript interface.
Disabling for now as fixes required to run it are outstanding.

BUG= https://code.google.com/p/v8/issues/detail?id=4203
TEST=mjsunit/wasm/embenchen
R=aseemgarg@chromium.org,titzer@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34217}
2016-02-23 16:23:28 +00:00
machenbach
761ee31be5 [coverage] Filter some files from instrumentation.
This filters test and third_party files to get a speed-up
when running tests and when collecting profile data.

BUG=chromium:568949
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#34216}
2016-02-23 16:21:45 +00:00
oth
bd9df50d75 [interpreter] Clean super property handling.
SuperPropertyArgumnets is less useful after deprecating strong mode.

BUG=v8:4280,v8:4682
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34215}
2016-02-23 15:42:05 +00:00
yangguo
113d303534 [interpreter,debugger] Unskip debug tests for ignition.
TBR=rmcilroy@chromium.org
BUG=v8:4690
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34214}
2016-02-23 15:34:48 +00:00
ahaas
4ddf252e85 [wasm] Unittest for Int64Lowering.
R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34213}
2016-02-23 15:33:13 +00:00
ulan
2285a99ef6 Replace slots buffer with remembered set.
Slots pointing to evacuation candidates are now recorded in the new RememberedSet<OLD_TO_OLD>.

The remembered set is extended to support typed slots.

During parallel evacuation all migration slots are recorded in local slots buffers.
After evacuation all local slots are added to the remembered set.

BUG=chromium:578883
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#34212}
2016-02-23 13:53:02 +00:00
mstarzinger
38915ed71c [fullcodegen] Implement operand stack depth tracking.
This implements a mechanism to track the exact depth of the operand
stack in full-codegen for every sub-expression visitation. So far we
only tracked the depth at statement level, but not at expression level.
With the introduction of do-expressions it will be possible to construct
local control flow (i.e. break, continue and friends) that target labels
at an arbitrary operand stack depth, making this tracking a prerequisite
for full do-expression support.

R=rossberg@chromium.org,jarin@chromium.org
BUG=v8:4755,v8:4488
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#34211}
2016-02-23 13:41:44 +00:00
yangguo
72ba53b19a [interpreter, debugger] replace bytecode on-stack for debugging.
R=mcilroy@chromium.org
BUG=v8:4690
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34210}
2016-02-23 13:11:27 +00:00
bmeurer
be65129e65 [turbofan] Ship TurboFan inlining.
Until now inlining in TurboFan was staged behind --turbo, which means
that it wasn't enabled with --turbo-shipping. It seems reasonable to
ship it now, since Clusterfuzz had fun with it for a year already, and
we need to reach parity with Crankshaft with more and more things being
enabled behind --turbo-shipping.

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

Cr-Commit-Position: refs/heads/master@{#34209}
2016-02-23 09:05:40 +00:00
cbruni
5e468666b7 [counters] Making runtime counters reentrant.
So far counters did not work when they were reentrant and thus would lead to
wrong bookkeeping of the counter stack. Using a separate stack-allocated linked
list to track the timer stack solves this issue. This is a temporary workaround
with the limitations of the counter system in mind. Eventually we will move to
the trace-based system for these kind of statistics.

BUG=v8:4770
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#34208}
2016-02-23 08:46:20 +00:00
mtrofin
5ae02268be [turbofan] fix validator in face of phi optimizations.
This fixes an issue encountered in wasm payloads, where we do not
(yet) optimize away duplicate phi definitions - phis in the same block
with the same operand list; and when move optimizations merge phi-
defining moves into the block defining the phi. If all this happens, the
register allocation validator back-propagation fails because it can't
distinguish the duplicate phis, when traversing backwards.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34207}
2016-02-23 07:53:49 +00:00
bradnelson
7e805faa30 Allow intish and floatish to be coerced by heap assignment.
When assigning to an integer view of the heap an intish
value does not need to be collapsed with |0.
Similarly a floatish value does not need to be collapsed with
fround when assigned to a float view of the heap.
i32[0] = i32_1 + i32_2;  // ok
f32[0] = f32_1 + f32_2;  // ok

However, floatish values cannot be safely assigned to double
arrays.
f64[0] = f32_1 + f32_2;  // not ok

BUG= https://code.google.com/p/v8/issues/detail?id=4203
TEST=mjsunit/asm-wasm,test-asm-validator
R=aseemgarg@chromium.org,titzer@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34206}
2016-02-23 06:18:54 +00:00
zhengxing.li
360c761dec X87: [interpreter, debugger] support debug breaks via bytecode array copy.
port e032a98d3d (r34190)

  original commit message:

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34205}
2016-02-23 06:18:53 +00:00
zhengxing.li
e1b9058f9e X87: Emit memory operands for cmp and test on ia32 and x64 when it makes sense.
port 0e43ff5632 (r34187)

  original commit message:
  The InstructionSelector now associates an effect level to every node in a block.

  The effect level of a node is the number of non-eliminatable nodes encountered from the beginning of the block to the node itself.

  With this change, on ia32 and x64, a load from memory into a register can be replaced by a memory operand if all of the following conditions hold:

  1. The only use of the load is in a 32 or 64 bit word comparison.
  2. The user node and the load node belong to the same block.
  3. The values of the operands have the same size (i.e., no need to zero-extend or sign-extend the result of the load).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34204}
2016-02-23 06:17:17 +00:00
v8-autoroll
ced09a7b49 Update V8 DEPS.
Rolling v8/buildtools to 97b5c485707335dd2952c05bf11412ada3f4fb6f

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

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

Cr-Commit-Position: refs/heads/master@{#34203}
2016-02-23 04:22:03 +00:00
zhengxing.li
2cd9485644 X87: Change the test case for X87 RunRoundUint32ToFloat32.
The CL #33796 (https://codereview.chromium.org/1628133002) added the RunRoundUint32ToFloat32 test case and X87 failed at it.

  The reason is same as the CL #33630 (Issue 1649323002: X87: Change the test case for X87 RunRoundInt32ToFloat32), please refer: https://codereview.chromium.org/1649323002.

  Here is the key comments from CL #33630:
  Some new test cases use CheckFloatEq(...) and CheckDoubleEq(...) function for result check. When GCC compiling the CheckFloatEq() and CheckDoubleEq() function,
  those inlined functions has different behavior comparing with GCC ia32 build and x87 build.
  The major difference is sse float register still has single precision rounding semantic. While X87 register has no such rounding precsion semantic when directly use register value.
  The V8 turbofan JITTed has exactly same result in both X87 and IA32 port.

  For CHECK_EQ(a, b) function, if a and b are doubles, it will has similar behaviors like CheckFloatEq(...) and CheckDoubleEq(...) function when compiled by GCC and causes the test case
  fail.

  So we add the following sentence to do type case to keep the same precision for RunRoundUint32ToFloat32. Such as: volatile double expect = static_cast<float>(*i).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34202}
2016-02-23 01:50:37 +00:00
littledan
b22b258874 ES2015 web compat workaround: RegExp.prototype.flags => ""
It turns out that some old polyfill library uses
RegExp.prototype.flags as a way of feature testing. It's not clear
how widespread this is. For now, as a minimal workaround, we can
return undefined from getters like RegExp.prototype.global when
the receiver is RegExp.prototype. This patch implements that strategy
but omits a UseCounter to make backports easier.

R=adamk
CC=yangguo@chromium.org
BUG=chromium:581577
LOG=Y
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel

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

Cr-Commit-Position: refs/heads/master@{#34201}
2016-02-23 01:49:03 +00:00
littledan
579c01072d Remove the Proxy enumerate trap
In ES2016, the Proxy enumerate trap is removed. This patch changes
for-in iteration on Proxies to use the ownKeys trap. Due to the clean
organization of that code, the patch basically consists of deletions.

R=adamk
LOG=Y
BUG=v8:4768

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

Cr-Commit-Position: refs/heads/master@{#34200}
2016-02-22 21:11:36 +00:00
littledan
7033ae511f Optimize @@species based on a global 'protector' cell
This patch makes ArraySpeciesCreate fast in V8 by avoiding two property reads
when the following conditions are met:
- No Array instance has had its __proto__ reset
- No Array instance has had a constructor property defined
- Array.prototype has not had its constructor changed
- Array[Symbol.species] has not been reset

For subclasses of Array, or for conditions where one of these assumptions is
violated, the full lookup of species is done according to the ArraySpeciesCreate
algorithm. Although this is a "performance cliff", it does not come up in the
expected typical use case of @@species (Array subclassing), so it is hoped that
this can form a good start. Array subclasses will incur the slowness of looking
up @@species, but their use won't slow down invocations of, for example,
Array.prototype.slice on Array base class instances.

Possible future optimizations:
- For the fallback case where the assumptions don't hold, optimize the two
  property lookups.
- For Array.prototype.slice and Array.prototype.splice, even if the full lookup
  of @@species needs to take place, we still could take the rest of the C++
  fastpath. However, to do this correctly requires changing the calling convention
  from C++ to JS to pass the @@species out, so it is not attempted in this patch.

With this patch, microbenchmarks of Array.prototype.slice do not suffer a
noticeable performance regression, unlike their previous 2.5x penalty.

TBR=hpayer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34199}
2016-02-22 21:02:48 +00:00
mbrandy
d15d2cf227 PPC: [interpreter, debugger] support debug breaks via bytecode array copy
Port e032a98d3d

R=yangguo@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:4690
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34198}
2016-02-22 20:46:45 +00:00
mbrandy
aadd792d7a PPC: Cleanup CRegister definition.
R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34197}
2016-02-22 20:45:12 +00:00
littledan
0b53b7d36b Remove Reflect.enumerate
The Proxy enumerate trap and Reflect.enumerate are removed from the
ES2016 draft specification. This patch removes the Reflect.enumerate
function, and a follow-on patch will be responsible for the Proxy
trap changes.

R=adamk
LOG=Y
BUG=v8:4768

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

Cr-Commit-Position: refs/heads/master@{#34196}
2016-02-22 19:10:43 +00:00
littledan
a686f4f97c Remove code optimizing for TypedArrays being @@isConcatSpreadable
In theory, a user could define the Symbol.isConcatSpreadable property
somewhere in the TypedArray class hierarchy. Array.prototype.concat
optimizes for this case and has templated code for fast concat over
TypedArrays. However, the default environment doesn't have this
property set (it would probably not be web-compatible) and there isn't
clear demand for this optimization. This patch removes that
special-case code.

R=adamk

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

Cr-Commit-Position: refs/heads/master@{#34195}
2016-02-22 18:59:13 +00:00
mbrandy
edff6e91e9 [wasm] Fix linkage for PPC.
Floating point param and return registers should be within the
compiler's allocatable set.

TEST=cctest/test-run-wasm-js/Run_Float64Add_jswrapped
R=titzer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34194}
2016-02-22 15:21:33 +00:00
machenbach
ea0530af57 [coverage] Use optimized builds for coverage data.
Local testing suggests that optimized builds add more speed
without trading off tool usability. We get the following
differences (A: non-optimized build, B: optimized):

Sometimes: Lines instrumented in A (covered and uncovered) are not instrumented in B.
Rarely: Lines instrumented and covered in A are instrumented, but not covered in B.

The latter might simply be caused by timing differences in
the two builds.

BUG=chromium:568949
LOG=n
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#34193}
2016-02-22 14:39:06 +00:00
ulan
72f884a19f Fix AllocationSite body descriptor to include all pointer slots.
Currently AllocationSite skips the weak_next pointer in IterateBody and IsValidSlot.

This is not correct because the weak_next is a valid slot in AllocationSite.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34192}
2016-02-22 13:48:26 +00:00
mstarzinger
119a23e113 [turbofan] Pick remembered set action for write barrier.
This picks the record-write stub depending on the correct remembered set
action parameter. For values known to be maps we can guarantee that they
never reside in new-space, hence store buffer recording can be skipped.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34191}
2016-02-22 13:23:32 +00:00
yangguo
e032a98d3d [interpreter, debugger] support debug breaks via bytecode array copy
R=mstarzinger@chromium.org, rmcilroy@chromium.org
BUG=v8:4690
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34190}
2016-02-22 13:17:52 +00:00
mstarzinger
0427abf364 [fullcodegen] Lift restriction on --debug-code flag.
This removes a restriction from full-codegen that limited the usability
of the --debug-code flag to only no-snap configurations. The reasoning
for the restriction would still hold, if we ever put full-codegen code
into the snapshot, which we don't. Also there already are several places
in full-codegen that queried the FLAG_debug_code directly, a more
reliable mechanism will be needed if we snapshot full code.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#34189}
2016-02-22 12:41:23 +00:00
ulan
b238864d0e Activate memory reducer for small heaps in background tabs.
BUG=chromium:587574
LOG=NO

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

Cr-Commit-Position: refs/heads/master@{#34188}
2016-02-22 10:52:36 +00:00
epertoso
0e43ff5632 Emit memory operands for cmp and test on ia32 and x64 when it makes sense.
The InstructionSelector now associates an effect level to every node in a block.

The effect level of a node is the number of non-eliminatable nodes encountered from the beginning of the block to the node itself.

With this change, on ia32 and x64, a load from memory into a register can be replaced by a memory operand if all of the following conditions hold:

1. The only use of the load is in a 32 or 64 bit word comparison.
2. The user node and the load node belong to the same block.
3. The values of the operands have the same size (i.e., no need to zero-extend or sign-extend the result of the load).

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34187}
2016-02-22 09:46:21 +00:00
ben
344d99c4bb Fix gen-postmortem-metadata.py script.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34186}
2016-02-22 08:16:35 +00:00
bradnelson
37fc16ece4 Allow bitwise-or aside from type annotations in asm->wasm conversion.
BUG= https://code.google.com/p/v8/issues/detail?id=4203
TEST=mjsunit/asm-wasm
R=aseemgarg@chromium.org,titzer@chromium.org
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#34185}
2016-02-22 05:56:25 +00:00
v8-autoroll
ba1521299d Update V8 DEPS.
Rolling v8/third_party/icu to e466f6ac8f60bb9697af4a91c6911c6fc4aec95f

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

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

Cr-Commit-Position: refs/heads/master@{#34184}
2016-02-22 04:17:58 +00:00
zhengxing.li
ebb0f57e9a [crankshaft][X87] Fix Math.min(-0, -0)
The CL #33996 (https://codereview.chromium.org/1695283002) exposed one hidden bug in x87 crankshaft code generation for LCodeGen::DoMathMinMax().

  This CL fixed this bug.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34183}
2016-02-22 03:43:15 +00:00
zhengxing.li
4453164df7 X87: [stubs] Introduce a dedicated FastNewObjectStub.
port ba2077aac3 (r34136)

  original commit message:
  Move the already existing fast case for %NewObject into a dedicated
  FastNewObjectStub that we can utilize in places where we would otherwise
  fallback to %NewObject immediately, which is rather expensive.

  Also use FastNewObjectStub as the generic implementation of JSCreate,
  which should make constructor inlining based on SharedFunctionInfo (w/o
  specializing to a concrete closure) viable soon.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34182}
2016-02-22 02:47:19 +00:00
titzer
4e316c38c5 [wasm] Fix bug in CallImport.
R=binji@chromium.org,bradnelson@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#34181}
2016-02-22 00:47:02 +00:00
ben
aea56e0e30 Unbreak --gdbjit for embedders.
Embedders don't use d8.cc.  Move gdbjit initialization to api.cc.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#34180}
2016-02-21 22:04:06 +00:00
v8-autoroll
35e443874b Update V8 DEPS.
Rolling v8/tools/clang to a8adb78c8eda9bddb2aa9c51f3fee60296de1ad4

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

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

Cr-Commit-Position: refs/heads/master@{#34179}
2016-02-21 04:19:50 +00:00