- 03 Jan, 2017 19 commits
-
-
rmcilroy authored
Currently the CompileLazy builtin checks the SFI expliciltly for FCG code. This means if the SFI has bytecode we have to go through to the runtime to install the interpreter entry trampoline into the JSFunction object. Modify the builtin to always put the SFI code object into the JSFunction unless it's the lazy compile stub on the SFI as well. BUG=v8:4380 Review-Url: https://codereview.chromium.org/2583693003 Cr-Commit-Position: refs/heads/master@{#42034}
-
mythria authored
When baselining a function using the BaselineFunctionOnNextCall intrinsic, it is not always ensured that a function is already compiled. Update the Runtime_BaselineFunctionOnNextCall function to trigger a compile if it is not already compiled. BUG=v8:5768 Review-Url: https://codereview.chromium.org/2594543003 Cr-Commit-Position: refs/heads/master@{#42033}
-
jochen authored
RCS can't be used on background threads out of the box, but ignition already has RCS itself, so just do trace events BUG=v8:5215 R=rmcilroy@chromium.org Review-Url: https://codereview.chromium.org/2602383002 Cr-Commit-Position: refs/heads/master@{#42032}
-
machenbach authored
Revert of [Compiler] Track Ignition background compilation separately in RuntimeStats. (patchset #3 id:80001 of https://codereview.chromium.org/2577263002/ ) Reason for revert: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/13358 Original issue's description: > [Compiler] Track Ignition background compilation separately in RuntimeStats. > > Tracks background compilation of Ignition in a separate bucket from main thread > compilation. Also add some more compilation buckets for functions which can take a > significant proportion of compilation. > > BUG=v8:5203,v8:5215 > > Review-Url: https://codereview.chromium.org/2577263002 > Cr-Commit-Position: refs/heads/master@{#42026} > Committed: https://chromium.googlesource.com/v8/v8/+/b0e9116d59326a4f9a4f4691b61a510e342338c9 TBR=jochen@chromium.org,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:5203,v8:5215 Review-Url: https://codereview.chromium.org/2609773003 Cr-Commit-Position: refs/heads/master@{#42031}
-
bmeurer authored
Migrate Date.prototype.valueOf and Date.prototype[ @@toPrimitive ] to use the CodeStubAssembler, to avoid going through C++ always when comparing or subtracting two dates. R=epertoso@chromium.org Review-Url: https://codereview.chromium.org/2608143003 Cr-Commit-Position: refs/heads/master@{#42030}
-
marja authored
(Missing includes discovered during the objects.h splitting work.) BUG=v8:5402 Review-Url: https://codereview.chromium.org/2610643002 Cr-Commit-Position: refs/heads/master@{#42029}
-
bmeurer authored
Call the %DateCurrentTime runtime function directly instead, which is cheaper than calling the C++ builtin. R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2612513003 Cr-Commit-Position: refs/heads/master@{#42028}
-
mvstanton authored
BUG=v8:5428 Review-Url: https://codereview.chromium.org/2606273002 Cr-Commit-Position: refs/heads/master@{#42027}
-
rmcilroy authored
Tracks background compilation of Ignition in a separate bucket from main thread compilation. Also add some more compilation buckets for functions which can take a significant proportion of compilation. BUG=v8:5203,v8:5215 Review-Url: https://codereview.chromium.org/2577263002 Cr-Commit-Position: refs/heads/master@{#42026}
-
leszeks authored
The heap traversal for SFI code objects when logging compiled functions was previously accessing the abstract code of an SFI, logging its bytecode if it exists or code object otherwise. However, there are some (rare) cases where an SFI has both bytecode and a non-interpreter code object -- for example, after baseline tier-up -- in which case we want to log both, as both could be executing (at different points on the stack). BUG=v8:5758 Review-Url: https://codereview.chromium.org/2603333002 Cr-Commit-Position: refs/heads/master@{#42025}
-
leszeks authored
Changes some for loops to use node->inputs() instead of iterating over InputCount and accessing InputAt(i). This saves some checks for "has_inline_inputs" and so some branches. Review-Url: https://codereview.chromium.org/2585713002 Cr-Commit-Position: refs/heads/master@{#42024}
-
tebbi authored
Revert of [turbofan] fix another divergence in escape analysis (patchset #1 id:1 of https://codereview.chromium.org/2599793002/ ) Reason for revert: Caused memory corruption. BUG=chromium:676767 Original issue's description: > [turbofan] fix another divergence in escape analysis > > This divergence bug is very similar to the one fixed in https://codereview.chromium.org/2522253002/, this time it is an oscillation between a cleared field and a new phi node. The page http://www.sears.com/clothing-shoes-jewelry-clothing-men-s-clothing-men-s-jeans/b-1325287370?Brand=LEE&filterList=Brand&sortOption=UNITS_HIGH_TO_LOW allows for a reliable reproduction. > > This fix makes sure that once a field that generated a phi gets cleared, it always stays cleared. > > BUG=chromium:670202 > > R=bmeurer@chromium.org > > Review-Url: https://codereview.chromium.org/2599793002 > Cr-Commit-Position: refs/heads/master@{#41922} > Committed: https://chromium.googlesource.com/v8/v8/+/8435cc852672c504d5899cc2765c5b895e658efe TBR=bmeurer@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=chromium:670202 Review-Url: https://codereview.chromium.org/2611623002 Cr-Commit-Position: refs/heads/master@{#42023}
-
jochen authored
BUG= Review-Url: https://codereview.chromium.org/2609833003 Cr-Commit-Position: refs/heads/master@{#42022}
-
bmeurer authored
Don't fallback to the %StrictEqual / %Equal runtime functions for the generic CompareIC slow path, but use the (new) StrictEqual and Equal builtins instead. This avoids a performance cliff when mixing input types for strict equality sites. R=jochen@chromium.org BUG=v8:4773 Review-Url: https://codereview.chromium.org/2609153002 Cr-Commit-Position: refs/heads/master@{#42021}
-
zhengxing.li authored
port 05873add (r41989) original commit message: The following ported to builtins: FastCloneRegExp FastCloneShallowArray FastCloneShallowObject BUG= Review-Url: https://codereview.chromium.org/2607383002 Cr-Commit-Position: refs/heads/master@{#42020}
-
zhengxing.li authored
port f2e8c978 (r41988) original commit message: BUG= Review-Url: https://codereview.chromium.org/2603313002 Cr-Commit-Position: refs/heads/master@{#42019}
-
zhengxing.li authored
port 5b02a98b (r41986) original commit message: In the process, convert from a code stub into a builtin. BUG= Review-Url: https://codereview.chromium.org/2608203002 Cr-Commit-Position: refs/heads/master@{#42018}
-
zhengxing.li authored
port be11812c (r41971) original commit message: Recognize and emit in-memory comparisons of 8-bit and 16-bit values with immediate values that fit. BUG= Review-Url: https://codereview.chromium.org/2612503002 Cr-Commit-Position: refs/heads/master@{#42017}
-
bmeurer authored
The ControlEquivalence cannot deal with new nodes inserted by the Scheduler due to Node splitting. Rather when the ControlEquivalence sees such a new Node, it'll likely crash on an out-of-bounds access. This is a speculative fix to make the crash disappear, as there's no 100% reliable repro currently. BUG=chromium:629398 TBR=jochen@chromium.org Review-Url: https://codereview.chromium.org/2611603002 Cr-Commit-Position: refs/heads/master@{#42016}
-
- 02 Jan, 2017 11 commits
-
-
bmeurer authored
Hook up TurboFan with the existing field type tracking machinery to eliminate redundant map checks on the results of LoadField operators. The store side is already implemented in TurboFan for quite some time, this just adds the load part. R=jarin@chromium.org BUG=v8:5267 Review-Url: https://codereview.chromium.org/2604393002 Cr-Commit-Position: refs/heads/master@{#42015}
-
caitp authored
- Adds CodeAssembler::ConstructJS() to simplify calling JS functions as constructors, used by NewPromiseCapability() - Defines PromiseCapability as a special JSObject subclass, with a non-exensible Map, and read-only non-configurable DataDescriptors which point to its in-object fields. This allows its fields to be used by JS builtins until there is no longer any need. Currently, the performance benefit comes from https://codereview.chromium.org/2567033003/, but does not appear to regress performance in any significant way. BUG=v8:5343 TBR=ulan@chromium.org Review-Url: https://codereview.chromium.org/2567333002 Cr-Commit-Position: refs/heads/master@{#42014}
-
jarin authored
Review-Url: https://codereview.chromium.org/2571903004 Cr-Commit-Position: refs/heads/master@{#42013}
-
mvstanton authored
R=jarin@chromium.org BUG=v8:5428 Review-Url: https://codereview.chromium.org/2611523002 Cr-Commit-Position: refs/heads/master@{#42012}
-
mlippautz authored
We need to report cached wrappers within v8 to the embedder after each atomic phase of v8 marking because the embedder can invalidate the wrappers in-between v8 marking steps. E.g., in Chrome, a conservative GC might need to wipe dead wrappables from the wrapper tracing marking deque. BUG=chromium:676700, chromium:468240 Review-Url: https://codereview.chromium.org/2610563002 Cr-Commit-Position: refs/heads/master@{#42011}
-
bmeurer authored
Store maps on the CheckMaps operator instead of burning inputs for the individual maps. Use the same data structure (the ZoneHandleSet) in the LoadElimination to track multiple maps per object. BUG=v8:5267 R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2431563002 Cr-Commit-Position: refs/heads/master@{#42010}
-
jochen authored
Original issue's description: > Disable the CompilerDispatcher if we don't have idle time > > Since we can't do all steps on background threads, we need idle time to > work > > BUG=v8:5215 > R=danno@chromium.org > > Review-Url: https://codereview.chromium.org/2600743002 > Cr-Commit-Position: refs/heads/master@{#41944} > Committed: https://chromium.googlesource.com/v8/v8/+/a0d9eb346bba90aa0b32a 2d3184cbbfd6adb243e BUG=v8:5215 Review-Url: https://codereview.chromium.org/2606233002 Cr-Commit-Position: refs/heads/master@{#42009}
-
bmeurer authored
Add machinery to Ignition and TurboFan to collect and consume InternalizedString feedback for abstract and strict equality comparisons. Here we can turn the comparison into a simple pointer equality check. R=jarin@chromium.org BUG=v8:5786 Review-Url: https://codereview.chromium.org/2609013002 Cr-Commit-Position: refs/heads/master@{#42008}
-
jochen authored
R=marja@chromium.org BUG= Review-Url: https://codereview.chromium.org/2606223002 Cr-Commit-Position: refs/heads/master@{#42007}
-
neis authored
R=marja@chromium.org BUG= Review-Url: https://codereview.chromium.org/2580833005 Cr-Commit-Position: refs/heads/master@{#42006}
-
bmeurer authored
When Crankshaft compiles a keyed load to arguments, it disabled optimization unless the KEYED_LOAD_IC for the access was monomorphic. But that's too restrictive, since it will also disable optimization for this function when the access is on a path that was never executed so far. This was spotted in the Node.js core function EventEmitter.prototype.emit, which was no longer optimizable with Crankshaft using latest V8. R=jarin@chromium.org BUG=v8:5790 Review-Url: https://codereview.chromium.org/2607303002 Cr-Commit-Position: refs/heads/master@{#42005}
-
- 30 Dec, 2016 8 commits
-
-
ulan authored
This patch fixes OOM crash that happens for large heap where the total size of edges exceeds 2GB, which is the hard limit for v8::internal::List allocated using tcmalloc. BUG=chromium:675911 Review-Url: https://codereview.chromium.org/2595003002 Cr-Commit-Position: refs/heads/master@{#42004}
-
mvstanton authored
R=epertoso@chromium.org BUG=5428 Review-Url: https://codereview.chromium.org/2607243002 Cr-Commit-Position: refs/heads/master@{#42003}
-
mvstanton authored
Following in the footsteps of the other load/store ICs. R=epertoso@chromium.org BUG= Review-Url: https://codereview.chromium.org/2608893002 Cr-Commit-Position: refs/heads/master@{#42002}
-
mvstanton authored
This CL is from danno@chromium.org. Moves code stubs LoadIC KeyedLoadICTF StoreIC KeyedStoreICTF LoadICTrampoline KeyedLoadICTrampolineTF StoreICTrampoline KeyedStoreICTrampolineTF into builtins. TBR Yang for serializer changes. R=epertoso@chromium.org TBR=yangguo@chromium.org BUG= Review-Url: https://codereview.chromium.org/2608883002 Cr-Commit-Position: refs/heads/master@{#42001}
-
gsathya authored
This refactors the logic from within the FastNewObject TF_BUILTIN to a helper method which can be reused in other assemblers. This saves the overhead of setting up the stub and calling into it. A wrapper method is created for functions that don't need to tail call into the runtime. PromiseBuiltinsAssembler and RegexpBuiltinsAssembler are refactored to use EmitFastNewObject. Review-Url: https://codereview.chromium.org/2607233002 Cr-Commit-Position: refs/heads/master@{#42000}
-
adamk authored
R=bmeurer@chromium.org Review-Url: https://codereview.chromium.org/2602903005 Cr-Commit-Position: refs/heads/master@{#41999}
-
v8-autoroll authored
Rolling v8/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult/+log/1e8a2ca..9ddf248 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review-Url: https://codereview.chromium.org/2601373002 Cr-Commit-Position: refs/heads/master@{#41998}
-
gsathya authored
R=adamk@chromium.org BUG=v8:5343 Review-Url: https://codereview.chromium.org/2608843002 Cr-Commit-Position: refs/heads/master@{#41997}
-
- 29 Dec, 2016 2 commits
-
-
bjaideep authored
Port 05873add Port f2e8c978 Original commit message: The following ported to builtins: FastCloneRegExp FastCloneShallowArray FastCloneShallowObject R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com BUG= LOG=N Review-Url: https://codereview.chromium.org/2603003002 Cr-Commit-Position: refs/heads/master@{#41996}
-
gsathya authored
R=adamk@chromium.org, caitp@igalia.com BUG=v8:5343 Review-Url: https://codereview.chromium.org/2603033002 Cr-Commit-Position: refs/heads/master@{#41995}
-