- 23 Oct, 2015 40 commits
-
-
mtrofin authored
When the range ends just at the gap of a non-deferred block, the last instruction the range covers is in the predecessor. If that predecessor is a deferred block, before this CL, we would splinter the remainder of the range all the way to the end. That leads to inefficient codegen, because we still want a split inside the deferred block. Also, opportunistically added a trace before we splinter, for better diagnostics. BUG= chromium:546416 LOG=N Review URL: https://codereview.chromium.org/1412123009 Cr-Commit-Position: refs/heads/master@{#31529}
-
rmcilroy authored
Review URL: https://codereview.chromium.org/1413663007 Cr-Commit-Position: refs/heads/master@{#31528}
-
neis authored
Setting the prototype to whatever it currently is must succeed even if the object is not extensible. R=verwaest@chromium.org BUG= Review URL: https://codereview.chromium.org/1423603002 Cr-Commit-Position: refs/heads/master@{#31527}
-
mlippautz authored
Fix aborting compaction for pages by doing two separate passes, one that scans all live objects, and one that later on sweeps the page. Detailed description see bug report. BUG=chromium:539356,chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1413763011 Cr-Commit-Position: refs/heads/master@{#31526}
-
littledan authored
This patch switches sloppy-mode code from legacy const semantics to ES2015 semantics. It is unknown how much of the web will be broken by this; likely the patch will have to be reverted before a branch happens. BUG=v8:3739 LOG=Y R=rossberg,adamk Review URL: https://codereview.chromium.org/1420223003 Cr-Commit-Position: refs/heads/master@{#31525}
-
bmeurer authored
We don't need to have an (untested) fallback for the case that a prototype map is not stable when specializing a named property, because prototype maps are always stable (which is now guarded by a DCHECK in CompilationDependencies). Less (dead) code is better code. R=verwaest@chromium.org BUG=v8:4470 LOG=n Review URL: https://codereview.chromium.org/1417973006 Cr-Commit-Position: refs/heads/master@{#31524}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1420253002 Cr-Commit-Position: refs/heads/master@{#31523}
-
jkummerow authored
Review URL: https://codereview.chromium.org/1412823003 Cr-Commit-Position: refs/heads/master@{#31522}
-
neis authored
R=rossberg BUG= Review URL: https://codereview.chromium.org/1425433002 Cr-Commit-Position: refs/heads/master@{#31521}
-
neis authored
R=rossberg BUG= Review URL: https://codereview.chromium.org/1423753002 Cr-Commit-Position: refs/heads/master@{#31520}
-
jochen authored
BUG=none LOG=y R=verwaest@chromium.org,bmeurer@chromium.org,rossberg@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng Review URL: https://codereview.chromium.org/1423723002 Cr-Commit-Position: refs/heads/master@{#31519}
-
zhengxing.li authored
port 7557dc5a (r31312). original commit message: This change add a new bytecode for operator new and implements it using the Construct() builtin. BUG= Review URL: https://codereview.chromium.org/1423733002 Cr-Commit-Position: refs/heads/master@{#31518}
-
bmeurer authored
R=verwaest@chromium.org BUG=v8:4470 LOG=n Review URL: https://codereview.chromium.org/1407233006 Cr-Commit-Position: refs/heads/master@{#31517}
-
zhengxing.li authored
port b3334087 (r31313). original commit message: BUG= Review URL: https://codereview.chromium.org/1412893006 Cr-Commit-Position: refs/heads/master@{#31516}
-
hpayer authored
Review URL: https://codereview.chromium.org/1412123006 Cr-Commit-Position: refs/heads/master@{#31515}
-
bmeurer authored
Reland of [turbofan] Fix and enable property stores. (patchset #1 id:1 of https://codereview.chromium.org/1414743005/ ) Reason for revert: It is fixed. Original issue's description: > Revert of [turbofan] Fix and enable property stores. (patchset #2 id:20001 of https://codereview.chromium.org/1424523002/ ) > > Reason for revert: > [Sheriff] Breaks benchmarks: > http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20debug%20-%20avx2/builds/3164 > > Original issue's description: > > [turbofan] Fix and enable property stores. > > > > Fix lookup for storing to properties, and also make sure we don't embed > > deprecated map (using Map::TryUpdate). > > > > R=jarin@chromium.org > > BUG=v8:4470 > > LOG=n > > > > Committed: https://crrev.com/70158828b3db8e582344272c6c11a957f4d8b2c8 > > Cr-Commit-Position: refs/heads/master@{#31509} > > TBR=jarin@chromium.org,bmeurer@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > BUG=v8:4470 > > Committed: https://crrev.com/50e5a7275f2bc93a8ae731acda0f7ac6e5e97c3c > Cr-Commit-Position: refs/heads/master@{#31513} TBR=jarin@chromium.org,machenbach@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4470 Review URL: https://codereview.chromium.org/1421573003 Cr-Commit-Position: refs/heads/master@{#31514}
-
machenbach authored
Revert of [turbofan] Fix and enable property stores. (patchset #2 id:20001 of https://codereview.chromium.org/1424523002/ ) Reason for revert: [Sheriff] Breaks benchmarks: http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20-%20debug%20-%20avx2/builds/3164 Original issue's description: > [turbofan] Fix and enable property stores. > > Fix lookup for storing to properties, and also make sure we don't embed > deprecated map (using Map::TryUpdate). > > R=jarin@chromium.org > BUG=v8:4470 > LOG=n > > Committed: https://crrev.com/70158828b3db8e582344272c6c11a957f4d8b2c8 > Cr-Commit-Position: refs/heads/master@{#31509} TBR=jarin@chromium.org,bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4470 Review URL: https://codereview.chromium.org/1414743005 Cr-Commit-Position: refs/heads/master@{#31513}
-
Benedikt Meurer authored
TBR=jarin@chromium.org BUG=v8:4470 LOG=n Review URL: https://codereview.chromium.org/1424533002 . Cr-Commit-Position: refs/heads/master@{#31512}
-
jkummerow authored
Review URL: https://codereview.chromium.org/1415823003 Cr-Commit-Position: refs/heads/master@{#31511}
-
yangguo authored
This removes the requirement for handles as arguments, but also removes concurrency support, which is not being used at the moment. Supporting concurrency could be done by introducing a sibling class to IdentityMap that includes RelocationLock on method calls. R=bmeurer@chromium.org, ulan@chromium.org Review URL: https://codereview.chromium.org/1419563004 Cr-Commit-Position: refs/heads/master@{#31510}
-
bmeurer authored
Fix lookup for storing to properties, and also make sure we don't embed deprecated map (using Map::TryUpdate). R=jarin@chromium.org BUG=v8:4470 LOG=n Review URL: https://codereview.chromium.org/1424523002 Cr-Commit-Position: refs/heads/master@{#31509}
-
mlippautz authored
BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1409363003 Cr-Commit-Position: refs/heads/master@{#31508}
-
neis authored
R=rossberg BUG= Review URL: https://codereview.chromium.org/1415283003 Cr-Commit-Position: refs/heads/master@{#31507}
-
zhengxing.li authored
port 24622f5f (r31257). original commit message: BUG= Review URL: https://codereview.chromium.org/1415033004 Cr-Commit-Position: refs/heads/master@{#31506}
-
zhengxing.li authored
port f2f46aff (r31242). 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. BUG= Review URL: https://codereview.chromium.org/1422443004 Cr-Commit-Position: refs/heads/master@{#31505}
-
zhengxing.li authored
port 2d4aeaad (r31204). original commit message: The stack manipulation was expensive. Two virtual registers are better. BUG= Review URL: https://codereview.chromium.org/1410573003 Cr-Commit-Position: refs/heads/master@{#31504}
-
zhengxing.li authored
port 9c8262f1 (r31120). original commit message: When calling into C++ builtins, we need to make sure that the argument count register contains the correct number of arguments, otherwise the CEntryStub will not be able to leave the stack in the correct state. BUG= Review URL: https://codereview.chromium.org/1418533009 Cr-Commit-Position: refs/heads/master@{#31503}
-
zhengxing.li authored
port 75f6ad74 (r31089). original commit message: Adds support for calling runtime functions from the interpreter. Adds the CallRuntime bytecode which takes a Runtime::FunctionId of the function to call and the arguments in sequential registers. Adds a InterpreterCEntry builtin to enable the interpreter to enter C++ code based on the functionId. Also renames Builtin::PushArgsAndCall to Builtin::InterpreterPushArgsAndCall and groups all the interpreter builtins together. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1418213002 Cr-Commit-Position: refs/heads/master@{#31502}
-
neis authored
This is in preparation of implementing Reflect.set. R=rossberg BUG= Review URL: https://codereview.chromium.org/1394983005 Cr-Commit-Position: refs/heads/master@{#31501}
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1419143003 Cr-Commit-Position: refs/heads/master@{#31500}
-
yangguo authored
This is in preparation of using it elsewhere. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1408163003 Cr-Commit-Position: refs/heads/master@{#31499}
-
alph authored
BUG=v8:4406 LOG=N Review URL: https://codereview.chromium.org/1416053010 Cr-Commit-Position: refs/heads/master@{#31498}
-
akos.palfi authored
BUG= Review URL: https://codereview.chromium.org/1418693005 Cr-Commit-Position: refs/heads/master@{#31497}
-
mvstanton authored
This patch only treats non-private symbols as valid feedback, thus avoiding the need to switch to Oddballs for the feedback sentinels and avoiding breaking the use of private own symbols. Crankshaft will also optimize these symbol loads into a named load, just as it does for string keyed loads with type feedback. BUG= Review URL: https://codereview.chromium.org/1415333003 Cr-Commit-Position: refs/heads/master@{#31496}
-
jochen authored
BUG=none LOG=n R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1410883006 Cr-Commit-Position: refs/heads/master@{#31495}
-
zhengxing.li authored
port 5cf1c0bc (r31087). original commit message: Previous to this patch, both the lithium and TurboFan register allocators tracked allocated registers by "indices", rather than the register codes used elsewhere in the runtime. This patch ensures that codes are used everywhere, and in the process cleans up a bunch of redundant code and adds more structure to how the set of allocatable registers is defined. Some highlights of changes: * TurboFan's RegisterConfiguration class moved to V8's top level so that it can be shared with Crankshaft. * Various "ToAllocationIndex" and related methods removed. * Code that can be easily shared between Register classes on different platforms is now shared. * The list of allocatable registers on each platform is declared as a list rather than implicitly via the register index <-> code mapping. additional comment: This patch must be work with CL https://codereview.chromium.org/1405673003/ and CL https://codereview.chromium.org/1413343002/ which provide the needed register allocation common code change in v8 for this CL BUG= Review URL: https://codereview.chromium.org/1410393004 Cr-Commit-Position: refs/heads/master@{#31494}
-
alph authored
BUG=v8:4406 LOG=N Review URL: https://codereview.chromium.org/1420653005 Cr-Commit-Position: refs/heads/master@{#31493}
-
chunyang.dai authored
Currently X87 turbofan backend use only one double register. But crankshaft needs to use more than 1 double register. The reason is that the X87 register is stack-based and the register allocator use the same algorithm for all registers. So the backend of X87 needs to maintain the X87 stack status between basic blocks during code generation. But for Turbofan backend, it can only handle discrete platform-related LIRs. It's difficult to maintain the x87 stack status during different basic blocks. So we use the register configuration selection mechanism to return different register configuration for X87 turbofan and crankshaft seperately. This CL is a follow-up of https://codereview.chromium.org/1405673003/. BUG= Review URL: https://codereview.chromium.org/1413343002 Cr-Commit-Position: refs/heads/master@{#31492}
-
bmeurer authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/1409933003 Cr-Commit-Position: refs/heads/master@{#31491}
-
alph authored
BUG=v8:4406 LOG=N Review URL: https://codereview.chromium.org/1420543003 Cr-Commit-Position: refs/heads/master@{#31490}
-