- 29 Jun, 2016 1 commit
-
-
yangguo authored
R=bmeurer@chromium.org BUG=v8:5117 Review-Url: https://codereview.chromium.org/2101523003 Cr-Commit-Position: refs/heads/master@{#37357}
-
- 27 Jun, 2016 2 commits
-
-
bbudge authored
Replaces ArchDefault method with Crankshaft and Turbofan getters. Eliminates IsAllocated method on Register, FloatRegister, DoubleRegister. Eliminates ToString method too. Changes call sites to access appropriate arch default RegisterConfiguration. LOG=N BUG= Review-Url: https://codereview.chromium.org/2092413002 Cr-Commit-Position: refs/heads/master@{#37297}
-
ishell authored
The global object can be loaded from the native context and the name can be loaded in the type feedback metadata. BUG=chromium:576312 Review-Url: https://codereview.chromium.org/2096653003 Cr-Commit-Position: refs/heads/master@{#37278}
-
- 20 Jun, 2016 2 commits
-
-
yangguo authored
R=bmeurer@chromium.org, jgruber@chromium.org Review-Url: https://codereview.chromium.org/2072963003 Cr-Commit-Position: refs/heads/master@{#37089}
-
bmeurer authored
Import base::ieee754::tan() from fdlibm and introduce Float64Tan TurboFan operator based on that, similar to what we do for Float64Cos and Float64Sin. Rewrite Math.tan() as TurboFan builtin and use those operators to also inline Math.tan() into optimized TurboFan functions. Drive-by-fix: Kill the %_ConstructDouble intrinsics, and provide only the %ConstructDouble runtime entry for writing tests. BUG=v8:5086,v8:5126 R=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2083453002 Cr-Commit-Position: refs/heads/master@{#37087}
-
- 17 Jun, 2016 2 commits
-
-
bmeurer authored
Import base::ieee754::cos() and base::ieee754::sin() from fdlibm and introduce Float64Cos and Float64Sin TurboFan operator based on that, similar to what we do for Float64Log. Rewrite Math.cos() and Math.sin() as TurboFan builtins and use those operators to also inline Math.cos() and Math.sin() into optimized TurboFan functions. CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel R=mvstanton@chromium.org BUG=v8:5086,v8:5118 Review-Url: https://codereview.chromium.org/2073123002 Cr-Commit-Position: refs/heads/master@{#37072}
-
bmeurer authored
Import base::ieee754::exp() from FreeBSD msun and introduce a Float64Exp TurboFan operator based on that, similar to what we do for Float64Log. Rewrite Math.exp() as TurboFan builtin and use that operator to also inline Math.exp() into optimized TurboFan functions. CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel BUG=v8:3266,v8:3468,v8:3493,v8:5086,v8:5108,chromium:620786 R=mvstanton@chromium.org Committed: https://crrev.com/93e26314afc9da9b5b8bd998688262444ed73260 Review-Url: https://codereview.chromium.org/2077533002 Cr-Original-Commit-Position: refs/heads/master@{#37037} Cr-Commit-Position: refs/heads/master@{#37047}
-
- 16 Jun, 2016 2 commits
-
-
machenbach authored
Revert of [builtins] Introduce proper Float64Exp operator. (patchset #5 id:80001 of https://codereview.chromium.org/2077533002/ ) Reason for revert: [Sheriff] Leads to some different rounding as it seems in some audio layout tests. Please rebase upstream first if intended: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/7508 Original issue's description: > [builtins] Introduce proper Float64Exp operator. > > Import base::ieee754::exp() from FreeBSD msun and introduce a Float64Exp > TurboFan operator based on that, similar to what we do for Float64Log. > Rewrite Math.exp() as TurboFan builtin and use that operator to also > inline Math.exp() into optimized TurboFan functions. > > BUG=v8:3266,v8:3468,v8:3493,v8:5086,v8:5108 > R=mvstanton@chromium.org > > Committed: https://crrev.com/93e26314afc9da9b5b8bd998688262444ed73260 > Cr-Commit-Position: refs/heads/master@{#37037} TBR=mvstanton@chromium.org,ahaas@chromium.org,bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:3266,v8:3468,v8:3493,v8:5086,v8:5108 Review-Url: https://codereview.chromium.org/2070813002 Cr-Commit-Position: refs/heads/master@{#37039}
-
bmeurer authored
Import base::ieee754::exp() from FreeBSD msun and introduce a Float64Exp TurboFan operator based on that, similar to what we do for Float64Log. Rewrite Math.exp() as TurboFan builtin and use that operator to also inline Math.exp() into optimized TurboFan functions. BUG=v8:3266,v8:3468,v8:3493,v8:5086,v8:5108 R=mvstanton@chromium.org Review-Url: https://codereview.chromium.org/2077533002 Cr-Commit-Position: refs/heads/master@{#37037}
-
- 14 Jun, 2016 2 commits
-
-
ishell authored
The former will handle loads of predeclared global variables (vars and functions), lets, consts and undeclared variables. The latter will handle named loads from explicit receiver. In addition, named loads does not depend of the TypeofMode. TypeofMode related cleanup will be done in the follow-up CL. BUG=chromium:576312 LOG=Y TBR=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1912633002 Cr-Commit-Position: refs/heads/master@{#36965}
-
bmeurer authored
There's no need to have different versions of the fairly complex TransitionElementsKindStub just to avoid a single instance type check at execution time (which is used to figure out the effective length in case of JSArray objects). R=ishell@chromium.org Review-Url: https://codereview.chromium.org/2064993002 Cr-Commit-Position: refs/heads/master@{#36954}
-
- 10 Jun, 2016 2 commits
-
-
danno authored
Instead, always tail call to the runtime. Also, cleanup the various versions of the runtime call that is used for Array construction fallback. There can be only one. BUG=chromium:608675 LOG=N Review-Url: https://codereview.chromium.org/2024253002 Cr-Commit-Position: refs/heads/master@{#36888}
-
bmeurer authored
This switches Math.log to use an fdlibm based version of log, imported as base::ieee754::log, and use that consistently everywhere, i.e. change the Float64Log TurboFan operators on Intel to use the C++ implementation as well (same for Crankshaft). R=yangguo@chromium.org BUG=v8:5065,v8:5086 Review-Url: https://codereview.chromium.org/2053893003 Cr-Commit-Position: refs/heads/master@{#36880}
-
- 09 Jun, 2016 2 commits
-
-
bmeurer authored
When walking up the prototype chain during OrdinaryHasInstance, we first check if the current prototype equals the expected one, and only afterwards check the current prototype against null. That's obviously wrong if we check something like Proxy, whose prototype is null. R=yangguo@chromium.org BUG=v8:5085 Review-Url: https://codereview.chromium.org/2041103007 Cr-Commit-Position: refs/heads/master@{#36840}
-
alph authored
Move is_profiling to the isolate for now. BUG=v8:4789 Review-Url: https://codereview.chromium.org/2040683002 Cr-Commit-Position: refs/heads/master@{#36838}
-
- 06 Jun, 2016 2 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}
-
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}
-
- 01 Jun, 2016 2 commits
-
-
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}
-
- 30 May, 2016 1 commit
-
-
mvstanton authored
In Crankshaft, we would install special ICs that didn't need a vector and slot in the MEGAMORPHIC case. This optimization limits our hand against future improvements. BUG= Review-Url: https://codereview.chromium.org/2019313003 Cr-Commit-Position: refs/heads/master@{#36597}
-
- 17 May, 2016 2 commits
-
-
yangguo authored
R=bmeurer@chromium.org BUG=v8:5010 Review-Url: https://codereview.chromium.org/1980463002 Cr-Commit-Position: refs/heads/master@{#36276}
-
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}
-
- 13 May, 2016 1 commit
-
-
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}
-
- 11 May, 2016 2 commits
-
-
mstarzinger authored
This passes the inlining_id of deoptimization points via the relocation info instead of via a side-channel to the CPU profiler. This is one step towards deprecating the side-channel in question and avoid the need for performing a lookup of the return address of the deopt point. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/1956693002 Cr-Commit-Position: refs/heads/master@{#36177}
-
hpayer authored
BUG=chromium:580959 LOG=n Review-Url: https://codereview.chromium.org/1972553002 Cr-Commit-Position: refs/heads/master@{#36163}
-
- 10 May, 2016 1 commit
-
-
hpayer authored
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. BUG=chromium:580959 LOG=n Review-Url: https://codereview.chromium.org/1899813003 Cr-Commit-Position: refs/heads/master@{#36133}
-
- 06 May, 2016 2 commits
-
-
ishell authored
Deoptimizer is now able to reconstruct topmost accessor and constructor frames. BUG=chromium:608278, v8:4698 LOG=N TBR=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1936043002 Cr-Commit-Position: refs/heads/master@{#36075}
-
mstarzinger authored
This moves all the machinery for tracing inlined function that is specific to Crankshaft into the appropriate component. Only the old side-channel via a list of InlinedFunctionInfo structs remained within the CompilationInfo for now. In the long run we will reconstruct that information from the deoptimization data on the code objects. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1944323002 Cr-Commit-Position: refs/heads/master@{#36068}
-
- 04 May, 2016 1 commit
-
-
mstarzinger authored
The language mode is no longer constant accross a compilation unit. For example the extends clause of a class literal can be in strict mode even though the surrounding function is in sloppy mode. This makes any global language mode predicate that reasons over an entire function inherently dangerous. Instead one should use the appropriate predicate on scopes or literals directly. R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1949013002 Cr-Commit-Position: refs/heads/master@{#36010}
-
- 26 Apr, 2016 1 commit
-
-
mlippautz authored
Default (and only way) is now to retrieve a tagged object. BUG=chromium:606711 LOG=N Review URL: https://codereview.chromium.org/1922553002 Cr-Commit-Position: refs/heads/master@{#35792}
-
- 14 Apr, 2016 1 commit
-
-
balazs.kilvady authored
BUG= Review URL: https://codereview.chromium.org/1876223003 Cr-Commit-Position: refs/heads/master@{#35497}
-
- 07 Apr, 2016 2 commits
-
-
mvstanton authored
BUG=chromium:585041 LOG=N Review URL: https://codereview.chromium.org/1854423003 Cr-Commit-Position: refs/heads/master@{#35331}
-
mstarzinger authored
Now that we no longer compile stubs from JavaScript source, but have other means of generating stubs using our optimizing compilers, we can assume that scope analysis has happened whenever prologues are being assembled. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1863333004 Cr-Commit-Position: refs/heads/master@{#35329}
-
- 01 Apr, 2016 1 commit
-
-
ishell authored
This CL ensures that we build environments/frame states so that tail caller frame will never become topmost. BUG=chromium:598998, v8:4698 LOG=N Review URL: https://codereview.chromium.org/1849503002 Cr-Commit-Position: refs/heads/master@{#35188}
-
- 31 Mar, 2016 1 commit
-
-
mlippautz authored
Replace the uses with proper page flag lookups. BUG=chromium:581412 LOG=N TEST=mjsunit/allocation-site-info Review URL: https://codereview.chromium.org/1845463003 Cr-Commit-Position: refs/heads/master@{#35153}
-
- 30 Mar, 2016 1 commit
-
-
jarin authored
Context is always available through deopt data, so there should be no need to store the context back to the frame every time. (Turbofan already does not store back to the frame.) Review URL: https://codereview.chromium.org/1845553002 Cr-Commit-Position: refs/heads/master@{#35125}
-
- 22 Mar, 2016 3 commits
-
-
ishell authored
BUG=v8:4698 LOG=N TBR=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1782743003 Cr-Commit-Position: refs/heads/master@{#34992}
-
verwaest authored
This roughly doubles performance for generic Array.prototype.push. BUG= Review URL: https://codereview.chromium.org/1816553002 Cr-Commit-Position: refs/heads/master@{#34987}
-
ishell authored
... because Debugger could still require them to inspect optimized frames. BUG=chromium:596473, v8:4698 LOG=N Review URL: https://codereview.chromium.org/1816113002 Cr-Commit-Position: refs/heads/master@{#34979}
-
- 21 Mar, 2016 1 commit
-
-
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}
-