- 06 Jun, 2016 3 commits
-
-
epertoso authored
Revert of Provide a tagged allocation top pointer. (patchset #5 id:80001 of https://codereview.chromium.org/2028633002/ ) Reason for revert: d8 segfaults on some benchmarks on ia32. Investigating. Original issue's description: > Provide a tagged allocation top pointer. > > Taking over http://crrev.com/1924223002. > > BUG=chromium:606711 > LOG=N > > Committed: https://crrev.com/f42c9e93c80fdf57e8f92bb87f6ed927d0ae4028 > Committed: https://crrev.com/c99caf307ba3bb1b1cf08bf4172f503754c41341 > Cr-Original-Commit-Position: refs/heads/master@{#36633} > Cr-Commit-Position: refs/heads/master@{#36742} TBR=bmeurer@chromium.org,hpayer@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:606711 Review-Url: https://codereview.chromium.org/2035413003 Cr-Commit-Position: refs/heads/master@{#36758}
-
ishell authored
[stubs] Introducing LoadICTFStub and LoadICTrampolineTFStub and a switch to enable them instead of respective platform stubs. The stubs do not increase respective counters as they are in the snapshot and --native-code-counters is off during snapshot creation anyway. Review-Url: https://codereview.chromium.org/2031753003 Cr-Commit-Position: refs/heads/master@{#36754}
-
epertoso authored
Taking over http://crrev.com/1924223002. BUG=chromium:606711 LOG=N Committed: https://crrev.com/f42c9e93c80fdf57e8f92bb87f6ed927d0ae4028 Review-Url: https://codereview.chromium.org/2028633002 Cr-Original-Commit-Position: refs/heads/master@{#36633} Cr-Commit-Position: refs/heads/master@{#36742}
-
- 02 Jun, 2016 2 commits
-
-
ishell authored
[stubs] Extend HasProperty stub with dictionary-mode, string wrapper and double-elements objects support. This CL also replaces some Branch() usages with GotoIf/GotoUnless. (This is a reland after fixing issues that prevented this CL from landing in other CLs). BUG=v8:2743 LOG=Y Committed: https://crrev.com/24066b6df4259b302edfa1db884c479008776a7e Cr-Commit-Position: refs/heads/master@{#36657} Review-Url: https://codereview.chromium.org/1995453002 Cr-Commit-Position: refs/heads/master@{#36686}
-
bmeurer authored
We use StringFromCharCode to optimize calls to String.fromCharCode with a single Number argument for now. We will use it to also implement the charAt method on the String prototype. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2037453003 Cr-Commit-Position: refs/heads/master@{#36668}
-
- 01 Jun, 2016 4 commits
-
-
ishell authored
Revert of Extend HasProperty stub with dictionary-mode and double-elements objects support. (patchset #8 id:280001 of https://codereview.chromium.org/1995453002/ ) Reason for revert: There are crashes on Win32 and Win64 bots. Original issue's description: > Extend HasProperty stub with dictionary-mode, string wrapper and double-elements objects support. > > This CL also replaces some Branch() usages with GotoIf/GotoUnless. > > BUG=v8:2743 > LOG=Y > > Committed: https://crrev.com/24066b6df4259b302edfa1db884c479008776a7e > Cr-Commit-Position: refs/heads/master@{#36657} TBR=verwaest@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:2743 Review-Url: https://codereview.chromium.org/2028333002 Cr-Commit-Position: refs/heads/master@{#36659}
-
ishell authored
This CL also replaces some Branch() usages with GotoIf/GotoUnless. BUG=v8:2743 LOG=Y Review-Url: https://codereview.chromium.org/1995453002 Cr-Commit-Position: refs/heads/master@{#36657}
-
epertoso authored
Revert of Provide a tagged allocation top pointer. (patchset #4 id:60001 of https://codereview.chromium.org/2028633002/ ) Reason for revert: Seems to be causing flakiness in some wasm tests: https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/10598 https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20debug/builds/2528 Original issue's description: > Provide a tagged allocation top pointer. > > Taking over http://crrev.com/1924223002. > > BUG=chromium:606711 > LOG=N > > Committed: https://crrev.com/f42c9e93c80fdf57e8f92bb87f6ed927d0ae4028 > Cr-Commit-Position: refs/heads/master@{#36633} TBR=bmeurer@chromium.org,hpayer@chromium.org,machenbach@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:606711 Review-Url: https://codereview.chromium.org/2031493002 Cr-Commit-Position: refs/heads/master@{#36640}
-
epertoso authored
Taking over http://crrev.com/1924223002. BUG=chromium:606711 LOG=N Review-Url: https://codereview.chromium.org/2028633002 Cr-Commit-Position: refs/heads/master@{#36633}
-
- 31 May, 2016 1 commit
-
-
bmeurer authored
When we moved the String.fromCharCode builtin to C++, we slightly regressed the fast single character code argument case. Recovered some of the performance by implementing the builtin using the TurboFan CodeStubAssembler. Drive-by-fix: Make sure the stack trace from the implicit ToNumber conversion in String.fromCharCode includes the builtin by adding a regression test for that. R=yangguo@chromium.org BUG=chromium:609831,chromium:613947,v8:5049 Review-Url: https://codereview.chromium.org/2021143003 Cr-Commit-Position: refs/heads/master@{#36611}
-
- 24 May, 2016 1 commit
-
-
danno authored
BUG=chromium:608675 LOG=n Review-Url: https://codereview.chromium.org/1987183002 Cr-Commit-Position: refs/heads/master@{#36463}
-
- 21 May, 2016 2 commits
-
-
bmeurer authored
Address computation on 64-bit platforms must be done in Word64, mixing Word32 here is unsound. TBR=danno@chromium.org Review-Url: https://codereview.chromium.org/1997223002 Cr-Commit-Position: refs/heads/master@{#36428}
-
danno authored
BUG=chromium:613796 LOG=N Review-Url: https://codereview.chromium.org/2002813002 Cr-Commit-Position: refs/heads/master@{#36425}
-
- 19 May, 2016 2 commits
-
-
danno authored
Previously, CodeStubAssembler macros performing FixedArray element accesses had to compute offsets to elements explicitly with a fair amount of duplicated code. Furthermore, any peephole optimizations that could produce better code-- like recognizing constant indices or combining array index computation with Smi untagging--were also duplicated. This change factors the code to compute FixedArray index offsets into a common routine in the CodeStubAssembler that applies standard peephole optimizations to all accesses. In order to do this, it also introduces limited introspection into the up-until-now opaque Node* type exported from code-assembler.h, allowing Nodes to be queried whether they are constant and extracting their constant value in that case. Review-Url: https://codereview.chromium.org/1989363004 Cr-Commit-Position: refs/heads/master@{#36370}
-
danno authored
Review-Url: https://codereview.chromium.org/1995543003 Cr-Commit-Position: refs/heads/master@{#36355}
-
- 17 May, 2016 2 commits
-
-
bmeurer authored
This adds back the instanceof operator support in the backends and introduces a @@hasInstance protector cell on the isolate that guards the fast path for the InstanceOfStub. This way we recover the ~10% regression on Octane EarleyBoyer in Crankshaft and greatly improve TurboFan and Ignition performance of instanceof. R=ishell@chromium.org TBR=hpayer@chromium.org,rossberg@chromium.org BUG=chromium:597249, v8:4447 LOG=n Review-Url: https://codereview.chromium.org/1980483003 Cr-Commit-Position: refs/heads/master@{#36275}
-
ishell authored
Review-Url: https://codereview.chromium.org/1986043002 Cr-Commit-Position: refs/heads/master@{#36270}
-
- 04 May, 2016 1 commit
-
-
epertoso authored
The macro was Using SmiTag(Int32Constant()) was causing some unnecessary shifts to be emitted in the deferred code. Also, when allocating in new space, the macro now uses Runtime::kAllocateInNewSpace. Review-Url: https://codereview.chromium.org/1945263002 Cr-Commit-Position: refs/heads/master@{#36023}
-
- 03 May, 2016 3 commits
-
-
danno authored
BUG=chromium:608675 LOG=N Review-Url: https://codereview.chromium.org/1948433002 Cr-Commit-Position: refs/heads/master@{#36000}
-
ishell authored
Code common with ObjectHasOwnProperty builtin was moved to CodeStubAssembler. BUG=v8:2743 LOG=Y Review-Url: https://codereview.chromium.org/1894953004 Cr-Commit-Position: refs/heads/master@{#35972}
-
danno authored
Review-Url: https://codereview.chromium.org/1903723003 Cr-Commit-Position: refs/heads/master@{#35963}
-
- 29 Apr, 2016 1 commit
-
-
rmcilroy authored
Adapts FastCloneShallowObjectStub to enable it to be used by the CreateObjectLiteral bytecode. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/1922523002 Cr-Commit-Position: refs/heads/master@{#35909}
-
- 28 Apr, 2016 1 commit
-
-
neis authored
Instead of replacing the array with an empty one after resuming, overwrite contents with a new Oddball. This will simplify the work to be done by the bytecode graphbuilder and potentially allow for more optimization. (For full-codegen generators, nothing changes.) BUG=v8:4907 LOG=n Review-Url: https://codereview.chromium.org/1923253002 Cr-Commit-Position: refs/heads/master@{#35872}
-
- 27 Apr, 2016 1 commit
-
-
danno authored
Now that the GC team has landed the appropriate changes to ensure that the top page of the address space is never used for allocation, the inlined fast-case allocation path in the CodeAssembler can be micro-optimized to an add to top followed by an unsigned compare to limit, eliding a no-longer-needed overflow check. Review-Url: https://codereview.chromium.org/1923803003 Cr-Commit-Position: refs/heads/master@{#35830}
-
- 24 Apr, 2016 1 commit
-
-
bmeurer authored
This allows us to get rid of the "push TruncateFloat64ToInt32 into Phi" trick that was used in the MachineOperatorReducer to combine the ChangeTaggedToFloat64 and TruncateFloat64ToInt32 operations. Instead of doing that later, we can just introduce the proper operator during the representation selection directly. Also separate the TruncateFloat64ToInt32 machine operator, which had two different meanings depending on a flag (either JavaScript truncation or C++ style round to zero). Now there's a TruncateFloat64ToWord32 which represents the JavaScript truncation (implemented via TruncateDoubleToI macro + code stub) and the RoundFloat64ToInt32, which implements the C++ round towards zero operation (in the same style as the other WebAssembly driven Round* machine operators). R=jarin@chromium.org Review URL: https://codereview.chromium.org/1919513002 Cr-Commit-Position: refs/heads/master@{#35743}
-
- 22 Apr, 2016 2 commits
-
-
mbrandy authored
Need to use the kHashFieldSlot rather than kHashFieldOffset for pointer-sized memory accesses. (Fix for "[builtins] Migrate String.prototype.charCodeAt and String.prototype.charAt to TurboFan.") R=bmeurer@chromium.org, epertoso@chromium.org BUG= Review URL: https://codereview.chromium.org/1907393002 Cr-Commit-Position: refs/heads/master@{#35741}
-
neis authored
The new bytecodes replace two runtime functions. They are still unsupported by the bytecode graphbuilder, though. BUG=v8:4907 LOG=n Review URL: https://codereview.chromium.org/1904933002 Cr-Commit-Position: refs/heads/master@{#35716}
-
- 21 Apr, 2016 2 commits
-
-
bmeurer authored
This operator doesn't generate any actual code, but teaches the register allocator that a certain computed pointer value is tagged. This is required to safely implement InnerAllocate (and we also use this for Allocate to be sure that we don't suddenly leak a dangling pointer into the heap somewhere). R=epertoso@chromium.org BUG=v8:4939 LOG=n Review URL: https://codereview.chromium.org/1905813003 Cr-Commit-Position: refs/heads/master@{#35700}
-
danno authored
Move allocation-related and smi un/tagging methods into CodeStubAssembler. Review URL: https://codereview.chromium.org/1893383002 Cr-Commit-Position: refs/heads/master@{#35684}
-
- 18 Apr, 2016 2 commits
-
-
danno authored
This separation is needed to make two goals possible simultaneously: * is should be possible to offer V8 components a simple, clean interface to TurboFan's low-level code generation that doesn't expose details about the TF. * it should be possible to easily create new CodeAssembler "macros" that don't require a review from an OWNER of the compiler directory. Review URL: https://codereview.chromium.org/1875583003 Cr-Commit-Position: refs/heads/master@{#35576}
-
verwaest authored
BUG= Committed: https://crrev.com/4c2b04542f263b2679194f9fb75672ebbe72b924 Cr-Commit-Position: refs/heads/master@{#35330} Committed: https://crrev.com/7fdfdc12d4e4291348112ace4278a827f57f2eb9 Cr-Commit-Position: refs/heads/master@{#35494} Review URL: https://codereview.chromium.org/1838283003 Cr-Commit-Position: refs/heads/master@{#35563}
-
- 16 Apr, 2016 2 commits
-
-
machenbach authored
Revert of [Atomics] Remove Atomics code stubs; use TF ops (patchset #6 id:100001 of https://codereview.chromium.org/1891033002/ ) Reason for revert: [Sheriff] Breaks https://build.chromium.org/p/client.v8/builders/V8%20Linux%20ASAN%20mipsel%20-%20debug%20builder/builds/6121 Original issue's description: > [Atomics] Remove Atomics code stubs; use TF ops > > This is a much cleaner solution, which won't require nearly as much > architecture-specific code. Thanks bmeurer@! > > BUG=v8:4614 > LOG=y > R=bmeurer@chromium.org,jarin@chromium.org > > Committed: https://crrev.com/6ff5881b1def45b35384572f61327e42563a89c3 > Cr-Commit-Position: refs/heads/master@{#35547} TBR=bmeurer@chromium.org,jarin@chromium.org,rodolph.perfetta@gmail.com,binji@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4614 Review URL: https://codereview.chromium.org/1895643002 Cr-Commit-Position: refs/heads/master@{#35548}
-
binji authored
This is a much cleaner solution, which won't require nearly as much architecture-specific code. Thanks bmeurer@! BUG=v8:4614 LOG=y R=bmeurer@chromium.org,jarin@chromium.org Review URL: https://codereview.chromium.org/1891033002 Cr-Commit-Position: refs/heads/master@{#35547}
-
- 15 Apr, 2016 1 commit
-
-
verwaest authored
Revert of Migrate FastCloneShallowObjectStub to TurboFan (patchset #9 id:180001 of https://codereview.chromium.org/1838283003/ ) Reason for revert: The boilerplate is copied based on the boilerplate + memento size, which reads off the end of the boilerplate. Original issue's description: > Migrate FastCloneShallowObjectStub to TurboFan > > BUG= > > Committed: https://crrev.com/4c2b04542f263b2679194f9fb75672ebbe72b924 > Cr-Commit-Position: refs/heads/master@{#35330} > > Committed: https://crrev.com/7fdfdc12d4e4291348112ace4278a827f57f2eb9 > Cr-Commit-Position: refs/heads/master@{#35494} TBR=bmeurer@chromium.org,jkummerow@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG= NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1888043006 Cr-Commit-Position: refs/heads/master@{#35544}
-
- 14 Apr, 2016 2 commits
-
-
verwaest authored
BUG= Committed: https://crrev.com/4c2b04542f263b2679194f9fb75672ebbe72b924 Cr-Commit-Position: refs/heads/master@{#35330} Review URL: https://codereview.chromium.org/1838283003 Cr-Commit-Position: refs/heads/master@{#35494}
-
rmcilroy authored
Modifies Ignition to store code entry addresses in the dispatch table rather than code objects. This allows the interpreter to avoid calculating the code entry address from the code object on every dispatch and provides a ~5-7% performance improvement on Octane with Ignition. This change adds ArchOpcode::kArchTailCallAddress to TurboFan to enable tail call dispatch using these code addresses. It also adds a Dispatch linkage creator (distinct from the stub linkage type used previously) to allow targetting a code address target (which will diverge further from the stub linkage type when we remove the context machine register in Ignition). BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1882073002 Cr-Commit-Position: refs/heads/master@{#35480}
-
- 13 Apr, 2016 4 commits
-
-
binji authored
Reland of (https://codereview.chromium.org/1617503003) * New atomic code stubs for x64, ia32, arm, arm64 * Add convenience functions JumpIfNotValidSmiValue, JumpIfUintNotValidSmiValue to macro-assembler-ia32 (API based on x64 macro assembler) * Remove runtime implementation of Atomics.load, the code stub should always be called instead * Add new test to mjsunit atomics test; check that Smi values of different sizes are supported when possible, else fall back to HeapNumbers These changes were needed to add another codestub: * Bump kStubMajorKeyBits from 7 to 8 * Reduce ScriptContextFieldStub::kSlotIndexBits from 13 to 12 BUG=v8:4614 LOG=y TBR=jarin@chromium.org,bmeurer@chromium.org,rodolph.perfetta@gmail.com,machenbach@chromium.org Review URL: https://codereview.chromium.org/1617503003 Cr-Commit-Position: refs/heads/master@{#35427} Review URL: https://codereview.chromium.org/1881383003 Cr-Commit-Position: refs/heads/master@{#35453}
-
epertoso authored
Add the stubs for JavaScript's '<<', '>>' and '>>>' operators and lets Ignition make use of them in the respective bytecode handlers. Committed: https://crrev.com/599369d6b8e1a5ccdca857def06eebcbacf47dd4 Cr-Commit-Position: refs/heads/master@{#35433} Review URL: https://codereview.chromium.org/1881003002 Cr-Commit-Position: refs/heads/master@{#35446}
-
machenbach authored
Revert of [stubs] Introduce LeftShift, SignedRightShift and UnsignedRightShift stubs. (patchset #3 id:40001 of https://codereview.chromium.org/1881003002/ ) Reason for revert: Needed to revert https://codereview.chromium.org/1617503003 Original issue's description: > [stubs] Introduce LeftShift, SignedRightShift and UnsignedRightShift stubs. > > Add the stubs for JavaScript's '<<', '>>' and '>>>' operators and lets Ignition make use of them in the respective bytecode handlers. > > Committed: https://crrev.com/599369d6b8e1a5ccdca857def06eebcbacf47dd4 > Cr-Commit-Position: refs/heads/master@{#35433} 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/1880413002 Cr-Commit-Position: refs/heads/master@{#35444}
-
machenbach authored
Revert of [Atomics] code stubs for atomic operations (patchset #28 id:530001 of https://codereview.chromium.org/1617503003/ ) Reason for revert: [Sheriff] Roll was reverted. Please fix unused methods, see: https://codereview.chromium.org/1884913002/ https://build.chromium.org/p/tryserver.chromium.win/builders/win_clang/builds/5585/steps/compile%20%28with%20patch%29/logs/stdio Original issue's description: > [Atomics] code stubs for atomic operations > > * New atomic code stubs for x64, ia32, arm, arm64 > * Add convenience functions JumpIfNotValidSmiValue, JumpIfUintNotValidSmiValue > to macro-assembler-ia32 (API based on x64 macro assembler) > * Remove runtime implementation of Atomics.load, the code stub should always be > called instead > * Add new test to mjsunit atomics test; check that Smi values of different > sizes are supported when possible, else fall back to HeapNumbers > > These changes were needed to add another codestub: > * Bump kStubMajorKeyBits from 7 to 8 > * Reduce ScriptContextFieldStub::kSlotIndexBits from 13 to 12 > > BUG=v8:4614 > LOG=y > > Committed: https://crrev.com/10b5febe11b318cfef130abae343183ac862e60d > Cr-Commit-Position: refs/heads/master@{#35427} TBR=jarin@chromium.org,bmeurer@chromium.org,rodolph.perfetta@gmail.com,binji@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4614 Review URL: https://codereview.chromium.org/1884883003 Cr-Commit-Position: refs/heads/master@{#35443}
-