- 24 Jun, 2016 1 commit
-
-
balazs.kilvady authored
Port fc59eb8a Original commit message: Moves between operands with different representations shouldn't happen, so don't test them. This makes it easier to modify canonicalization to differentiate between floating point types, which is needed to support floating point register aliasing for ARM and MIPS. This change also expands tests to include explicit FP moves (both register and stack slot). LOG=N BUG=v8:4124 BUG=chromium:622619 Review-Url: https://codereview.chromium.org/2090993002 Cr-Commit-Position: refs/heads/master@{#37241}
-
- 20 Jun, 2016 5 commits
-
-
yangguo authored
Previously we would elide debug slots if the statement position it belongs to has just already been written. The motivation is that since we should only break once per statement, we can elide debug slots that has the same statement position as the previous debug slot. This is an unnecessary optimization, since the debugger has yet another check against breaking twice at the same statement at runtime, in Debug::Break. This optimization can also be wrong, if there is control flow involved, for example if we can jump to the elided debug slot without executing the previous debug slot. CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel R=jgruber@chromium.org Review-Url: https://codereview.chromium.org/2080173002 Cr-Commit-Position: refs/heads/master@{#37107}
-
ahaas authored
R=bmeurer@chromium.org, bradnelson@chromium.org BUG=v8:5086 Review-Url: https://codereview.chromium.org/2083473002 Cr-Commit-Position: refs/heads/master@{#37094}
-
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}
-
mtrofin authored
Compilation of wasm functions happens before instantiation. Imports are linked afterwards, at instantiation time. Globals and memory are also allocated and then tied in via relocation at instantiation time. This paves the way for implementing Wasm.compile, a prerequisite to offering the compiled code serialization feature. Currently, the WasmModule::Compile method just returns a fixed array containing the code objects. More appropriate modeling of the compiled module to come. Opportunistically centralized the logic on how to update memory references, size, and globals, since that logic is the exact same on each architecture, except for the actual storing of values back in the instruction stream. BUG=v8:5072 Review-Url: https://codereview.chromium.org/2056633002 Cr-Commit-Position: refs/heads/master@{#37086}
-
- 17 Jun, 2016 3 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}
-
mvstanton authored
BUG=v8:5103 Review-Url: https://codereview.chromium.org/2068743002 Cr-Commit-Position: refs/heads/master@{#37058}
-
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 3 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}
-
mvstanton authored
BUG=v8:5095 Review-Url: https://codereview.chromium.org/2063693002 Cr-Commit-Position: refs/heads/master@{#37035}
-
- 14 Jun, 2016 2 commits
-
-
mtrofin authored
Support for relocatable globals, to facilitate compilation before instantiation. BUG=v8:5072 Review-Url: https://codereview.chromium.org/2062003002 Cr-Commit-Position: refs/heads/master@{#36978}
-
yangguo authored
R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2068603002 Cr-Commit-Position: refs/heads/master@{#36960}
-
- 13 Jun, 2016 3 commits
-
-
ahaas authored
R=bmeurer@chromium.org, bradnelson@chromium.org BUG=v8:5086, v8:5095 Review-Url: https://codereview.chromium.org/2062773002 Cr-Commit-Position: refs/heads/master@{#36931}
-
bmeurer authored
Import base::ieee754::atan() and base::ieee754::atan2() from fdlibm and introduce Float64Atan and Float64Atan2 TurboFan operators based on those, similar to what we already did for Float64Log and Float64Log1p. Rewrite Math.atan() and Math.atan2() as TurboFan builtin and use the operators to also inline Math.atan() and Math.atan2() into optimized TurboFan functions. R=yangguo@chromium.org BUG=v8:5086,v8:5095 Review-Url: https://codereview.chromium.org/2065503002 Cr-Commit-Position: refs/heads/master@{#36916}
-
bmeurer authored
Import base::ieee754::log1p() from fdlibm and introduce a Float64Log1p TurboFan operator based on that, similar to what we do for Float64Log. Rewrite Math.log1p() as TurboFan builtin and use that operator to also inline Math.log1p() into optimized TurboFan functions. Also unify the handling of the special IEEE 754 functions somewhat in the TurboFan backends. At some point we can hopefully express this completely in the InstructionSelector (once we have an idea what to do with the ST(0) return issue on IA-32/X87). Drive-by-fix: Add some more test coverage for the log function. R=yangguo@chromium.org BUG=v8:5086,v8:5092 Review-Url: https://codereview.chromium.org/2060743002 Cr-Commit-Position: refs/heads/master@{#36914}
-
- 10 Jun, 2016 1 commit
-
-
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 1 commit
-
-
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}
-
- 03 Jun, 2016 4 commits
-
-
yangguo authored
R=*bmeurer@chromium.org, caitpotter88@gmail.com, *littledan@chromium.org, *ulan@chromium.org BUG=v8:4483 Review-Url: https://codereview.chromium.org/2033223003 Cr-Commit-Position: refs/heads/master@{#36718}
-
bbudge authored
- Adds names for float registers to RegisterConfiguration and uses them when we have the MachineRepresentation. LOG=N BUG=v8:4124 Review-Url: https://codereview.chromium.org/2030143002 Cr-Commit-Position: refs/heads/master@{#36712}
-
ahaas authored
R=titzer@chromium.org, bmeurer@chromium.org BUG=v8:5065 Review-Url: https://codereview.chromium.org/2036143002 Cr-Commit-Position: refs/heads/master@{#36709}
-
ivica.bogosavljevic authored
that do not support unaligned access. This test fails because WasmGraphBuilder::BuildCFuncInstruction allocates space for doubles using StackSlot turbofan operator, but this space is not guaranteed to be 8 bytes aligned if SP itself is not 8 bytes aligned (which is the case on 32-bit architectures). BUG=mjsunit/wasm/embenchen/lua_binarytrees Review-Url: https://codereview.chromium.org/2034523003 Cr-Commit-Position: refs/heads/master@{#36693}
-
- 18 May, 2016 1 commit
-
-
jkummerow authored
We have evidence (see r34896) that this avoids crashes. BUG=chromium:524337 Review-Url: https://codereview.chromium.org/1995483002 Cr-Commit-Position: refs/heads/master@{#36317}
-
- 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 1 commit
-
-
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}
-
- 04 May, 2016 1 commit
-
-
gdeepti authored
Add new relocation type WASM_MEMORY_SIZE_REFERENCE, use relocatable pointers to update wasm memory size references in generated code. - Add new RelocInfo mode WASM_MEMORY_SIZE_REFERENCE in the assembler and add relocation information to immediates in compare instructions. - Use relocatable constants for MemSize/BoundsCheck in the wasm compiler R=titzer@chromium.org, yangguo@chromium.org, bradnelson@chromium.org Review-Url: https://codereview.chromium.org/1921203002 Cr-Commit-Position: refs/heads/master@{#36044}
-
- 27 Apr, 2016 1 commit
-
-
ssanfilippo authored
This commit introduces IgnitionStatisticsExtension, which provides methods for accessing Ignition statistics and counters from JavaScript. The extension is registered when FLAG_ignition and FLAG_trace_ignition_dispatches are both enabled. For the moment, the only exposed function is getIgnitionDispatchCounters(), which allows to retrieve Ignition dispatch counters as a JavaScript object. BUG=v8:4899 LOG=N Review URL: https://codereview.chromium.org/1899133004 Cr-Commit-Position: refs/heads/master@{#35816}
-
- 25 Apr, 2016 1 commit
-
-
mbrandy authored
Prefer Pow() as it works around certain cases that are different in AIX's std::pow(). TEST=mjsunit/harmony/exponentiation-operator R=caitpotter88@gmail.com, littledan@chromium.org, adamk@chromium.org, rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/1916043002 Cr-Commit-Position: refs/heads/master@{#35775}
-
- 21 Apr, 2016 1 commit
-
-
ahaas authored
This patch provides a new implementation of popcnt and ctz in the case where the platform does not provide these instructions. Instead of building a TF graph which implements it we now call a C function. Additionally I turned on additional tests in test-run-wasm-64.cc R=titzer@chromium.org Review URL: https://codereview.chromium.org/1857363003 Cr-Commit-Position: refs/heads/master@{#35685}
-
- 11 Apr, 2016 1 commit
-
-
ssanfilippo authored
When FLAG_trace_ignition_dispatches is enabled, a dispatch counter is kept for each pair of source-destination bytecode handlers. Each counter saturates at max uintptr_t value. Counters are dumped as a JSON-encoded object of objects, such that each key on the top level object is a source bytecode name, and each key on the corresponding value is a destination bytecode name, with the associated counter as value. The output file name can be controlled with the FLAG_trace_ignition_dispatches_output_file flag. The JSON file may be written by calling Interpreter::WriteDispatchCounters(), which is done for d8 in Shell::OnExit, if FLAG_trace_ignition_dispatches is enabled. BUG=v8:4899 LOG=N Review URL: https://codereview.chromium.org/1828633003 Cr-Commit-Position: refs/heads/master@{#35380}
-
- 04 Apr, 2016 1 commit
-
-
yangguo authored
R=ishell@chromium.org BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1847373002 Cr-Commit-Position: refs/heads/master@{#35230}
-
- 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}
-
- 29 Mar, 2016 1 commit
-
-
ishell authored
[es6] Add a flag to the Isolate that defines whether ES2015 tail call elimination is enabled or not. Thus DevTools will be able to disable tail call elimination dynamically upon user's choice. BUG=v8:4698 LOG=N Review URL: https://codereview.chromium.org/1837513002 Cr-Commit-Position: refs/heads/master@{#35098}
-
- 16 Mar, 2016 5 commits
-
-
gdeepti authored
- New RelocInfo mode WASM_MEMORY_REFERENCE as a marker for wasm code objects that need to be relocated on a heap change - RelocInfo mode recorded for immediates that use the memory buffer as base - Tests to verify address patching works BUG= Committed: https://crrev.com/cc815b69c17da368107ed77306a5bb161170c834 Cr-Commit-Position: refs/heads/master@{#34831} Review URL: https://codereview.chromium.org/1759873002 Cr-Commit-Position: refs/heads/master@{#34836}
-
machenbach authored
Revert of Assembler changes for enabling GrowHeap in Wasm (patchset #13 id:260001 of https://codereview.chromium.org/1759873002/ ) Reason for revert: Breaks compile: https://build.chromium.org/p/client.v8/builders/V8%20Mac64/builds/7740 Probably had outdated tryjobs Original issue's description: > Assembler changes for enabling GrowHeap in Wasm > - New RelocInfo mode WASM_MEMORY_REFERENCE as a marker for wasm code objects that need to be relocated on a heap change > - RelocInfo mode recorded for immediates that use the memory buffer as base > - Tests to verify address patching works > > BUG= > > Committed: https://crrev.com/cc815b69c17da368107ed77306a5bb161170c834 > Cr-Commit-Position: refs/heads/master@{#34831} TBR=titzer@chromium.org,yangguo@chromium.org,bradnelson@chromium.org,bradnelson@google.com,marija.antic@imgtec.com,gdeepti@google.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1808823002 Cr-Commit-Position: refs/heads/master@{#34832}
-
gdeepti authored
- New RelocInfo mode WASM_MEMORY_REFERENCE as a marker for wasm code objects that need to be relocated on a heap change - RelocInfo mode recorded for immediates that use the memory buffer as base - Tests to verify address patching works BUG= Review URL: https://codereview.chromium.org/1759873002 Cr-Commit-Position: refs/heads/master@{#34831}
-
mbrandy authored
This version does not modify arm64. R=jkummerow@chromium.org, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1806893002 Cr-Commit-Position: refs/heads/master@{#34827}
-
jkummerow authored
along with "[arm64] Fix i/d cache line size confusion typo" and "Fix a warning about inline asm source/destination mismatches..." which were building on it. This reverts the following commits: 8d7399f9 474e6a3d c3ff68b6 Reason for revert: We're getting a large number of crash reports from arm64 devices that are obviously related to cache flushing after code patching. Bisection results say that the problems started at revision c3ff68b6. Since I can't find a bug in that CL except for the typo that I've fixed in 474e6a3d (which made some of the crashes go away but not all of them), we have no choice but to revert the changes in order to get stability under control while we investigate. BUG=chromium:594646 LOG=n Review URL: https://codereview.chromium.org/1806853002 Cr-Commit-Position: refs/heads/master@{#34816}
-
- 15 Mar, 2016 1 commit
-
-
ahaas authored
On 32-bit systems these instructions are compiled to calls to C functions. The TF node for the function call is already generated in the wasm compiler, the lowering of the I64 parameters is done in the Int64Lowering. We use the return value of the C function to determine whether the calculation should trap or not. R=titzer@chromium.org Review URL: https://codereview.chromium.org/1804513002 Cr-Commit-Position: refs/heads/master@{#34768}
-