- 22 Mar, 2016 1 commit
-
-
epertoso authored
Introduces a bytecode whose handler executes the equivalent of %_IsArray and %_IsJSReceiver without a runtime call. BUG=v8:4822 LOG=y Review URL: https://codereview.chromium.org/1645763003 Cr-Commit-Position: refs/heads/master@{#34983}
-
- 21 Mar, 2016 3 commits
-
-
adamk authored
Both of them shipped in Chrome 49 without incident. Also move relevant tests from harmony/ to es6/. Review URL: https://codereview.chromium.org/1815773002 Cr-Commit-Position: refs/heads/master@{#34964}
-
oth authored
This change introduces wide prefix bytecodes to support wide (16-bit) and extra-wide (32-bit) operands. It retires the previous wide-bytecodes and reduces the number of operand types. Operands are now either scalable or fixed size. Scalable operands increase in width when a bytecode is prefixed with wide or extra-wide. The bytecode handler table is extended to 256*3 entries. The first 256 entries are used for bytecodes with 8-bit operands, the second 256 entries are used for bytecodes with operands that scale to 16-bits, and the third group of 256 entries are used for bytecodes with operands that scale to 32-bits. LOG=N BUG=v8:4747,v8:4280 Review URL: https://codereview.chromium.org/1783483002 Cr-Commit-Position: refs/heads/master@{#34955}
-
jkummerow authored
Bounds check hoisting was known to be buggy and has never been turned on. Since Crankshaft is deprecated, nobody is going to spend time fixing it, so let's just get rid of it. BUG=v8:4155,v8:4849 LOG=n R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1823623002 Cr-Commit-Position: refs/heads/master@{#34948}
-
- 17 Mar, 2016 4 commits
-
-
ahaas authored
The new location allows to add an external reference without requiring an lgtm from a snapshot/ owner. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1812853002 Cr-Commit-Position: refs/heads/master@{#34858}
-
vogelheim authored
(The goal is to have CodeStubAssembler be the sole assembler-like user of the TF compiler pipeline; with RMA being a private implementation detail and FAA being a client.) BUG=chromium:508898 LOG=Y Review URL: https://codereview.chromium.org/1674633002 Cr-Commit-Position: refs/heads/master@{#34852}
-
yangguo authored
NOTRY=true NOTREECHECKS=true TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/1806273002 Cr-Commit-Position: refs/heads/master@{#34850}
-
yangguo authored
A startup snapshot is considered cold when it does not contain any function code. We can now create a warm startup snapshot from a cold one by running a warm-up script. Functions exercised by the warm-up script are compiled and its code included in the warm startup snapshot. Side effects caused by the warm-up script does not persist. R=vogelheim@chromium.org BUG=v8:4836 LOG=Y Review URL: https://codereview.chromium.org/1805903002 Cr-Commit-Position: refs/heads/master@{#34849}
-
- 10 Mar, 2016 2 commits
-
-
ulan authored
BUG=chromium:568495 LOG=NO Review URL: https://codereview.chromium.org/1775003003 Cr-Commit-Position: refs/heads/master@{#34665}
-
verwaest authored
NOPRESUBMIT=true BUG= Review URL: https://codereview.chromium.org/1776353002 Cr-Commit-Position: refs/heads/master@{#34664}
-
- 08 Mar, 2016 1 commit
-
-
jyan authored
R=danno@chromium.org,jkummerow@chromium.org,jochen@chromium.org,joransiu@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1768383002 Cr-Commit-Position: refs/heads/master@{#34592}
-
- 07 Mar, 2016 7 commits
-
-
cbruni authored
Introducing the KeyAccumulator accidentally removed some crucial fast-paths. This CL starts rewriting the KeyAccumulator, step-by-step introducing the special cases again. BUG=chromium:545503, v8:4758 LOG=y Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 Cr-Commit-Position: refs/heads/master@{#34532} Committed: https://crrev.com/b954c872aac60657b400079b7333216ea658dc8a Cr-Commit-Position: refs/heads/master@{#34548} Review URL: https://codereview.chromium.org/1707743002 Cr-Commit-Position: refs/heads/master@{#34558}
-
cbruni authored
Revert of [key-accumulator] Starting to reimplement the key-accumulator (patchset #15 id:280001 of https://codereview.chromium.org/1707743002/ ) Reason for revert: gcmole again Original issue's description: > [key-accumulator] Starting to reimplement the key-accumulator > > Introducing the KeyAccumulator accidentally removed some crucial fast-paths. > This CL starts rewriting the KeyAccumulator, step-by-step introducing the > special cases again. > > BUG=chromium:545503, v8:4758 > LOG=y > > Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 > Cr-Commit-Position: refs/heads/master@{#34532} > > Committed: https://crrev.com/b954c872aac60657b400079b7333216ea658dc8a > Cr-Commit-Position: refs/heads/master@{#34548} TBR=verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:545503, v8:4758 Review URL: https://codereview.chromium.org/1769043003 Cr-Commit-Position: refs/heads/master@{#34551}
-
cbruni authored
Introducing the KeyAccumulator accidentally removed some crucial fast-paths. This CL starts rewriting the KeyAccumulator, step-by-step introducing the special cases again. BUG=chromium:545503, v8:4758 LOG=y Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 Cr-Commit-Position: refs/heads/master@{#34532} Review URL: https://codereview.chromium.org/1707743002 Cr-Commit-Position: refs/heads/master@{#34548}
-
joransiu authored
S390 specific implementations of crankshaft functions. R=danno@chromium.org,jkummerow@chromium.org,jochen@chromium.org,jyan@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1763233003 Cr-Commit-Position: refs/heads/master@{#34543}
-
jyan authored
R=danno@chromium.org,jkummerow@chromium.org,jochen@chromium.org,joransiu@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1764153002 Cr-Commit-Position: refs/heads/master@{#34541}
-
cbruni authored
Revert of [key-accumulator] Starting to reimplement the key-accumulator (patchset #14 id:260001 of https://codereview.chromium.org/1707743002/ ) Reason for revert: gcmole failure https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/8598 Original issue's description: > [key-accumulator] Starting to reimplement the key-accumulator > > Introducing the KeyAccumulator accidentally removed some crucial fast-paths. > This CL starts rewriting the KeyAccumulator, step-by-step introducing the > special cases again. > > BUG=chromium:545503, v8:4758 > LOG=y > > Committed: https://crrev.com/9c61327ecb2ee41f34232632e0cac93202bae6b7 > Cr-Commit-Position: refs/heads/master@{#34532} TBR=verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:545503, v8:4758 Review URL: https://codereview.chromium.org/1773593003 Cr-Commit-Position: refs/heads/master@{#34537}
-
cbruni authored
Introducing the KeyAccumulator accidentally removed some crucial fast-paths. This CL starts rewriting the KeyAccumulator, step-by-step introducing the special cases again. BUG=chromium:545503, v8:4758 LOG=y Review URL: https://codereview.chromium.org/1707743002 Cr-Commit-Position: refs/heads/master@{#34532}
-
- 04 Mar, 2016 1 commit
-
-
jyan authored
R=danno@chromium.org,jkummerow@chromium.org,jochen@chromium.org,joransiu@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1762743002 Cr-Commit-Position: refs/heads/master@{#34501}
-
- 02 Mar, 2016 1 commit
-
-
mstarzinger authored
The CompilationPhase helper class is only used in Crankshaft and is not suitable for use in other compilers. This factors is out into a separate file and moves it into the "crankshaft" directory. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1758773002 Cr-Commit-Position: refs/heads/master@{#34441}
-
- 01 Mar, 2016 2 commits
-
-
joransiu authored
Initial implementation of S390 specific debug and IC functions. R=danno@chromium.org,jkummerow@chromium.org,jochen@chromium.org,jyan@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1743263003 Cr-Commit-Position: refs/heads/master@{#34400}
-
yangguo authored
R=rossberg@chromium.org, ulan@chromium.org, vogelheim@chromium.org Review URL: https://codereview.chromium.org/1751863002 Cr-Commit-Position: refs/heads/master@{#34395}
-
- 29 Feb, 2016 1 commit
-
-
jochen authored
Probably easier to use for embedders. BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/1749663002 Cr-Commit-Position: refs/heads/master@{#34357}
-
- 26 Feb, 2016 1 commit
-
-
joransiu authored
Initial commit with the bulk of the src/s390/* changes along with associated changes to the build toolchain for the new files. A minor update to V8PRIuPTR definition for Mac OS X affecting 32-bit S390 sim compilations. R=danno@chromium.org,jkummerow@chromium.org,jochen@chromium.org,jyan@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1725243004 Cr-Commit-Position: refs/heads/master@{#34331}
-
- 25 Feb, 2016 1 commit
-
-
ulan authored
Reland "Replace slots buffer with remembered set. (patchset #14 id:250001 of https://codereview.chromium.org/1703823002/ )" This reverts commit 9146bc5e. This contains a fix for the following crash: 1. We record slots for a fixed array. 2. We trim the fixed array, so that some recorded slots are now in free space. 3. During mark-compact we sweep the page with the fixed array. Now free list items contain memory with recorded slots. 4. We evacuate a byte array using the new free list items. 5. We iterate slots that are now inside the byte array and crash. BUG=chromium:589413,chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1735523002 Cr-Commit-Position: refs/heads/master@{#34302}
-
- 24 Feb, 2016 1 commit
-
-
ulan authored
Revert of Replace slots buffer with remembered set. (patchset #14 id:250001 of https://codereview.chromium.org/1703823002/ ) Reason for revert: Revert because of canary crashes: crbug.com/589413 Original issue's description: > 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 > > Committed: https://crrev.com/2285a99ef6f7d52f4f0c4d88a7db4224443ee152 > Cr-Commit-Position: refs/heads/master@{#34212} TBR=jochen@chromium.org,hpayer@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:578883 Review URL: https://codereview.chromium.org/1725073003 Cr-Commit-Position: refs/heads/master@{#34238}
-
- 23 Feb, 2016 1 commit
-
-
ulan authored
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}
-
- 22 Feb, 2016 1 commit
-
-
littledan authored
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}
-
- 19 Feb, 2016 1 commit
-
-
bmeurer authored
This reducer doesn't really add value, because: (a) it is only concerned with JSCallFunction and JSToNumber, but when we get to it, all JSCallFunction nodes will have been replaced by Call nodes, and in the not so far future, we will also have replaced almost all JSToNumber nodes with better code, (b) and the reducer tries to be smart and use one of the outermost contexts, but that might not be beneficial always; actually it might even create longer live ranges and lead to more spilling in some cases. But most importantly, the JSContextRelaxation currently blocks inlining based on SharedFunctionInfo, because it requires the inliner to check the native context, which in turn requires JSFunction knowledge. So I'm removing this reducer for now to unblock the more important inliner changes. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1715633002 Cr-Commit-Position: refs/heads/master@{#34139}
-
- 16 Feb, 2016 2 commits
-
-
ulan authored
This new class provides a unified interface for recording and iterating slots in store and slots buffers: RememberedSet<OLD_TO_NEW>::Insert(page, slot); RememberedSet<OLD_TO_OLD>::Insert(page, slot); RememberedSet<OLD_TO_NEW>::Iterate(heap, callback); RememberedSet<OLD_TO_OLD>::Iterate(heap, callback); After this change the store buffer is responsible only for collecting slots from the generated code. Subsequent CLs will remove the slots buffer. BUG=chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1683653002 Cr-Commit-Position: refs/heads/master@{#34031}
-
jarin authored
Review URL: https://codereview.chromium.org/1700923002 Cr-Commit-Position: refs/heads/master@{#34026}
-
- 10 Feb, 2016 2 commits
-
-
rmcilroy authored
Moves InterpreterAssembler out of the compiler directory and into the interpreter directory. Makes InterpreterAssembler as subclass of CodeStubAssembler. As part of this change, the special bytecode dispatch linkage type is removed and instead we use a InterfaceDispatchDescriptor and a normal CodeStub linkage type. Removes a bunch of duplicated logic in InterpreterAssembler and instead uses the CodeStubAssembler logic. Refactors Interpreter with these changes. Modifies CodeStubAssembler to add the extra operations required by the Interpreter (extra call types, raw memory access and some extra binary ops). Also adds the ability for subclasses to add extra prologue and epilogue operations around calls, which is required for the Interpreter. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1673333004 Cr-Commit-Position: refs/heads/master@{#33873}
-
yangguo authored
R=jochen@chromium.org, verwaest@chromium.org BUG=chromium:585724 LOG=N Review URL: https://codereview.chromium.org/1681513002 Cr-Commit-Position: refs/heads/master@{#33864}
-
- 09 Feb, 2016 1 commit
-
-
machenbach authored
BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1684543002 Cr-Commit-Position: refs/heads/master@{#33842}
-
- 08 Feb, 2016 2 commits
-
-
bmeurer authored
This moves the JSCreate related functionality from JSTypedLowering into a dedicated JSCreateLowering reducer. This is in preparation of landing the support for optimized literals in TurboFan, which would blow up JSTypedLowering quite seriously otherwise. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1678833002 Cr-Commit-Position: refs/heads/master@{#33813}
-
ulan authored
This replaces the global remembered set with per-page remembered sets. Each page in the old space, map space, and large object space keeps track of the set of slots in the page pointing to the new space. The data structure for storing slot sets is a two-level bitmap, which allows us to remove the store buffer overflow and SCAN_ON_SCAVENGE logic. Design doc: https://goo.gl/sMKCf7 BUG=chromium:578883 LOG=NO Review URL: https://codereview.chromium.org/1608583002 Cr-Commit-Position: refs/heads/master@{#33806}
-
- 04 Feb, 2016 3 commits
-
-
yangguo authored
This change adds the basic infrastructure to record source positions for bytecode. R=rmcilroy@chromium.org, vogelheim@chromium.org BUG=v8:4960 LOG=N Review URL: https://codereview.chromium.org/1662983002 Cr-Commit-Position: refs/heads/master@{#33726}
-
machenbach authored
BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1667673003 Cr-Commit-Position: refs/heads/master@{#33724}
-
ahaas authored
The goal of the Int64Reducer is to replace all int64 nodes in a tf graph with a set of int32 nodes such that 64 bit tf functions can be executed on 32 bit platforms. At the moment the Int64Reducer only replaces Int64Constants, TruncateInt64ToInt32, and Word64And. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1655883002 Cr-Commit-Position: refs/heads/master@{#33721}
-
- 02 Feb, 2016 1 commit
-
-
jarin authored
This CL removes the Config templatization from the types. It is not necessary anymore, after the HeapTypes have been removed. The CL also changes the type hierarchy - the specific type kinds are not inner classes of the Type class and they do not inherit from Type. This is partly because it seems impossible to make this work without templates. Instead, a new TypeBase class is introduced and all the structural (i.e., non-bitset) types inherit from it. The bitset type still requires the bit-munging hack and some nasty reinterpret-casts to pretend bitsets are of type Type*. Additionally, there is now the same hack for TypeBase - all pointers to the sub-types of TypeBase are reinterpret-casted to Type*. This is to keep the type constructors in inline method definitions (although it is unclear how much that actually buys us). In future, we would like to move to a model where we encapsulate Type* into a class (or possibly use Type where we used to use Type*). This would loosen the coupling between bitset size and pointer size, and eventually we would be able to have more bits. TBR=bradnelson@chromium.org Review URL: https://codereview.chromium.org/1655833002 Cr-Commit-Position: refs/heads/master@{#33656}
-