- 16 May, 2016 1 commit
-
-
v8-autoroll authored
Rolling v8/build to 7854acf73fc05ab8b2cd340737eba14e3c442826 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/1981783002 Cr-Commit-Position: refs/heads/master@{#36259}
-
- 15 May, 2016 1 commit
-
-
v8-autoroll authored
Rolling v8/build to d4fdf55ba8b19ee50d864162c343fd1939d00fe7 Rolling v8/buildtools to 06e80a0e17319868d4a9b13f9bb6a248dc8d8b20 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/1977243002 Cr-Commit-Position: refs/heads/master@{#36258}
-
- 14 May, 2016 2 commits
-
-
franzih authored
Rewrite encodeURI as runtime function. We well probably repackage runtime_URIEncode as a C++ builtin. BUG=v8:4912 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/1968953002 Cr-Commit-Position: refs/heads/master@{#36257}
-
v8-autoroll authored
Rolling v8/base/trace_event/common to 54b8455be9505c2cb0cf5c26bb86739c236471aa Rolling v8/build to 93c1eb80b485df02249b83452a42b7a13b3bde28 Rolling v8/buildtools to e9fb74175ea7c3f251baad24d9ebe03c01ed5aba Rolling v8/tools/gyp to bce1c7793010574d88d7915e2d55395213ac63d1 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/1980813002 Cr-Commit-Position: refs/heads/master@{#36256}
-
- 13 May, 2016 33 commits
-
-
adamk authored
Revert of [ignition] Inline the binary op TurboFan code stubs in the bytecode handlers. (patchset #1 id:1 of https://codereview.chromium.org/1974293002/ ) Reason for revert: Causes cctest/test-serialize/SnapshotDataBlobWithWarmup failure on arm64: https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20debug/builds/534 Original issue's description: > [ignition] Inline the binary op TurboFan code stubs in the bytecode handlers. > > Trying to reland http://crrev.com/1902823002. > > This time some blocks have been shuffled around in the AddStub so that the frame still doesn't get built for the fast path. > > Committed: https://crrev.com/567160122de0bdb78aea79a9faa0dc15a564484c > Cr-Commit-Position: refs/heads/master@{#36251} TBR=bmeurer@chromium.org,rmcilroy@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/1978993003 Cr-Commit-Position: refs/heads/master@{#36255}
-
gsathya authored
This reverts commit 41d571df. Reason for revert: This patch breaks the correctness of the typedarray properties such as length, byteOffset, byteLength. The accessor check optimization code is dead code eliminated. A follow up patch will fix this optimization correctly. BUG=chromium:593634 Review-Url: https://codereview.chromium.org/1977983002 Cr-Commit-Position: refs/heads/master@{#36254}
-
alph authored
Review-Url: https://codereview.chromium.org/1967673002 Cr-Commit-Position: refs/heads/master@{#36253}
-
jyan authored
Port 40f34541 Original commit message: The previous approach taken by FastNew[Sloppy,Strict,Rest]ArgumentsStub looked at the function slot in order to skip stub frames and find the JS frame. However, stub frames do not have a function slot (in fact their fixed frame ends one slot before the JS frame's function slot). Therefore, if this location in the stub frame happens to have the function object the create arguments stubs won't skip this frame correctly. Replace this approach with one where the stub is specialized to either skip a frame if required (since there will only ever be one extra frame on Ignition the loop approach isn't necessary). R=rmcilroy@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= Review-Url: https://codereview.chromium.org/1978823002 Cr-Commit-Position: refs/heads/master@{#36252}
-
epertoso authored
Trying to reland http://crrev.com/1902823002. This time some blocks have been shuffled around in the AddStub so that the frame still doesn't get built for the fast path. Review-Url: https://codereview.chromium.org/1974293002 Cr-Commit-Position: refs/heads/master@{#36251}
-
jochen authored
Reland of move v8_toolset_for_d8 flag (patchset #2 id:80001 of https://codereview.chromium.org/1974773002/ ) Reason for revert: Addressed link failure Original issue's description: > Revert of Remove v8_toolset_for_d8 flag (patchset #1 id:1 of https://codereview.chromium.org/1969793002/ ) > > Reason for revert: > blocks roll: https://codereview.chromium.org/1975753002/ > > Original issue's description: > > Remove v8_toolset_for_d8 flag > > > > R=machenbach@chromium.org > > BUG=chromium:609107 > > > > Committed: https://crrev.com/6cb38427984f3c31ff6c8813535cfd6ebf6058c4 > > Cr-Commit-Position: refs/heads/master@{#36198} > > TBR=machenbach@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:609107 > > Committed: https://crrev.com/b33f9a6f24edef8447adcfb028b7f1d6e291c34e > Cr-Commit-Position: refs/heads/master@{#36209} TBR=machenbach@chromium.org,hablich@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:609107 Review-Url: https://codereview.chromium.org/1973363002 Cr-Commit-Position: refs/heads/master@{#36250}
-
oth authored
BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/1979523002 Cr-Commit-Position: refs/heads/master@{#36249}
-
cbruni authored
By fully annotating the API with runtime counters we can properly measure how much time we spend in total in v8. When --runtime-call-stats is specified we now disable the fast-paths for callbacks to properly measure them. As a drive-by-fix this CL unifies the LOG messages in api.cc. Additionally we added missing timers to gain better resolution in the parser and callbacks. BUG= Review-Url: https://codereview.chromium.org/1923893002 Cr-Commit-Position: refs/heads/master@{#36248}
-
jkummerow authored
Globally cached handler stubs shouldn't be put into the on-map caches. This should speed up IC misses and save a bit of memory. Drive-by fix: transitioning StoreIC handlers were erroneously never cached. Review-Url: https://codereview.chromium.org/1974793002 Cr-Commit-Position: refs/heads/master@{#36247}
-
marija.antic authored
Allocation folding tests are failing in debug mode, since the change https://codereview.chromium.org/1972553002 (6e15433d) introduced a debug check in lithium-codegen-mips64.cc, line 5287. Reason for failure is to be found in https://codereview.chromium.org/1899813003 (61f5fbbb), which is missing changes calling LFastAllocate in lithium-mips64.cc. BUG= Review-Url: https://codereview.chromium.org/1977833002 Cr-Commit-Position: refs/heads/master@{#36246}
-
rmcilroy authored
Adds a V8.Execute histogram to measure the amount of time spent executing JS code. BUG=v8:4865 LOG=N Review-Url: https://codereview.chromium.org/1976963002 Cr-Commit-Position: refs/heads/master@{#36245}
-
jochen authored
BUG=chromium:609107 R=machenbach@chromium.org Review-Url: https://codereview.chromium.org/1973903004 Cr-Commit-Position: refs/heads/master@{#36244}
-
jyan authored
Port 61f5fbbb Port 6e15433d Original commit message: The new allocation folding implementation avoids fragmentation between folded allocation. As a consequence, our heap will always be iterable i.e. we do not have to perform a garbage collection before iterating the heap. R=hpayer@chromium.org, joransiu@ca.ibm.com, bjaideep@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= Review-Url: https://codereview.chromium.org/1973883003 Cr-Commit-Position: refs/heads/master@{#36243}
-
mstarzinger authored
R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1977843002 Cr-Commit-Position: refs/heads/master@{#36242}
-
mstarzinger authored
Whenever tracing is activated we disable concurrent compilation. Hence all tracing functions can safely dereference all handles. This fixes the tracing functionality by annotating tracing functions with proper scopes. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1976123002 Cr-Commit-Position: refs/heads/master@{#36241}
-
yangguo authored
R=mstarzinger@chromium.org BUG=v8:4765 Review-Url: https://codereview.chromium.org/1976933002 Cr-Commit-Position: refs/heads/master@{#36240}
-
titzer authored
R=ahaas@chromium.org,bradnelson@chromium.org BUG= Review-Url: https://codereview.chromium.org/1980483002 Cr-Commit-Position: refs/heads/master@{#36239}
-
ulan authored
BUG=chromium:609249 LOG=NO Review-Url: https://codereview.chromium.org/1976133002 Cr-Commit-Position: refs/heads/master@{#36238}
-
yangguo authored
R=mstarzinger@chromium.org BUG=v8:4765 Review-Url: https://codereview.chromium.org/1968423002 Cr-Commit-Position: refs/heads/master@{#36237}
-
rmcilroy authored
Tweaks the generated code for a number of bytecode handlers. In particular, uses deferred labels (now that they exist) to ensure that fast-paths don't build frames where possible. This improves the codegen for StackCheck, Jump, Return and ForInNext. Also tweak the codegen for CreateArguments, LogicalNot, ForInDone. Seems to give ~5-8% performance boost on Octane. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/1973873004 Cr-Commit-Position: refs/heads/master@{#36236}
-
verwaest authored
Hidden prototypes are merely an implementation detail. Properties on an object + hidden prototype should look like properties on the object. Hence we should always perform a hidden prototype lookup. This CL removes the option to ignore hidden prototypes to avoid bugs that leak this implementation detail. Also, the only previously valid cases were either places were we knew we didn't have a hidden prototype; or because we knew we (in the optimizing compiler) would only handle properties from the non-hidden object.The first case is already handled by directly tagging whether a receiver has a hidden prototype. In the second case we can just filter out properties from hidden prototypes. Review-Url: https://codereview.chromium.org/1975763002 Cr-Commit-Position: refs/heads/master@{#36235}
-
hablich authored
Revert of Add V8.Execute histogram to measure time spent executing JS code. (patchset #1 id:1 of https://codereview.chromium.org/1974003002/ ) Reason for revert: Blocks roll https://codereview.chromium.org/1972303002/ Repro: - build chromium with this CL - out/Default/content_browsertests --gtest_filter=AccessibilityHitTestingBrowserTest.HitTestingInIframes Original issue's description: > Add V8.Execute histogram to measure time spent executing JS code. > > Adds a V8.Execute histogram to measure the amount of time spent executing > JS code. > > BUG=v8:4865 > LOG=N > > Committed: https://crrev.com/e8f5a2723cf54576b84322ac2ee6ef7abc9df056 > Cr-Commit-Position: refs/heads/master@{#36217} TBR=cbruni@chromium.org,rmcilroy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4865 Review-Url: https://codereview.chromium.org/1970193003 Cr-Commit-Position: refs/heads/master@{#36234}
-
hablich authored
Reland of [Reland] Implement CPU time for OS X and POSIX. (patchset #1 id:1 of https://codereview.chromium.org/1977753002/ ) Reason for revert: Not the culprit sorry. Original issue's description: > Revert of [Reland] Implement CPU time for OS X and POSIX. (patchset #1 id:1 of https://codereview.chromium.org/1966183003/ ) > > Reason for revert: > Blocks roll: https://codereview.chromium.org/1972303002/ > > Original issue's description: > > [Reland] Implement CPU time for OS X and POSIX. > > > > V8 tracing controller uses 2 clocks: wall clock and cpu clock. This patch > > implements CPU time for OS X and POSIX to provide more accurate > > accounting of CPU time used by each thread. > > > > BUG=v8:4984 > > LOG=n > > > > Committed: https://crrev.com/efa27fb25e1fa5b8465f4af710086b73b0cba660 > > Cr-Commit-Position: refs/heads/master@{#36213} > > TBR=fmeawad@chromium.org,jochen@chromium.org,rsesek@chromium.org,bmeurer@chromium.org,lpy@chromium.org > # Skipping CQ checks because original CL landed less than 1 days ago. > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:4984 > > Committed: https://crrev.com/31b9ba3bc8fb93601cc73c83213b30e639d448b3 > Cr-Commit-Position: refs/heads/master@{#36225} TBR=fmeawad@chromium.org,jochen@chromium.org,rsesek@chromium.org,bmeurer@chromium.org,lpy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4984 Review-Url: https://codereview.chromium.org/1976603005 Cr-Commit-Position: refs/heads/master@{#36233}
-
mstarzinger authored
The data-structure in question is only used by Crankshaft, it can safely be moved into the backend to avoid exposure through the CompilationInfo. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1977473002 Cr-Commit-Position: refs/heads/master@{#36232}
-
mlippautz authored
BUG=chromium:611688 LOG=Y R=jochen@chromium.org Review-Url: https://codereview.chromium.org/1978773002 Cr-Commit-Position: refs/heads/master@{#36231}
-
mstarzinger authored
This completely removes any potential for a side-channel between the various compiler backends and the profiler. The CompilationInfo is no longer passed. R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/1970193002 Cr-Commit-Position: refs/heads/master@{#36230}
-
mstarzinger authored
This makes the profiler reconstruct inlined function frames at eager deopt points from the deoptimization data. The main goal of this is to remove the last side-channel where Crankshaft communicates directly to the profiler. This is the last preparatory step towards deprecating the side-channel in question. R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/1973993002 Cr-Commit-Position: refs/heads/master@{#36229}
-
titzer authored
This is a first step to removing the support for the OldFunctions section altogether, which will greatly simplify the encoder and remove the need to do local variable remapping in asm->wasm. R=bradnelson@chromium.org,aseemgarg@chromium.org BUG= Review-Url: https://codereview.chromium.org/1974933002 Cr-Commit-Position: refs/heads/master@{#36228}
-
pierre.langlois authored
This patch adds support for the `Operand2_R_LSL_I` addressing mode to loads and stores. This allows merging a shift instruction into a MemoryOperand. Since the shift immediate is restricted to the log2 of the operation width, the opportunities to hit this are slim. However, Ignition's bytecode handlers hit this case all the time: kind = BYTECODE_HANDLER name = Star compiler = turbofan Instructions (size = 44) 0x23e67280 0 add x1, x19, #0x1 (1) 0x23e67284 4 ldrsb x1, [x20, x1] 0x23e67288 8 sxtw x1, w1 0x23e6728c 12 mov x2, fp 0x23e67290 16 str x0, [x2, x1, lsl #3] ^^^^^^^^^^^^^^^^^^^^^ 0x23e67294 20 add x19, x19, #0x2 (2) 0x23e67298 24 ldrb w1, [x20, x19] 0x23e6729c 28 ldr x1, [x21, x1, lsl #3] ^^^^^^^^^^^^^^^^^^^^^ 0x23e672a0 32 br x1 Additionally, I noticed the optimisation occurs once in both the `StringPrototypeCharAt` and `StringPrototypeCharCodeAt` turbofan stubs. BUG= Review-Url: https://codereview.chromium.org/1972103002 Cr-Commit-Position: refs/heads/master@{#36227}
-
yangguo authored
R=cbruni@chromium.org Review-Url: https://codereview.chromium.org/1974243002 Cr-Commit-Position: refs/heads/master@{#36226}
-
hablich authored
Revert of [Reland] Implement CPU time for OS X and POSIX. (patchset #1 id:1 of https://codereview.chromium.org/1966183003/ ) Reason for revert: Blocks roll: https://codereview.chromium.org/1972303002/ Original issue's description: > [Reland] Implement CPU time for OS X and POSIX. > > V8 tracing controller uses 2 clocks: wall clock and cpu clock. This patch > implements CPU time for OS X and POSIX to provide more accurate > accounting of CPU time used by each thread. > > BUG=v8:4984 > LOG=n > > Committed: https://crrev.com/efa27fb25e1fa5b8465f4af710086b73b0cba660 > Cr-Commit-Position: refs/heads/master@{#36213} TBR=fmeawad@chromium.org,jochen@chromium.org,rsesek@chromium.org,bmeurer@chromium.org,lpy@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4984 Review-Url: https://codereview.chromium.org/1977753002 Cr-Commit-Position: refs/heads/master@{#36225}
-
machenbach authored
Revert of add UseCounters for NonOctalDecimalIntegerLiteral in strict mode (patchset #6 id:100001 of https://codereview.chromium.org/1948403002/ ) Reason for revert: [Sheriff] Breaks https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm%20-%20debug%20builder/builds/602 Original issue's description: > In parallel to the strict octal check that would reject `012` in strict mode, this patch collects UseCounters for `089` in strict mode. The spec says this should be an error, but this patch does not report it as such. > > BUG=v8:4973 > LOG=y > > Committed: https://crrev.com/d0b6686c14339bd5d0aeaf610705c7ed85393e1f > Cr-Commit-Position: refs/heads/master@{#36221} TBR=littledan@chromium.org,caitpotter88@gmail.com,jwolfe@igalia.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4973 Review-Url: https://codereview.chromium.org/1970333004 Cr-Commit-Position: refs/heads/master@{#36224}
-
v8-autoroll authored
Rolling v8/build to b9f715e76c74cb252f60796f4276888cd5b4b5fb TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/1972923005 Cr-Commit-Position: refs/heads/master@{#36223}
-
- 12 May, 2016 3 commits
-
-
vogelheim authored
Expression::bounds_ is used only by a subset of compile passes, but the data structure occupies space for every Expression node ever parsed. This unneccessarily increases memory consumption. Particularly, peak memory consumption during startup, which may cause out-of-memory errors. This CL - removes Expression::bounds_; - introduces an AstTypeBounds container, which mappes Expression* to Bounds; - modifies the code that actually requires bounds information, namely Crankshaft compile and AsmWasmBuilder, to instantiate such an AstTypeBounds container before typing and to pass it to the code that consumes this information; and - modifies all accesses to Expression::bounds_ to instead access the bounds via the container instead. Additionally, this rewrites test-ast-expression-visitor. The reason is that this code attempted to test AstExpressionVisitor but did so exclusively through its subclass ExpressionTypeCollector, meaning that the test dealt almost exclusively with type bounds despite the class-under-test having no knowledge or functionality related to it. Worse, the test was written in a way to assume that type bounds were available outside & after compilation, which is something this change changes. BUG=v8:4947 Review-Url: https://codereview.chromium.org/1968383002 Cr-Commit-Position: refs/heads/master@{#36222}
-
jwolfe authored
In parallel to the strict octal check that would reject `012` in strict mode, this patch collects UseCounters for `089` in strict mode. The spec says this should be an error, but this patch does not report it as such. BUG=v8:4973 LOG=y Review-Url: https://codereview.chromium.org/1948403002 Cr-Commit-Position: refs/heads/master@{#36221}
-
oth authored
This change introduces a pipeline for the final stages of bytecode generation. The peephole optimizer is made distinct from the BytecodeArrayBuilder. A new BytecodeArrayWriter is responsible for writing bytecode. It also keeps track of the maximum register seen and offers a potentially smaller frame size. R=rmcilroy@chromium.org LOG=N BUG=v8:4280 Review-Url: https://codereview.chromium.org/1947403002 Cr-Commit-Position: refs/heads/master@{#36220}
-