- 14 Jan, 2016 37 commits
-
-
adamk authored
This avoids manual, fragile assignment to Parser::scope_. And once all such assignments are removed, BlockState might become much more valuable as a place to reset scope-related state. Also remove unnecessary nullptr checks after calls to FinalizeBlockScope. Review URL: https://codereview.chromium.org/1583453003 Cr-Commit-Position: refs/heads/master@{#33313}
-
littledan authored
Previous changes with subclassable builtins and @@species were a bit aggressive in making TypedArray.prototype.subarray act like the ES2016 specification in terms of returning an instance of the subclass as a result. It turns out that Node.js, and extracted libraries for the web, subclass TypedArrays but don't expect the subclass constructor to be called by subarray. @@species will provide an escape hatch, but it has not shipped yet, and will take some time for uptake by libraries. For now, this patch makes TypedArray.prototype.subarray fall back to constructing an instance of the parent TypedArray class, such as Uint8Array. R=adamk LOG=Y BUG=v8:4665 Review URL: https://codereview.chromium.org/1583773005 Cr-Commit-Position: refs/heads/master@{#33312}
-
adamk authored
This avoids generating different scopes on the two compilation passes, which results in various delirious side-effects. There's some cleanup to be done in lazy arrow function parsing, but I'd rather do that in a separate patch, with this one targeted at fixing the particular crash. BUG=chromium:572589 LOG=n Review URL: https://codereview.chromium.org/1575333004 Cr-Commit-Position: refs/heads/master@{#33311}
-
mbrandy authored
R=titzer@chromium.org, bradnelson@chromium.org, ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1575103002 Cr-Commit-Position: refs/heads/master@{#33310}
-
rossberg authored
Respective declarations will explicitly initialise slots with the hole anyway, so this always was unnecessary. With varblocks it even became wrong, because block contexts may now host var bindings, which want undefined. Fixes the hole leaking when accessing an unitialised, block-context-allocated var. R=neis@chromium.org BUG=571149 LOG=N Review URL: https://codereview.chromium.org/1584243002 Cr-Commit-Position: refs/heads/master@{#33309}
-
mbrandy authored
Temporarily disable until solution is implemented. R=titzer@chromium.org, bradnelson@chromium.org, ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1581103005 Cr-Commit-Position: refs/heads/master@{#33308}
-
nikolaos authored
In short, array literals containing spreads, when used as expressions, are rewritten using do expressions. E.g. [1, 2, 3, ...x, 4, ...y, 5] is roughly rewritten as: do { $R = [1, 2, 3]; for ($i of x) %AppendElement($R, $i); %AppendElement($R, 4); for ($j of y) %AppendElement($R, $j); %AppendElement($R, 5); $R } where $R, $i and $j are fresh temporary variables. R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/1564083002 Cr-Commit-Position: refs/heads/master@{#33307}
-
mbrandy authored
R=titzer@chromium.org, hablich@chromium.org, paul.lind@imgtec.com BUG= Review URL: https://codereview.chromium.org/1582143004 Cr-Commit-Position: refs/heads/master@{#33306}
-
jkummerow authored
As luck would have it, there doesn't seem to be a way to trigger observable misbehavior currently (only with special flags). BUG=chromium:380671 LOG=n R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1588013002 Cr-Commit-Position: refs/heads/master@{#33305}
-
joransiu authored
This is the first of several commits to contribute Linux on z Systems (s390/s390x) port of V8. We will be breaking up the changes into several (hopefully) logical commits. This commit contains the changes to V8 Makefile and build toolchains to introduce S390 macros and compiler options. Just for awareness for reviewers is that s390 is 31-bit (not 32!) big-endian platform on Linux on z. (MSB of address is used to distinguish between 24-bit vs 31-bit addressing!) s390x is 64-bit Linux on z. Names follow the general linux convention on the platform. A quick roadmap on upcoming commits: - Add \#include of S390 header files in common files - S390 related tests + tooling changes - printf macro for printing size_t values. - S390 platform-specific code generation code (bulk of changes!) R=danno@chromium.org,svenpanne@chromium.org,michael_dawson@ca.ibm.com,jyan@ca.ibm.com,mtbrandyberry@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1585813002 Cr-Commit-Position: refs/heads/master@{#33304}
-
machenbach authored
NOTRY=true Review URL: https://codereview.chromium.org/1588073002 Cr-Commit-Position: refs/heads/master@{#33303}
-
mlippautz authored
BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1588823003 Cr-Commit-Position: refs/heads/master@{#33302}
-
mtrofin authored
We were sometimes losing a splintering opportunity when a range was ending at the beginning of a hot (==non-deferred) block, when giving its value to some fixed range - i.e. a fixed operand of the first instruction in that hot block. Renamed 2 APIs to better reflect what their intent is. Added self-checking when introducing moves connecting ranges, to ensure we don't spill/fill in hot blocks ranges spilled only in deferred blocks. Verified locally that these checks would have tripped in a few cases before this change. BUG= Review URL: https://codereview.chromium.org/1564583002 Cr-Commit-Position: refs/heads/master@{#33301}
-
nikolaos authored
This patch implements eager expression rewriting when parsing. It will be used for desugaring spreads but may have other uses in the future. We call Traits::RewriteExpression as soon as we realise that something parsed as an expression is actually used as an expression (and not as a pattern). This patch adds a dummy implementation for this function, doing no rewriting at all, and adds the trigers in the right places of the parser. R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/1567603005 Cr-Commit-Position: refs/heads/master@{#33300}
-
jkummerow authored
When reserving a stack slot for the receiver, push an Immediate(0) rather than a register that contains an untagged integer. All other platforms push zero already. Review URL: https://codereview.chromium.org/1585183002 Cr-Commit-Position: refs/heads/master@{#33299}
-
yangguo authored
R=ulan@chromium.org BUG=chromium:567937 LOG=N Review URL: https://codereview.chromium.org/1584023003 Cr-Commit-Position: refs/heads/master@{#33298}
-
vogelheim authored
BUG=508898 LOG=N Review URL: https://codereview.chromium.org/1588053002 Cr-Commit-Position: refs/heads/master@{#33297}
-
rmcilroy authored
Split RegisterAllocationScope out of ExpressionResult and allocate one for each statement. This ensures that we always have an outer register allocation scope for statement code (used in CountOperation and RegisterExecutionResult). Also refactored the register allocator code to move it to it's own file and rename from TemporaryRegisterScope to BytecodeRegisterAllocator. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1587033002 Cr-Commit-Position: refs/heads/master@{#33296}
-
titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1583153003 Cr-Commit-Position: refs/heads/master@{#33295}
-
epertoso authored
CompatibleReceiverCheck used by the HandleFastApiCall builtin was terminating with failure upon encountering a hidden prototype. It should actually stop iterating on the first non-hidden prototype. BUG= Review URL: https://codereview.chromium.org/1576423003 Cr-Commit-Position: refs/heads/master@{#33294}
-
jarin authored
Review URL: https://codereview.chromium.org/1588563002 Cr-Commit-Position: refs/heads/master@{#33293}
-
jarin authored
This restores the case that was removed by commit f0e41175 Author: jarin <jarin@chromium.org> Date: Tue Jan 5 03:56:04 2016 -0800 [turbofan] Bidirectional representation inference. BUG=v8:4667 LOG=n R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1584913003 Cr-Commit-Position: refs/heads/master@{#33292}
-
vogelheim authored
This solves a bug discovered with fast accessors, where a pre-age prologue was written into a stub. Since StaticMarkingVisitor<.>::IsFlushable will only flush Code::FUNCTION [1], we'll restrict GeneratePreagedPrologue to functions, too, instead of adding a Code::STUB restriction. Also, generalize api accessor test cases to --optimize-for-size. Also, fix CompilationCacheCachingBehavior for --optimize-for-size. [1] https://code.google.com/p/chromium/codesearch#chromium/src/v8/src/heap/objects-visiting-inl.h&l=629-632 R=epertoso BUG= Review URL: https://codereview.chromium.org/1580323003 Cr-Commit-Position: refs/heads/master@{#33291}
-
rossberg authored
R=hablich@chromium.org BUG=v8:4664 LOG=N Review URL: https://codereview.chromium.org/1581423003 Cr-Commit-Position: refs/heads/master@{#33290}
-
machenbach authored
Depot tools now uses the project's cq.cfg by default on git cl try, if no other method is specified. Based on: https://codereview.chromium.org/1579423004/ https://codereview.chromium.org/1587893003/ BUG=chromium:565952 TBR=tandrii@chromium.org LOG=n NOTRY=true Review URL: https://codereview.chromium.org/1583233002 Cr-Commit-Position: refs/heads/master@{#33289}
-
ishell authored
BUG=chromium:575080 LOG=N Review URL: https://codereview.chromium.org/1579603002 Cr-Commit-Position: refs/heads/master@{#33288}
-
machenbach authored
- Use valgrind from v8/third_party/valgrind fetched as custom deps. This will make the check more portable on buildbot slaves without the need to install valgrind. - Build path to checked executable to be ready for swarming. BUG=chromium:535160 LOG=n NOTRY=true Review URL: https://codereview.chromium.org/1585093002 Cr-Commit-Position: refs/heads/master@{#33287}
-
titzer authored
Fix: pass global object as receiver when calling WASM->JS. R=bradnelson@chromium.org, ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1581393003 Cr-Commit-Position: refs/heads/master@{#33286}
-
sigurds authored
Apparently, some StateValues have other StateValues as input. This CL makes escape analysis transformation phase aware of it. R=mstarzinger@chromium.org BUG=v8:4586 LOG=n Review URL: https://codereview.chromium.org/1581183004 Cr-Commit-Position: refs/heads/master@{#33285}
-
machenbach authored
Revert of [cq] Keep presubmit trybots and cq automatically in sync. (patchset #1 id:1 of https://codereview.chromium.org/1580193004/ ) Reason for revert: Doesn't work with triggered bots. Waiting for this fix: https://codereview.chromium.org/1587893003/ Original issue's description: > [cq] Keep presubmit trybots and cq automatically in sync. > > Code copied 1:1 from chromium. > > BUG=chromium:565952 > LOG=n > NOTRY=true > > Committed: https://crrev.com/039dce1e355be6422c672badef5f3895f3b16ead > Cr-Commit-Position: refs/heads/master@{#33264} TBR=tandrii@chromium.org,kjellander@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:565952 Review URL: https://codereview.chromium.org/1579223004 Cr-Commit-Position: refs/heads/master@{#33284}
-
bmeurer authored
Support inlining across bound functions in the JSCallReducer when we specialize to the native context. This basically removes all overhead from bound functions in TurboFan and gives another speed of 10x on my microbenchmark. BUG=chromium:535408, chromium:571299, v8:4629 R=jarin@chromium.org LOG=n Review URL: https://codereview.chromium.org/1581343002 Cr-Commit-Position: refs/heads/master@{#33283}
-
mtrofin authored
On Intel, xchg stalls the pipeline. We use xchg to implement swap moves. In a separate exploration, the presence of xchg in a very hot loop, due to a change in register allocation, lead to over 20% regression. Simply changing that instruction with push/mov/pop (almost) eliminated the regression. In light of that, I removed uses of xchg. This leads to more instructions, though. That is particularly problematic for long cycles, which, today, we translate to successions of swaps. I plan to address this cycle issue in a separate change. For now, the goal is to unblock the initial work that lead here. Review URL: https://codereview.chromium.org/1580233003 Cr-Commit-Position: refs/heads/master@{#33282}
-
v8-autoroll authored
Rolling v8/tools/clang to 24e8c1c92fe54ef8ed7651b5850c056983354a4a TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1586933002 Cr-Commit-Position: refs/heads/master@{#33281}
-
zhengxing.li authored
port 322ffda3 (r33265) original commit message: Also migrate the Number constructor to a native builtin, using the same mechanism already used by the String constructor. Otherwise just parsing and compiling the Number constructor to optimized code already eats 2ms on desktop for no good reason, and the resulting optimized code is not even close to awesome. Drive-by-fix: Use correct context for the [[Construct]] case of the String constructor as well, and share some code with it. BUG= Review URL: https://codereview.chromium.org/1581313002 Cr-Commit-Position: refs/heads/master@{#33280}
-
caitpotter88 authored
When parsing a pattern element with an assignment operator that is not Token::ASSIGN, record a pattern error to indicate the invalid assignment target. BUG=v8:811, v8:4666 LOG=N R=adamk@chromium.org, rossberg@chromium.org, littledan@chromium.org Review URL: https://codereview.chromium.org/1583863003 Cr-Commit-Position: refs/heads/master@{#33279}
-
zhengxing.li authored
port 12bcba15 (r33258) original commit message: The API functions are always in sloppy mode, so receiver is always a JSReceiver once the actual call trampoline runs, no need to check again in various places. BUG= Review URL: https://codereview.chromium.org/1582173002 Cr-Commit-Position: refs/heads/master@{#33278}
-
adamk authored
The bulk of these were marked simply '[PASS]', while one was marked '[PASS, FAIL]' but seems to always pass. BUG=v8:3305, v8:4405 LOG=n Review URL: https://codereview.chromium.org/1584863003 Cr-Commit-Position: refs/heads/master@{#33277}
-
- 13 Jan, 2016 3 commits
-
-
caitpotter88 authored
BUG=v8:3699 LOG=N R=adamk@chromium.org, rossberg@chromium.org, littledan@chromium.org Review URL: https://codereview.chromium.org/1582783004 Cr-Commit-Position: refs/heads/master@{#33276}
-
adamk authored
Revert of [wasm] Add tests for JS wrappers to test-run-wasm. (patchset #1 id:1 of https://codereview.chromium.org/1581643004/ ) Reason for revert: New test failed on nosnap builder (https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap%20-%20debug/builds/4738): Test: cctest/test-run-wasm-js/Run_CallJS_Add_jswrapped Stderr: abort: Sloppy function expects JSReceiver as receiver. # # Fatal error in ../../src/objects-inl.h, line 3221 # Check failed: !v8::internal::FLAG_enable_slow_asserts || (object->IsJSFunction()). # Original issue's description: > [wasm] Add tests for JS wrappers to test-run-wasm. > > R=bradnelson@chromium.org, ahaas@chromium.org > BUG= > > Committed: https://crrev.com/c52f5ced4e600a57c02301f2936b80f086613985 > Cr-Commit-Position: refs/heads/master@{#33274} TBR=ahaas@chromium.org,bradnelson@chromium.org,titzer@chromium.org # 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/1587763002 Cr-Commit-Position: refs/heads/master@{#33275}
-
titzer authored
R=bradnelson@chromium.org, ahaas@chromium.org BUG= Review URL: https://codereview.chromium.org/1581643004 Cr-Commit-Position: refs/heads/master@{#33274}
-