- 14 Oct, 2015 17 commits
-
-
martyn.capewell authored
Support negate with shifted input on ARM64 by supporting lhs zero registers for binary operations, and removing explicit Neg instruction support. Review URL: https://codereview.chromium.org/1404093003 Cr-Commit-Position: refs/heads/master@{#31263}
-
rmcilroy authored
Replaces the use of KeyedStoreICGeneric with a vector based KeyedStoreIC for array literal computed stores now that there is a feedback vector slot for these expressions. Removes KeyedStoreICGeneric bytecode since this is no longer necessary. BUG=v8:4280 LOG=N TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1400353002 Cr-Commit-Position: refs/heads/master@{#31262}
-
mbrandy authored
Port f2f46aff Original commit message: The lack of a vector slot for the keyed store operation in filling in non-constant array literal properties led to undesirable contortions in compilers downwind of full-codegen. The use of a single slot to initialize all the array elements is sufficient. R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1390353006 Cr-Commit-Position: refs/heads/master@{#31261}
-
adamk authored
Previously, any AstVisitor subclasses which wanted to make use of the shared stack overflow checking code needed to depend on Isolate. With this patch, it will be easy to create a second InitializeAstVisitor overload taking a stack_limit directly, for use in code that has no Isolate available (such as code running in the parser). AstVisitor subclasses which depended upon the isolate() accessor have been fixed to either have their own isolate_ member or get it from somewhere else convenient. Review URL: https://codereview.chromium.org/1387383005 Cr-Commit-Position: refs/heads/master@{#31260}
-
mlippautz authored
BUG= Review URL: https://codereview.chromium.org/1408553002 Cr-Commit-Position: refs/heads/master@{#31259}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1396333004 Cr-Commit-Position: refs/heads/master@{#31258}
-
hpayer authored
BUG=chromium:542823 LOG=n Review URL: https://codereview.chromium.org/1391373004 Cr-Commit-Position: refs/heads/master@{#31257}
-
rmcilroy authored
It is used by AstGraphBuilder (TF) and BytecodeGenerator (Ignition), so is no longer a full-codegen datastructure. Removes full-codegen.h dependency from compiler/ and interpreter/ Review URL: https://codereview.chromium.org/1393393003 Cr-Commit-Position: refs/heads/master@{#31256}
-
bmeurer authored
Perform native context specialization immediately after graph construction (also after inlinee graph construction). This way we can do unified inlining before we go to typing and typed lowering. And we will get better typing due to constants and (checked) type feedback. R=mstarzinger@chromium.org BUG=v8:4470 LOG=n Review URL: https://codereview.chromium.org/1404123002 Cr-Commit-Position: refs/heads/master@{#31255}
-
mvstanton authored
Revert of VectorICs: turn on vectors for STORE and KEYED_STORE ics. (patchset #1 id:1 of https://codereview.chromium.org/1396523005/ ) Reason for revert: Windows crash failure, must be investigated. Original issue's description: > VectorICs: turn on vectors for STORE and KEYED_STORE ics. > > R=jkummerow@chromium.org > BUG= > > Committed: https://crrev.com/52225f39df578e77b4804506ca4bc15e096f5cab > Cr-Commit-Position: refs/heads/master@{#31252} TBR=jkummerow@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1398123003 Cr-Commit-Position: refs/heads/master@{#31254}
-
rmcilroy authored
Adds Object literal support to the interpreter. Adds the following bytecodes: - ToName - CreateObjectLiteral. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1386313005 Cr-Commit-Position: refs/heads/master@{#31253}
-
mvstanton authored
R=jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/1396523005 Cr-Commit-Position: refs/heads/master@{#31252}
-
mstarzinger authored
R=rmcilroy@chromium.org Review URL: https://codereview.chromium.org/1403613003 Cr-Commit-Position: refs/heads/master@{#31251}
-
machenbach authored
BUG=chromium:535160 LOG=n Review URL: https://codereview.chromium.org/1402073003 Cr-Commit-Position: refs/heads/master@{#31250}
-
mstarzinger authored
This is a first prototype for a rudimentary inlining heuristic allowing enabling of general inlining based existing budget flags. Also note that this approach does not yet work for multi-level inlining, for now the list of candidates is processed exactly once. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1406543002 Cr-Commit-Position: refs/heads/master@{#31249}
-
machenbach authored
BUG=v8:2899 LOG=n TBR=jochen@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/1396293006 Cr-Commit-Position: refs/heads/master@{#31248}
-
bmeurer authored
R=jarin@chromium.org BUG=v8:4470 LOG=n Review URL: https://codereview.chromium.org/1401923004 Cr-Commit-Position: refs/heads/master@{#31247}
-
- 13 Oct, 2015 23 commits
-
-
dpranke authored
R=machenbach@chromium.org BUG=chromium:541791 LOG=N Review URL: https://codereview.chromium.org/1396743005 Cr-Commit-Position: refs/heads/master@{#31246}
-
akos.palfi authored
Correctly initialize the high FP registers. TEST=test-assembler-mips/movz_movn,test-assembler-mips64/movz_movn BUG= Review URL: https://codereview.chromium.org/1399413003 Cr-Commit-Position: refs/heads/master@{#31245}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1406593002 Cr-Commit-Position: refs/heads/master@{#31244}
-
Djordje.Pesic authored
Fix mina instruction in mips32 and mips64 simulator according to IEEE 754-2008 standard BUG= Review URL: https://codereview.chromium.org/1402923002 Cr-Commit-Position: refs/heads/master@{#31243}
-
mvstanton authored
The lack of a vector slot for the keyed store operation in filling in non-constant array literal properties led to undesirable contortions in compilers downwind of full-codegen. The use of a single slot to initialize all the array elements is sufficient. BUG= Review URL: https://codereview.chromium.org/1405503002 Cr-Commit-Position: refs/heads/master@{#31242}
-
jkummerow authored
Not used yet, so this CL shouldn't change behavior. Review URL: https://codereview.chromium.org/1368753003 Cr-Commit-Position: refs/heads/master@{#31241}
-
rmcilroy authored
Adds array literal support to the interpreter. Currently constructed array elements don't have type feedback slots, so also adds support for generic keyed store operations. Adds the following bytecodes: - CreateArrayLiteral - KeyedStoreICGeneric BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1400753003 Cr-Commit-Position: refs/heads/master@{#31240}
-
hpayer authored
Revert of [heap] Reland decrease large object limit for regular heap objects. (patchset #3 id:40001 of https://codereview.chromium.org/1401173003/ ) Reason for revert: Still one failing test on Windows. Original issue's description: > [heap] Reland decrease large object limit for regular heap objects. > > BUG= > > Committed: https://crrev.com/9b91bf3a630b5382080ba1d7f9f3e88de3de8a95 > Cr-Commit-Position: refs/heads/master@{#31228} TBR=mlippautz@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1395653003 Cr-Commit-Position: refs/heads/master@{#31239}
-
rmcilroy authored
Adds support for creation of new local function contexts (or script context for top-level code). As part of this, also adds support for context push/pop operations using a ContextScope object in BytecodeGenerator. Adds the following bytecodes: - PushContext - PopContext Support for inner contexts and loading from / storing to context allocated variables will come in a future CL. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1379793004 Cr-Commit-Position: refs/heads/master@{#31238}
-
ofrobots authored
Using perf-basic-prof in the test-case was problematic on windows. Use CodeEventLogger directly. Previous issue: https://codereview.chromium.org/1396843004/ R=jkummerow@chromium.org,yangguo@chromium.org,yurys@chromium.org BUG=chromium:539892 LOG=N Committed: https://crrev.com/701ba0b255f9c34f4b8c43584ef1e35040474e7d Cr-Commit-Position: refs/heads/master@{#31197} patch from issue 1396843004 at patchset 60001 (http://crrev.com/1396843004#ps60001) Review URL: https://codereview.chromium.org/1403763002 Cr-Commit-Position: refs/heads/master@{#31237}
-
yangguo authored
The flag for deactivating break points also affects stepping, since both are implemented via debug break slots. Fixing this by introducing a new flag solely responsible for deactivating actual break points. R=mvstanton@chromium.org BUG=chromium:119800 LOG=N Review URL: https://codereview.chromium.org/1402913002 Cr-Commit-Position: refs/heads/master@{#31236}
-
mlippautz authored
Revert of [heap] Divide available memory upon compaction tasks (patchset #9 id:340001 of https://codereview.chromium.org/1382003002/ ) Reason for revert: Failing tests: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%202/builds/3804/steps/Check/logs/DontLeakGlobalObjects Original issue's description: > [heap] Divide available memory upon compaction tasks > > - Fairly (round-robin) divide available memory upon compaction tasks. > - Ensure an upper limit (of memory) since dividing is O(n) for n free-space > nodes. > - Refill from free lists managed by sweeper once a compaction space becomes > empty. > > Assumption for dividing memory: Memory in the free lists is sparse upon starting > compaction (which means that only few nodes are available), except for memory > reducer GCs, which happen in idle time though (so it's less of a problem). > > BUG=chromium:524425 > LOG=N > > Committed: https://crrev.com/30236c052ba9266fc55412a8fd63b17f683ff40b > Cr-Commit-Position: refs/heads/master@{#31234} TBR=ulan@chromium.org,hpayer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:524425 Review URL: https://codereview.chromium.org/1406533002 Cr-Commit-Position: refs/heads/master@{#31235}
-
mlippautz authored
- Fairly (round-robin) divide available memory upon compaction tasks. - Ensure an upper limit (of memory) since dividing is O(n) for n free-space nodes. - Refill from free lists managed by sweeper once a compaction space becomes empty. Assumption for dividing memory: Memory in the free lists is sparse upon starting compaction (which means that only few nodes are available), except for memory reducer GCs, which happen in idle time though (so it's less of a problem). BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1382003002 Cr-Commit-Position: refs/heads/master@{#31234}
-
yangguo authored
R=jkummerow@chromium.org BUG=chromium:528379 LOG=N Review URL: https://codereview.chromium.org/1404613002 Cr-Commit-Position: refs/heads/master@{#31233}
-
mstarzinger authored
This adds a workaround that zeroes out semaphores before they are initialized. Some versions of sem_init (e.g. GLIBC_2.0) fail to fully zero out the semaphore, leading to {errno == ENOSYS} with subsequent sem_timedwait calls. R=machenbach@chromium.org BUG=chromium:536813 LOG=n Review URL: https://codereview.chromium.org/1407463002 Cr-Commit-Position: refs/heads/master@{#31232}
-
rmcilroy authored
Adds function literal support and add support for OTHER_CALLS which can be made when calling a function literal. Adds the CreateClosure bytecode. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1396693003 Cr-Commit-Position: refs/heads/master@{#31231}
-
mstarzinger authored
This moves JavaScript source files that are bundled with V8 into a separate directory. The goal is to improve code readability and also being able to formalize ideal reviewers by subsequently adding the OWNERS file. These files almost exclusively contain implementations of methods fully specified by ES6. Note that files in the "debug" directory as well as the "d8.js" file aren't affected by this change. R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1398733002 Cr-Commit-Position: refs/heads/master@{#31230}
-
yangguo authored
Looking up 'name' and 'message' properties at the same time and loading the properties later can cause assertion failure if one of the properties is an accessor and calling it changes the holder map. That may invalidate the other lookup. R=jkummerow@chromium.org BUG=chromium:542101 LOG=N Review URL: https://codereview.chromium.org/1403923002 Cr-Commit-Position: refs/heads/master@{#31229}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1401173003 Cr-Commit-Position: refs/heads/master@{#31228}
-
jacob.bramley authored
This fixes a regression in Octane's pdf.js after r30818. The bug itself has been present for a long time, but StringCompareStub wasn't actually used until r30818 so it went unnoticed. Review URL: https://codereview.chromium.org/1399983002 Cr-Commit-Position: refs/heads/master@{#31227}
-
yangguo authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1406493002 Cr-Commit-Position: refs/heads/master@{#31226}
-
mstarzinger authored
This changes hashing and comparison functions for JSCreateClosure operators to be based in the handle location instead of the referenced object identity. This is in sync with all other JS operators. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1388233007 Cr-Commit-Position: refs/heads/master@{#31225}
-
mtrofin authored
Before this CL, we created one live range per successive set of deferred blocks. For scenarios with many such blocks, this creates an upfront pressure for the register allocator to deal with many ranges. Linear sorts ranges, which is a super-linear operation. The change places all deferred intervals into one range, meaning that, at most, there will be twice as many live ranges as the original set. In pathological cases (benchmarks/Compile/slow_nbody1.js), this change halves the compilation time. We see some improvements elsewhere, notably SQLite at ~4-5%. We may be able to avoid the subsequent merge. Its cost is the additional ranges it may need to create. The sole reason for the merge phase is to provide an unchanged view of the world to the subsequent phases. With the at-most-one splinter model, we may be able to teach the other phases about splintering - should we find perf hindrances due to merging. Review URL: https://codereview.chromium.org/1391023007 Cr-Commit-Position: refs/heads/master@{#31224}
-