- 19 May, 2016 40 commits
-
-
jyan authored
port f241a61a Original Commit Message: We cannot tier up from interpreted to baseline code when there is an activation of the function on the stack. This significantly regresses the performance of recursive functions since they are unlikely to get tiered up. This CL adds the ability for a function to be marked for baseline compilation when it returns. To do this we patch the InterpreterEntryTrampoline return address to point to InterpreterMarkBaselineOnReturn, which leaves the interpreted frame and recompile the function for baseline. This improves the score of EarlyBoyer by ~8x for Ignition. R=rmcilroy@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/1993343002 Cr-Commit-Position: refs/heads/master@{#36384}
-
bradnelson authored
Based on assembler changes from this patch: https://codereview.chromium.org/90643003/ BUG=https://bugs.chromium.org/p/v8/issues/detail?id=4124 R=titzer@chromium.org,bbudge@chromium.org LOG=N Review-Url: https://codereview.chromium.org/1994083003 Cr-Commit-Position: refs/heads/master@{#36383}
-
adamk authored
In ES2015, the "byteLength" and "byteOffset" properties of DataViews are getters on the prototype, so the previously-used strategy of special-casing them using only the receiver map is invalid. A future CL will need to use the same strategy which will be taken for TypedArray "length", "byteLength", and "byteOffset": adding a prototype chain check. BUG=v8:5018, chromium:593634 Review-Url: https://codereview.chromium.org/1984043002 Cr-Commit-Position: refs/heads/master@{#36382}
-
pierre.langlois authored
This patch is a follow up to https://codereview.chromium.org/1972103002/ adding support for the `Operand_R_LSL_I` addressing mode to loads and stores for ARM. Just as the ARM64 implementation, the shift + load/store pattern is only really relevant to the interpreter. For this reason, this patch does not add support for the other addressing modes (`R_LSR_I`, `R_ASR_I` and `R_ROR_I`) as I haven't seen those pattern being generated. Additionally, the optimization is restricted 32 bit loads and stores. kind = BYTECODE_HANDLER name = Star compiler = turbofan Instructions (size = 40) 0x22a5f860 0 e2851001 add r1, r5, #1 0x22a5f864 4 e19610d1 ldrsb r1, [r6, +r1] 0x22a5f868 8 e1a0200b mov r2, fp 0x22a5f86c 12 e7820101 str r0, [r2, +r1, lsl #2] ^^^^^^^^^^^^^^^^^^^^^^^^^ 0x22a5f870 16 e2855002 add r5, r5, #2 0x22a5f874 20 e7d61005 ldrb r1, [r6, +r5] 0x22a5f878 24 e7981101 ldr r1, [r8, +r1, lsl #2] ^^^^^^^^^^^^^^^^^^^^^^^^^ 0x22a5f87c 28 e12fff11 bx r1 BUG= Review-Url: https://codereview.chromium.org/1974263002 Cr-Commit-Position: refs/heads/master@{#36381}
-
binji authored
R=jarin@chromium.org,bmeurer@chromium.org Review-Url: https://codereview.chromium.org/1993033002 Cr-Commit-Position: refs/heads/master@{#36380}
-
jshin authored
Move it to HARMONY_STAGED from HARMONY_INPROGRESS. Update test262.status now that case mapping tests are passing with '--harmony' specified. BUG=v8:4476,v8:4477 LOG=Y TEST=test262/{built-ins,intl402}/Strings/*, webkit/fast/js/*, mjsunit/string-case, intl/general/case* CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_noi18n_rel_ng Review-Url: https://codereview.chromium.org/1990083002 Cr-Commit-Position: refs/heads/master@{#36379}
-
jacob.bramley authored
The MLS instruction is available in all ARMv7 devices, and in no ARMv6 devices, aside from the usual ARMv6T2 caveat. We don't need a separate feature flag for it. BUG= Review-Url: https://codereview.chromium.org/1988133004 Cr-Commit-Position: refs/heads/master@{#36378}
-
mlippautz authored
- Removing null checks as we always have the CodeRange object (it might be invalid, but it's there) - Account for reserved area (Win64) in SetUp so we the caller doesn't need to be aware of it R=ulan@chromium.org Review-Url: https://codereview.chromium.org/1991253002 Cr-Commit-Position: refs/heads/master@{#36377}
-
jyan authored
port 78b1585f R=danno@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com BUG= Review-Url: https://codereview.chromium.org/1993273002 Cr-Commit-Position: refs/heads/master@{#36376}
-
bryleun authored
R=joransiu@ca.ibm.com,michael_dawson@ca.ibm.com,mbrandy@us.ibm.com,jyan@ca.ibm.com BUG= Review-Url: https://codereview.chromium.org/1993063002 Cr-Commit-Position: refs/heads/master@{#36375}
-
balazs.kilvady authored
Assembler::db() could start a trampoline pool at wrong pc position. TEST: mjsunit/asm/embenchen/zlib BUG= Review-Url: https://codereview.chromium.org/1994143002 Cr-Commit-Position: refs/heads/master@{#36374}
-
martyn.capewell authored
Define the ELF e_machine field for ARM64, enabling --perf-prof. BUG= Review-Url: https://codereview.chromium.org/1992263002 Cr-Commit-Position: refs/heads/master@{#36373}
-
mtrofin authored
Removed wrapper functions. BUG= Review-Url: https://codereview.chromium.org/1994963002 Cr-Commit-Position: refs/heads/master@{#36372}
-
altimin authored
use_icu_data_file from //third_party/icu should be used. //third_party/icu also defines ICU_UTIL_DATA_IMPL. BUG=chromium:610673,chromium:474921 Review-Url: https://codereview.chromium.org/1996033002 Cr-Commit-Position: refs/heads/master@{#36371}
-
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}
-
machenbach authored
Revert of [test] add tests for async function stacktraces (patchset #1 id:1 of https://codereview.chromium.org/1995723004/ ) Reason for revert: Breaks gc stress: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20gc%20stress/builds/3575 Original issue's description: > [test] add tests for async function stacktraces > > BUG=v8:4483 > R=littledan@chromium.org > > Committed: https://crrev.com/02f228eccdfcfab4081c2494ade52e54702b692c > Cr-Commit-Position: refs/heads/master@{#36365} TBR=littledan@chromium.org,caitpotter88@gmail.com # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4483 Review-Url: https://codereview.chromium.org/1997453004 Cr-Commit-Position: refs/heads/master@{#36369}
-
machenbach authored
Revert of Refactor script position calculation (patchset #6 id:100001 of https://codereview.chromium.org/1986173002/ ) Reason for revert: Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/6896 Original issue's description: > Refactor script position calculation > > Script position calculation logic (i.e. line & column numbers for a > given code position) is now based on a single method > Script::GetPositionInfo(). Refactored related code in isolate.cc and > js/messages.js to use the new method and removed the line_ends JS > accessor. > > R=yangguo@chromium.org > BUG= > > Committed: https://crrev.com/c04d547298ce4fd425ef1eaa9b02ad1e177918dc > Cr-Commit-Position: refs/heads/master@{#36359} TBR=yangguo@chromium.org,jgruber@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/1994973002 Cr-Commit-Position: refs/heads/master@{#36368}
-
hablich authored
R=machenbach@chromium.org Review-Url: https://codereview.chromium.org/1994923002 Cr-Commit-Position: refs/heads/master@{#36367}
-
rmcilroy authored
Inlines the ToBoolean operations in the interpreter. Also do some cleanup to unify UnaryOp helper in the Interpreter, remove the unused BinaryOp Runtime call helper and remove extra newlines. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/1998593002 Cr-Commit-Position: refs/heads/master@{#36366}
-
caitpotter88 authored
BUG=v8:4483 R=littledan@chromium.org Review-Url: https://codereview.chromium.org/1995723004 Cr-Commit-Position: refs/heads/master@{#36365}
-
ahaas authored
This patch moves the wrapper code from the remembered-set to the scavenger and the mark-compact code. The wrapper code inspected a slot address to see if the object that belongs to the address is in the from-space. If it was in the from-space, then some callback was executed on the object. If the object got move to the to-space, then the wrapper returned KEEP_SLOT, otherwise REMOVE_SLOT. This logic does not really belong to the remembered set, so I moved it away from there. R=ulan@chromium.org Review-Url: https://codereview.chromium.org/1994933002 Cr-Commit-Position: refs/heads/master@{#36364}
-
yangguo authored
R=mtrofin@chromium.org Review-Url: https://codereview.chromium.org/1989203004 Cr-Commit-Position: refs/heads/master@{#36363}
-
hablich authored
BUG=v8:4483 R=neis@chromium.org,littledan@chromium.org,caitpotter88@gmail.com LOG=N Review-Url: https://codereview.chromium.org/1992173002 Cr-Commit-Position: refs/heads/master@{#36362}
-
yangguo authored
The cached resource data pointer is a source of non-determinism when creating the snapshot. Long-term we may not keep the native source in memory anyways, so caching the resource data pointer will not be possible. R=ulan@chromium.org BUG=v8:4886 LOG=N Review-Url: https://codereview.chromium.org/1990183002 Cr-Commit-Position: refs/heads/master@{#36361}
-
rmcilroy authored
We cannot tier up from interpreted to baseline code when there is an activation of the function on the stack. This significantly regresses the performance of recursive functions since they are unlikely to get tiered up. This CL adds the ability for a function to be marked for baseline compilation when it returns. To do this we patch the InterpreterEntryTrampoline return address to point to InterpreterMarkBaselineOnReturn, which leaves the interpreted frame and recompile the function for baseline. This improves the score of EarlyBoyer by ~8x for Ignition. BUG=v8:4280 LOG=N Review-Url: https://codereview.chromium.org/1965343002 Cr-Commit-Position: refs/heads/master@{#36360}
-
jgruber authored
Script position calculation logic (i.e. line & column numbers for a given code position) is now based on a single method Script::GetPositionInfo(). Refactored related code in isolate.cc and js/messages.js to use the new method and removed the line_ends JS accessor. R=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/1986173002 Cr-Commit-Position: refs/heads/master@{#36359}
-
hpayer authored
BUG=chromium:613125 LOG=n Review-Url: https://codereview.chromium.org/1992193002 Cr-Commit-Position: refs/heads/master@{#36358}
-
ulan authored
This patch extracts typed slot processing logic from the PointerUpdatingVisitor to a set of functions. Each of these functions takes an untyped slot processing function and applies it to a typed slot. BUG=chromium:612847 LOG=NO Review-Url: https://codereview.chromium.org/1991843003 Cr-Commit-Position: refs/heads/master@{#36357}
-
machenbach authored
BUG=chromium:474921 LOG=n NOTRY=true Review-Url: https://codereview.chromium.org/1988163002 Cr-Commit-Position: refs/heads/master@{#36356}
-
danno authored
Review-Url: https://codereview.chromium.org/1995543003 Cr-Commit-Position: refs/heads/master@{#36355}
-
clemensh authored
R=titzer@chromium.org, yangguo@chromium.org Review-Url: https://codereview.chromium.org/1961453002 Cr-Commit-Position: refs/heads/master@{#36354}
-
machenbach authored
Revert of Adding ia32 simd assembler changes. (patchset #2 id:20001 of https://codereview.chromium.org/1991713002/ ) Reason for revert: Crashes on win32 debug: https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20debug/builds/2305/steps/Check/logs/stdio Also, would be nice if the test output could be a bit shorter and only print what's necessary to trace a failure. Or split things into more smaller tests. Like that, these logs must be processed, json-encoded/decoded and sent around through the infrastructure. Some chars in the output make the json encoder unhappy, therefore the infrastructure can't nicely display the failures. Original issue's description: > Adding ia32 simd assembler support. > > Based on assembler changes from this patch: > https://codereview.chromium.org/90643003/ > > BUG=https://bugs.chromium.org/p/v8/issues/detail?id=4124 > R=titzer@chromium.org > LOG=N > > Committed: https://crrev.com/fbf58a5af1d07a7fbb3763aa15f8ba26e2ce7d11 > Cr-Commit-Position: refs/heads/master@{#36349} TBR=bbudge@chromium.org,titzer@chromium.org,gdeepti@chromium.org,aseemgarg@chromium.org,bradnelson@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=https://bugs.chromium.org/p/v8/issues/detail?id=4124 Review-Url: https://codereview.chromium.org/1992163002 Cr-Commit-Position: refs/heads/master@{#36353}
-
verwaest authored
1) avoid the builder 2) by precomputing the result we're guaranteed to have a flat string avoiding extra cost later of using the string BUG= Review-Url: https://codereview.chromium.org/1988023004 Cr-Commit-Position: refs/heads/master@{#36352}
-
danno authored
Review-Url: https://codereview.chromium.org/729913004 Cr-Commit-Position: refs/heads/master@{#36351}
-
yangguo authored
Code in V8 embeds memory addresses. Upon deserialization, those addresses will be updated anyways, so it's not important whether the serializer records those addresses. In order to have a deterministic build, we create a copy of the code and null out memory addresses and serialize this copy. For the code cache, we do not care about determinism. By avoiding the copy we can save some time spent on serialization. For the mandreel script in Octane, this reduces the serialization time from ~85ms to ~75ms. R=vogelheim@chromium.org Review-Url: https://codereview.chromium.org/1991033003 Cr-Commit-Position: refs/heads/master@{#36350}
-
bradnelson authored
Based on assembler changes from this patch: https://codereview.chromium.org/90643003/ BUG=https://bugs.chromium.org/p/v8/issues/detail?id=4124 R=titzer@chromium.org LOG=N Review-Url: https://codereview.chromium.org/1991713002 Cr-Commit-Position: refs/heads/master@{#36349}
-
clemensh authored
Empty function names are allowed and are output as such, unnamed functions or functions with no valid UTF-8 name are output as "<WASM UNNAMED>", while the CallSite object returns null as the function name. R=titzer@chromium.org, yangguo@chromium.org Review-Url: https://codereview.chromium.org/1970503004 Cr-Commit-Position: refs/heads/master@{#36348}
-
machenbach authored
Revert of Reland changes to v8_snapshot GN build arg. (patchset #2 id:20001 of https://codereview.chromium.org/1979883002/ ) Reason for revert: Blocks the roll again: https://codereview.chromium.org/1993163002/ https://build.chromium.org/p/tryserver.chromium.linux/builders/chromeos_amd64-generic_chromium_compile_only_ng/builds/140169 Lets add chromeos_amd64-generic_chromium_compile_only_ng on a reland as well. Original issue's description: > Reland changes to v8_snapshot GN build arg. > > This patch re-lands #36193 with a couple of minor tweaks > including updating the BUILD.gn file to use the new > variable name and incorporating thakis' request to support > cross-compiling the win snapshot from a mac. > > R=thakis@chromium.org, jochen@chromium.org, machenbach@chromium.org > BUG=608596, 595653 > CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:chromeos_daisy_chromium_compile_only_ng > > Committed: https://crrev.com/b6168e1223d266dba1a357a921bc84ae97a1d803 > Cr-Commit-Position: refs/heads/master@{#36342} TBR=jochen@chromium.org,thakis@chromium.org,stevenjb@chromium.org,adamk@chromium.org,dpranke@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=608596, 595653 Review-Url: https://codereview.chromium.org/1996533002 Cr-Commit-Position: refs/heads/master@{#36347}
-
littledan authored
The default value of the flag was true, so --intl_extra was not previously unshipped. This patch sets it to false. BUG=v8:3785 CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_noi18n_rel_ng Review-Url: https://codereview.chromium.org/1990763003 Cr-Commit-Position: refs/heads/master@{#36346}
-
zhengxing.li authored
port 5c22cf5a (r36341) original commit message: BUG= Review-Url: https://codereview.chromium.org/1990133002 Cr-Commit-Position: refs/heads/master@{#36345}
-