- 15 Apr, 2016 39 commits
-
-
nikolaos authored
This patch correctly re-scopes inner scopes that can appear in do expressions used as initializers to arrow parameters. R=rossberg@chromium.org BUG=v8:4904 LOG=N Review URL: https://codereview.chromium.org/1887743002 Cr-Commit-Position: refs/heads/master@{#35542}
-
lpy authored
Currently we are using UnsafeCurrent in async signal handler to acquire the isolate of VM thread, but we want to get rid of that since it prevents V8 from being thread agnostic. This patch replaces UnsafeCurrent with a static map, where we store a map of samplers for threads, and makes it accessible by signal handler. BUG=v8:4889 LOG=n Review URL: https://codereview.chromium.org/1858143003 Cr-Commit-Position: refs/heads/master@{#35541}
-
ulan authored
BUG= Review URL: https://codereview.chromium.org/1887343004 Cr-Commit-Position: refs/heads/master@{#35540}
-
mythria authored
Runtime_OptimizeFunctionOnNextCall and Runtime_DeoptimizeFunction asserts that the argument is a JSFunction object.These are used by fuzzers to get coverage of optimizations in compiler. Having an assert causes a fuzzer test to fail when OptimizeFunctionOnNextCall is called on objects that are not functions. We can instead, silently return on such calls. BUG=chromium:601391 LOG=N Review URL: https://codereview.chromium.org/1883603002 Cr-Commit-Position: refs/heads/master@{#35539}
-
jochen authored
BUG=v8:4909 R=hpayer@chromium.org,ulan@chromium.org LOG=n Review URL: https://codereview.chromium.org/1890123002 Cr-Commit-Position: refs/heads/master@{#35538}
-
jyan authored
Port 5e9ddf6c Original commit message: * New atomic code stubs for x64, ia32, arm, arm64 * Add convenience functions JumpIfNotValidSmiValue, JumpIfUintNotValidSmiValue to macro-assembler-ia32 (API based on x64 macro assembler) * Remove runtime implementation of Atomics.load, the code stub should always be called instead * Add new test to mjsunit atomics test; check that Smi values of different sizes are supported when possible, else fall back to HeapNumbers These changes were needed to add another codestub: * Bump kStubMajorKeyBits from 7 to 8 * Reduce ScriptContextFieldStub::kSlotIndexBits from 13 to 12 R=binji@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com BUG=v8:4614 LOG=N Review URL: https://codereview.chromium.org/1882733008 Cr-Commit-Position: refs/heads/master@{#35537}
-
machenbach authored
Revert of Immediately cache compiled scripts. (patchset #2 id:20001 of https://codereview.chromium.org/1890083002/ ) Reason for revert: [Sheriff] Breaks: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20debug/builds/8769 Auto-bisect points to this CL. Original issue's description: > Immediately cache compiled scripts. > > Usually, script compilation is expensive enough to warrant the extra > overhead of caching scripts immediatly. > > BUG=chromium:588900 > R=yangguo@chromium.org > LOG=n > > Committed: https://crrev.com/3533c084d470912384988768c4b3b109304da357 > Cr-Commit-Position: refs/heads/master@{#35527} TBR=yangguo@chromium.org,jochen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:588900 Review URL: https://codereview.chromium.org/1882833006 Cr-Commit-Position: refs/heads/master@{#35536}
-
machenbach authored
Unports parts of https://codereview.chromium.org/1828543003 as per suggestion in https://codereview.chromium.org/1886293002/ Ports https://codereview.chromium.org/1532723003 Also restores -fmsc-version=1800 to support win-clang with MSVS 2013. BUG=chromium:603011 LOG=n NOTRY=true Review URL: https://codereview.chromium.org/1895453002 Cr-Commit-Position: refs/heads/master@{#35535}
-
jyan authored
Port 9336f4cc Original commit message: This is useful for escape analysis, and helps upcoming changes to type feedback gathering. R=mvstanton@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1887003004 Cr-Commit-Position: refs/heads/master@{#35534}
-
jyan authored
Port 0c05e02f Original commit message: Modifies Ignition to store code entry addresses in the dispatch table rather than code objects. This allows the interpreter to avoid calculating the code entry address from the code object on every dispatch and provides a ~5-7% performance improvement on Octane with Ignition. This change adds ArchOpcode::kArchTailCallAddress to TurboFan to enable tail call dispatch using these code addresses. It also adds a Dispatch linkage creator (distinct from the stub linkage type used previously) to allow targetting a code address target (which will diverge further from the stub linkage type when we remove the context machine register in Ignition). R=rmcilroy@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1887263003 Cr-Commit-Position: refs/heads/master@{#35533}
-
mstarzinger authored
This hoists all bailouts out of OptimizedCompileJob::CreateGraph into the compiler pipeline. The reason is that this moves them to a point where we can still influence the decision which compiler to pick and hence gives us more freedom with modeling various pipelines. R=neis@chromium.org Review URL: https://codereview.chromium.org/1883313003 Cr-Commit-Position: refs/heads/master@{#35532}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1887343003 Cr-Commit-Position: refs/heads/master@{#35531}
-
mvstanton authored
Quit using the global array in uri code. R=yangguo@chromium.org BUG=chromium:602970 LOG=N Review URL: https://codereview.chromium.org/1889133003 Cr-Commit-Position: refs/heads/master@{#35530}
-
mlippautz authored
Replace page link walking with arithmetic computation. BUG=chromium:603460 LOG=N Review URL: https://codereview.chromium.org/1883933003 Cr-Commit-Position: refs/heads/master@{#35529}
-
jochen authored
Seems like node.js depends on it in many places. At least try to get rid of WeakCallbackData vs WeakCallbackInfo BUG= R=hpayer@chromium.org LOG=y Review URL: https://codereview.chromium.org/1883173002 Cr-Commit-Position: refs/heads/master@{#35528}
-
jochen authored
Usually, script compilation is expensive enough to warrant the extra overhead of caching scripts immediatly. BUG=chromium:588900 R=yangguo@chromium.org LOG=n Review URL: https://codereview.chromium.org/1890083002 Cr-Commit-Position: refs/heads/master@{#35527}
-
ahaas authored
The default NaN mode was originally used to identify holes in double arrays. With (https://codereview.chromium.org/863633002/) signalling NaNs are used for that, and the default NaN mode is not needed anymore. Without the default NaN mode it is easier to satisfy the WebAssembly spec which requires that quiet NaNs are preserved. R=titzer@chromium.org, rodolph.perfetta@arm.com, bmeurer@chromium.org Review URL: https://codereview.chromium.org/1884193003 Cr-Commit-Position: refs/heads/master@{#35526}
-
bmeurer authored
This adds an ObjectIsString operator and hooks it up with JSNativeContextSpecialization (to remove the use of some machine operators there). R=jarin@chromium.org Review URL: https://codereview.chromium.org/1894523002 Cr-Commit-Position: refs/heads/master@{#35525}
-
v8-autoroll authored
Rolling v8/tools/clang to d9ee849b2aa65cef903af3044e03205d92343093 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/1883413002 Cr-Commit-Position: refs/heads/master@{#35524}
-
hlopko authored
PersistentValueMap is used to hold per-world wrappers in the blink. Currently, when we trace wrappers, we visit wrappers in all worlds via this PersistentValueMap. This cl introduces convenient (and faster) way of registering these external references. BUG=468240 LOG=no Review URL: https://codereview.chromium.org/1883043003 Cr-Commit-Position: refs/heads/master@{#35523}
-
zhengxing.li authored
port 6df9a22c (r35187) original commit message: The HandlerCompiler did not properly handle the weird edge case when a sloppy mode function was installed as an accessor on one of the value wrapper prototypes and then accessed via a load from a primitive value. In this case we just passed the primitive value untouched instead of properly wrapping it first. The CallFunction builtin properly deals with all the funny edge cases, so we use it instead of duplicating almost all of the logic here (the performance difference is neglible). BUG= Review URL: https://codereview.chromium.org/1884293003 Cr-Commit-Position: refs/heads/master@{#35522}
-
mstarzinger authored
This prefixes the escape analysis flag with "experimental", thereby making sure the flag in question is not being fuzzed. It will reduce noise levels on ClusterFuzz again. R=jarin@chromium.org BUG=chromium:603653 LOG=n Review URL: https://codereview.chromium.org/1894513002 Cr-Commit-Position: refs/heads/master@{#35521}
-
jochen authored
BUG=v8:4846 R=verwaest@chromium.org LOG=y Review URL: https://codereview.chromium.org/1889903003 Cr-Commit-Position: refs/heads/master@{#35520}
-
machenbach authored
Revert of Rehash and clear deleted entries in weak collections during GC (patchset #8 id:140001 of https://codereview.chromium.org/1877233005/ ) Reason for revert: [Sheriff] Speculative revert. Suspect for gc stress crashes, like: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/5119 Original issue's description: > Rehash and clear deleted entries in weak collections during GC > > Otherwise, they'll just keep growing until we run out of memory or hit the FixedArray's maximum capacity. > > BUG=v8:4909 > R=hpayer@chromium.org > LOG=n > > Committed: https://crrev.com/e093a047796d4c0575fe63d36529e7fe89b8865d > Cr-Commit-Position: refs/heads/master@{#35514} TBR=hpayer@chromium.org,jochen@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4909 Review URL: https://codereview.chromium.org/1891863003 Cr-Commit-Position: refs/heads/master@{#35519}
-
ahaas authored
The default NaN mode was originally used to identify holes in double arrays. With (https://codereview.chromium.org/863633002/) signalling NaNs are used for that, and the default NaN mode is not needed anymore. Without the default NaN mode it is easier to satisfy the WebAssembly spec which requires that quiet NaNs are preserved. R=titzer@chromium.org, rodolph.perfetta@arm.com, bmeurer@chromium.org Review URL: https://codereview.chromium.org/1884193002 Cr-Commit-Position: refs/heads/master@{#35518}
-
mstarzinger authored
This moves the responsibility of preparing full-codegen code with deoptimization support into the backends. This avoids generating such code when optimization can be done directly from existing bytecode. R=bmeurer@chromium.org BUG=v8:4280 LOG=n Review URL: https://codereview.chromium.org/1883403002 Cr-Commit-Position: refs/heads/master@{#35517}
-
cbruni authored
BUG= Committed: https://crrev.com/5210f167e802a3758aac1f2900a6560c8de07831 Cr-Commit-Position: refs/heads/master@{#35231} Review URL: https://codereview.chromium.org/1834373003 Cr-Commit-Position: refs/heads/master@{#35516}
-
yangguo authored
This has been fixed by 165186f2. R=machenbach@chromium.org BUG=v8:4893,v8:4894 LOG=N Review URL: https://codereview.chromium.org/1882923006 Cr-Commit-Position: refs/heads/master@{#35515}
-
jochen authored
Otherwise, they'll just keep growing until we run out of memory or hit the FixedArray's maximum capacity. BUG=v8:4909 R=hpayer@chromium.org LOG=n Review URL: https://codereview.chromium.org/1877233005 Cr-Commit-Position: refs/heads/master@{#35514}
-
jarin authored
We have trouble with Math.fround(MEM[...]). Since we now properly type LoadBuffer (it can produce undefined), lowering of fround has stopped triggering (as it requires Number type). This CL is a quick fix for this issue - we simply trigger the lowering for NumberOrUndefined and let representation selection/truncation analysis deal with this. Ultimately, we would want to insert some 'simplified' ToNumber conversion that would be optimized as much as possible during representation selection. BUG=chromium:603802 LOG=n R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1893483003 Cr-Commit-Position: refs/heads/master@{#35513}
-
zhengxing.li authored
port 911a5768 (r35301) original commit message: BUG= Review URL: https://codereview.chromium.org/1888043004 Cr-Commit-Position: refs/heads/master@{#35512}
-
rmcilroy authored
The current context is stored as a stack slot on the interpreter frame and therefore we don't need to also maintain a machine register for the context. Removes this register from bytecode handlers. In the process modifies this frees up a register on ia32 to keep the dispatch table pointer in a register rather than on a stack slot on ia32. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1887493004 Cr-Commit-Position: refs/heads/master@{#35511}
-
zhengxing.li authored
port 974721c6 (r35283) original commit message: Introduce a ResumeGeneratorTrampoline, which does the actual stack state reconstruction (currently always restores a fullcodegen frame), and introduce appropriate TurboFan builtins for %GeneratorPrototype%.next, %GeneratorPrototype%.return and %GeneratorPrototype%.throw based on this native builtin. Also unify the flooding in case of step-in to always work based on JSFunction and remove the special casing for JSGeneratorObject. BUG= Review URL: https://codereview.chromium.org/1889083002 Cr-Commit-Position: refs/heads/master@{#35510}
-
bmeurer authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/1887343002 Cr-Commit-Position: refs/heads/master@{#35509}
-
zhengxing.li authored
port 3dd3beb0 (r35199) original commit message: Currently, if the size of two cmp or test operands is a byte or a word, we sign-extend or zero-extend each of them into a 32-bit register before doing the comparison, even when the conditions for the use of a memory operand are met. This CL makes it possible to load only one of them into a register and address the other as a memory operand. The tricky bit is that, unlike as in the x64 counterpart http://crrev.com/1780193003, not all registers can be accessed as bytes. BUG= Review URL: https://codereview.chromium.org/1883373002 Cr-Commit-Position: refs/heads/master@{#35508}
-
zhengxing.li authored
The CL #35176 (https://codereview.chromium.org/1843983002) exposed one hidden bug in x87 turbofan code generation for kX87Float64ToUint32. The current kX87Float64ToUint32 code generation will destroy the input value in X87 FPU stack which will be used by the following code. This CL fixed this bug. BUG= Review URL: https://codereview.chromium.org/1884403002 Cr-Commit-Position: refs/heads/master@{#35507}
-
addaleax authored
The current code for testing the VEX.L flag, indicating whether 128-bit or 256-bit registers are being accessed, was erroneous and always returned true (i.e. indicated 128-bit registers). This patch fixes this behaviour and checks the flag correctly. Ref: https://github.com/nodejs/node/issues/6151 BUG= Review URL: https://codereview.chromium.org/1875323002 Cr-Commit-Position: refs/heads/master@{#35506}
-
v8-autoroll authored
Rolling v8/buildtools to 5378d73123b64907773cc5c1bb027b2f765ff00a Rolling v8/tools/clang to 41bff4c5ba97022c0fe69a59d8892a6c45fb0867 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1889043002 Cr-Commit-Position: refs/heads/master@{#35505}
-
bmeurer authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1894433002 Cr-Commit-Position: refs/heads/master@{#35504}
-
- 14 Apr, 2016 1 commit
-
-
mbrandy authored
R=binji@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1889693003 Cr-Commit-Position: refs/heads/master@{#35503}
-