- 26 Sep, 2016 1 commit
-
-
hablich authored
Revert of [stubs] Port SubStringStub to TurboFan (patchset #8 id:140001 of https://codereview.chromium.org/2355793003/ ) Reason for revert: Speculative revert because of stability problems Original issue's description: > [stubs] Port SubStringStub to TurboFan > > This ports the platform-specific SubStringStub to TurboFan. > > It also contains a minor bug-fix for the case when the requested substring > length equals the subject string length, but the start index is not equal to 0. > The old stub implementation returned the subject string, while the new > implementation calls into runtime, which finally results in a thrown exception. > > BUG=v8:5415 > > Committed: https://crrev.com/49be31921536716706a6790fbbf9c346b975af16 > Cr-Commit-Position: refs/heads/master@{#39653} TBR=ishell@chromium.org,bmeurer@chromium.org,jgruber@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:5415, chromium:649967 NOPRESUBMIT=true NOTRY=true Review-Url: https://codereview.chromium.org/2365413002 Cr-Commit-Position: refs/heads/master@{#39737}
-
- 23 Sep, 2016 2 commits
-
-
ishell authored
According to new store IC calling convention the value, slot and vector are passed on the stack and there's no need in trying to preserve values or respective registers in store handlers. Nice bonus: we also don't need virtual registers anymore. BUG=v8:5407 Review-Url: https://codereview.chromium.org/2357323003 Cr-Commit-Position: refs/heads/master@{#39672}
-
jgruber authored
This ports the platform-specific SubStringStub to TurboFan. It also contains a minor bug-fix for the case when the requested substring length equals the subject string length, but the start index is not equal to 0. The old stub implementation returned the subject string, while the new implementation calls into runtime, which finally results in a thrown exception. BUG=v8:5415 Review-Url: https://codereview.chromium.org/2355793003 Cr-Commit-Position: refs/heads/master@{#39653}
-
- 21 Sep, 2016 1 commit
-
-
ishell authored
This cleanup is necessary to make HCallWithDescriptor support passing arguments on the stack. BUG=v8:5407 Review-Url: https://codereview.chromium.org/2352163004 Cr-Commit-Position: refs/heads/master@{#39590}
-
- 16 Sep, 2016 1 commit
-
-
ishell authored
This CL also cleans up related interface descriptors: 1) unused StoreTransitionDescriptor is removed and VectorStoreTransitionDescriptor is renamed to StoreTransitionDescriptor. 2) on ia32/x87 architectures slot and vector are passed on the stack (dispatcher/handlers cleanup will be addressed in a separate CL). These two stub ports have to be combined in one CL because: 1) without changing the StoreTransitionDescriptor TF was not able to compile them on ia32/x87 (because of lack of registers), 2) it was not possible to change the descriptor first because Crankshaft was not able to deal with the stack allocated parameters in case of a stub failure. TBR=jkummerow@chromium.org BUG=v8:5269 Review-Url: https://codereview.chromium.org/2313093002 Cr-Commit-Position: refs/heads/master@{#39476}
-
- 14 Sep, 2016 1 commit
-
-
mvstanton authored
BUG= Review-Url: https://codereview.chromium.org/2333243004 Cr-Commit-Position: refs/heads/master@{#39398}
-
- 13 Sep, 2016 1 commit
-
-
mvstanton authored
To make better inlining decisions, it's good to have call counts for poly/mega-morphic cases. This CL makes it work for calls, and another will follow to better unify the code between constructor calls and normal calls (and thence, to record megamorphic call counts there as well). BUG= Review-Url: https://codereview.chromium.org/2325083003 Cr-Commit-Position: refs/heads/master@{#39377}
-
- 12 Sep, 2016 1 commit
-
-
weiliang.lin authored
Both legacy and AVX versions BUG= Review-Url: https://codereview.chromium.org/2328843003 Cr-Commit-Position: refs/heads/master@{#39327}
-
- 09 Sep, 2016 2 commits
-
-
eholk authored
This CL introduces a ProtectedLoad instruction with is needed for out of bounds trap handling. ProtectedLoad behaves like a regular load, but it takes a context and source position parameter as well. These are used by an out of line code fragment to generate code to throw a JS exception for an out of bounds memory reference in Wasm. These changes a cleaned up subset of https://codereview.chromium.org/2148743004/ The rest of this feature will follow in future CLs. This includes a table mapping memory instructions to landing pads as well as the actual signal handler. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=5277 Review-Url: https://codereview.chromium.org/2301833004 Cr-Commit-Position: refs/heads/master@{#39318}
-
Alexander.Gilday2 authored
Migrate the platform ToName stub to TurboFan. BUG=v8:5049 Review-Url: https://codereview.chromium.org/2302923002 Cr-Commit-Position: refs/heads/master@{#39315}
-
- 08 Sep, 2016 1 commit
-
-
mythria authored
Adds support to collect allocation site feedback for Array function calls to the call bytecode handler. BUG=v8:4280, v8:4780 LOG=N Review-Url: https://codereview.chromium.org/2307903002 Cr-Commit-Position: refs/heads/master@{#39283}
-
- 06 Sep, 2016 1 commit
-
-
mlippautz authored
This way we avoid the cyclic dependency between objects.h and heap.h and still have one definition. Add a static assert that this size is indeed smaller than the payload of a page. Follow ups can finally remove the dependency on spaces.h for all heap.h users. R=ulan@chromium.org,bmeurer@chromium.org,vogelheim@chromium.og Review-Url: https://codereview.chromium.org/2311203002 Cr-Commit-Position: refs/heads/master@{#39206}
-
- 02 Sep, 2016 1 commit
-
-
mythria authored
Collect type feedback in the bytecode handler for 'new' bytecode. The earlier cl (https://codereview.chromium.org/2153433002/) was reverted because that implementation did not collect allocation site feedback. This regressed delta blue by an order of magnitude. This implementation includes collection of allocation site feedback. Reland of https://codereview.chromium.org/2190293003/ with a bug fix. BUG=v8:4280, v8:4780 LOG=N Review-Url: https://codereview.chromium.org/2225923003 Cr-Commit-Position: refs/heads/master@{#39120}
-
- 31 Aug, 2016 1 commit
-
-
mlippautz authored
BUG= R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2286613002 Cr-Commit-Position: refs/heads/master@{#39054}
-
- 23 Aug, 2016 2 commits
-
-
gdeepti authored
- Instruction selection, code generation, test for Splat/Extract - Fixes for AstS128 Locals in wasm R=bbudge@chromium.org, titzer@chromium.org Review-Url: https://codereview.chromium.org/2264533002 Cr-Commit-Position: refs/heads/master@{#38843}
-
epertoso authored
Drive-by fix: the order of parameters in the BinaryOpWithFeedback TurboFan code stubs now reflects the convention of having the context at the end. BUG=v8:5273 Review-Url: https://codereview.chromium.org/2263253002 Cr-Commit-Position: refs/heads/master@{#38832}
-
- 22 Aug, 2016 2 commits
-
-
ahaas authored
The new operators are implemented similar to the Float64(Max|Min) which already exist. The purpose of the new operators is the implementation of the F32Max and F32Min instructions in WebAssembly. R=titzer@chromium.org, v8-arm-ports@googlegroups.com, v8-mips-ports@googlegroups.com Review-Url: https://codereview.chromium.org/2252863003 Cr-Commit-Position: refs/heads/master@{#38784}
-
marja authored
Rebuilding (after touching certain files) is crazy slow because includes are out of control. Fixing it: - Don't include stuff in headers unless necessary. - Include the stuff you need, not some other stuff that happens to include the stuff you need. BUG=v8:5294 Review-Url: https://codereview.chromium.org/2258603003 Cr-Commit-Position: refs/heads/master@{#38770}
-
- 17 Aug, 2016 1 commit
-
-
clarkchenwang authored
BUG= Review-Url: https://codereview.chromium.org/2250913002 Cr-Commit-Position: refs/heads/master@{#38693}
-
- 12 Aug, 2016 1 commit
-
-
jkummerow authored
The hand-written KeyedLoadIC_Megamorphic stub didn't care about JSArray lengths, which made it lenient towards said lengths being wrong, but it will soon fix that bug and thereby become more strict. LiveEdit: factory->NewJSArray(capacity) doesn't set a length, so set it manually. RegExp: to avoid having to take care of array length updating in the RegExpExecStub, just use a JSObject instead. Review-Url: https://codereview.chromium.org/2244673002 Cr-Commit-Position: refs/heads/master@{#38624}
-
- 08 Aug, 2016 2 commits
-
-
epertoso authored
Before this change we would first load an 8/16/32-bit value from memory into a 32-bit register, then zero/sign-extend from that register to a 64-bit one. Now we replace that pattern with a single movsx/movzx. Ported from http://crrev.com/2183923003 R=bmeurer@chromium.org Committed: https://crrev.com/4abecb7a27bd5fa073d0ff5fadb0c2bb248ef9f4 Review-Url: https://codereview.chromium.org/2220483003 Cr-Original-Commit-Position: refs/heads/master@{#38388} Cr-Commit-Position: refs/heads/master@{#38428}
-
ahaas authored
I had to adjust Float64Max/Min on x64 slightly to return the default wasm NaN (0x7FF0000000000000) instead of the all-ones NaN (0xFFFFFFFFFFFFFFFF). R=titzer@chromium.org, bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2204963002 Cr-Commit-Position: refs/heads/master@{#38410}
-
- 05 Aug, 2016 4 commits
-
-
machenbach authored
Revert of [x64] Zero/sign-extend loads to 64-bit registers. (patchset #1 id:20001 of https://codereview.chromium.org/2220483003/ ) Reason for revert: Breaks tree: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20debug/builds/10969 Original issue's description: > [x64] Zero/sign-extend loads to 64-bit registers. > > Before this change we would first load an 8/16/32-bit value from memory into a 32-bit register, then zero/sign-extend from that register to a 64-bit one. Now we replace that pattern with a single movsx/movzx. > > Ported from http://crrev.com/2183923003 > > R=bmeurer@chromium.org > > Committed: https://crrev.com/4abecb7a27bd5fa073d0ff5fadb0c2bb248ef9f4 > Cr-Commit-Position: refs/heads/master@{#38388} TBR=bmeurer@chromium.org,epertoso@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/2221473002 Cr-Commit-Position: refs/heads/master@{#38389}
-
epertoso authored
Before this change we would first load an 8/16/32-bit value from memory into a 32-bit register, then zero/sign-extend from that register to a 64-bit one. Now we replace that pattern with a single movsx/movzx. Ported from http://crrev.com/2183923003 R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2220483003 Cr-Commit-Position: refs/heads/master@{#38388}
-
machenbach authored
Revert of [Interpreter] Collect type feedback for 'new' in the bytecode handler (patchset #6 id:100001 of https://codereview.chromium.org/2190293003/ ) Reason for revert: [Sheriff] Fails on nosnap debug: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/8403 Original issue's description: > [Interpreter] Collect type feedback for 'new' in the bytecode handler > > Collect type feedback in the bytecode handler for 'new' bytecode. The > earlier cl (https://codereview.chromium.org/2153433002/) was reverted > because that implementation did not collect allocation site feedback. > This regressed delta blue by an order of magnitude. This implementation > includes collection of allocation site feedback. > > BUG=v8:4280, v8:4780 > LOG=N > > Committed: https://crrev.com/9d5e6129c4c7f9cbfe81a5fad2a470f219fe137c > Cr-Commit-Position: refs/heads/master@{#38364} TBR=bmeurer@chromium.org,rmcilroy@chromium.org,balazs.kilvady@imgtec.com,mythria@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4280, v8:4780 Review-Url: https://codereview.chromium.org/2212343002 Cr-Commit-Position: refs/heads/master@{#38368}
-
mythria authored
Collect type feedback in the bytecode handler for 'new' bytecode. The earlier cl (https://codereview.chromium.org/2153433002/) was reverted because that implementation did not collect allocation site feedback. This regressed delta blue by an order of magnitude. This implementation includes collection of allocation site feedback. BUG=v8:4280, v8:4780 LOG=N Review-Url: https://codereview.chromium.org/2190293003 Cr-Commit-Position: refs/heads/master@{#38364}
-
- 03 Aug, 2016 2 commits
-
-
weiliang.lin authored
BUG= Review-Url: https://codereview.chromium.org/2170323002 Cr-Commit-Position: refs/heads/master@{#38307}
-
jgruber authored
A corresponding flag was added as well to help us find out what breaks when we do not clear pending exceptions on each JS entry. BUG=5259 Review-Url: https://codereview.chromium.org/2208663002 Cr-Commit-Position: refs/heads/master@{#38292}
-
- 02 Aug, 2016 1 commit
-
-
franzih authored
Replace hydrogen stub for typeof with TurboFan stub. BUG=chromium:608675 Review-Url: https://codereview.chromium.org/2195863002 Cr-Commit-Position: refs/heads/master@{#38227}
-
- 01 Aug, 2016 1 commit
-
-
klaasb authored
This will enable the interpreter to add a bytecode and use the stub. BUG=v8:4280 LOG=n Review-Url: https://codereview.chromium.org/2177273002 Cr-Commit-Position: refs/heads/master@{#38219}
-
- 28 Jul, 2016 1 commit
-
-
danno authored
In the process also inline the stub into the appropriate interpreter bytecode handler and make sure that the context register is preserved in hand-written assembly code that calls the stub and expects the context register to be preserved. BUG=608675 Review-Url: https://codereview.chromium.org/2188993003 Cr-Commit-Position: refs/heads/master@{#38132}
-
- 26 Jul, 2016 1 commit
-
-
yangguo authored
This feature has not been used in the past few years and most likely does not even work anymore. R=ishell@chromium.org Review-Url: https://codereview.chromium.org/2186533002 Cr-Commit-Position: refs/heads/master@{#38046}
-
- 21 Jul, 2016 2 commits
-
-
weiliang.lin authored
BUG= Review-Url: https://codereview.chromium.org/2161513002 Cr-Commit-Position: refs/heads/master@{#37937}
-
ahaas authored
Original message: Calling Runtime::kAbort through a builtin instead of the c-entry stub will allow to generate the call in a background thread, because a builtin provides its own handle, whereas a code stub does not. @v8-mips-ports: Could you take a special look at the padding that is done in MacroAssembler::Abort()? Reason for revert: The reason for reverting is: Blocks roll: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/builds/1622 The problem was that on arm64 the builtin for Abort() contained a call to Abort(). The problem is fixed by using a NoUseRealAbortsScope in the code generation of Abort(). R=titzer@chromium.org, rmcilroy@chromium.org, rodolph.perfetta@arm.com Review-Url: https://codereview.chromium.org/2163263002 Cr-Commit-Position: refs/heads/master@{#37929}
-
- 20 Jul, 2016 1 commit
-
-
hablich authored
Revert of [builtins] Introduce a builtin for Abort(). (patchset #5 id:80001 of https://codereview.chromium.org/2156923002/ ) Reason for revert: Blocks roll: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/builds/1622 Original issue's description: > [builtins] Introduce a builtin for Abort(). > > Calling Runtime::kAbort through a builtin instead of the c-entry stub > will allow to generate the call in a background thread, because a > builtin provides its own handle, whereas a code stub does not. > > @v8-mips-ports: Could you take a special look at the padding that is > done in MacroAssembler::Abort()? > > R=bmeurer@chromium.org, titzer@chromium.org, mstarzinger@chromium.org, v8-mips-ports@googlegroups.com, v8-arm-ports@googlegroups.com > > Committed: https://crrev.com/9be015a254cfff871c56cd129523a729637e9158 > Cr-Commit-Position: refs/heads/master@{#37854} TBR=bmeurer@chromium.org,mstarzinger@chromium.org,titzer@chromium.org,v8-arm-ports@googlegroups.com,v8-mips-ports@googlegroups.com,akos.palfi@imgtec.com,ahaas@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/2163603003 Cr-Commit-Position: refs/heads/master@{#37883}
-
- 19 Jul, 2016 2 commits
-
-
ahaas authored
Calling Runtime::kAbort through a builtin instead of the c-entry stub will allow to generate the call in a background thread, because a builtin provides its own handle, whereas a code stub does not. @v8-mips-ports: Could you take a special look at the padding that is done in MacroAssembler::Abort()? R=bmeurer@chromium.org, titzer@chromium.org, mstarzinger@chromium.org, v8-mips-ports@googlegroups.com, v8-arm-ports@googlegroups.com Review-Url: https://codereview.chromium.org/2156923002 Cr-Commit-Position: refs/heads/master@{#37854}
-
weiliang.lin authored
BUG= Review-Url: https://codereview.chromium.org/2158923002 Cr-Commit-Position: refs/heads/master@{#37846}
-
- 18 Jul, 2016 2 commits
-
-
bmeurer authored
So far TurboFan wasn't adding the deoptimization reasons for eager/soft deoptimization exits that can be used by either the DevTools profiler or the --trace-deopt flag. This adds basic support for deopt reasons on Deoptimize, DeoptimizeIf and DeoptimizeUnless nodes and threads through the reasons to the code generation. Also moves the DeoptReason to it's own file (to resolve include cycles) and drops unused reasons. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2161543002 Cr-Commit-Position: refs/heads/master@{#37823}
-
weiliang.lin authored
Review-Url: https://codereview.chromium.org/2161503002 Cr-Commit-Position: refs/heads/master@{#37813}
-
- 14 Jul, 2016 1 commit
-
-
ishell authored
All stores require a Slot parameter so VectorStoreICTrampolineDescriptor is a new StoreDescriptor. VectorStoreICDescriptor renamed to StoreWithVectorDescriptor. Review-Url: https://codereview.chromium.org/2147043002 Cr-Commit-Position: refs/heads/master@{#37779}
-