- 23 Oct, 2015 27 commits
-
-
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}
-
mvstanton authored
It doesn't fail on tip of tree, we'll investigate if it recurs. R=mstarzinger@chromium.org BUG=v8:4493 LOG=N Review URL: https://codereview.chromium.org/1416453004 Cr-Commit-Position: refs/heads/master@{#31489}
-
alph authored
BUG=v8:4406 LOG=N Review URL: https://codereview.chromium.org/1421733003 Cr-Commit-Position: refs/heads/master@{#31488}
-
- 22 Oct, 2015 13 commits
-
-
ahaas authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1418183002 Cr-Commit-Position: refs/heads/master@{#31487}
-
rmcilroy authored
Fills out some more of the function prologue support in the interpreter. Deals with creation of arguments objects and throwing IllegalRedeclarations if necessary. Also adds (untested) support for this.function and new.target variable assignment. Also fixes a bug in Frames::is_java_script() to deal with interpreter frames correctly. Cleans up comments in builtins InterpreterEntryTrampoline about missing prologue support. Adds the following bytecodes: - CreateArgumentsSloppy - CreateArgumentsStrict BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1412953007 Cr-Commit-Position: refs/heads/master@{#31486}
-
rmcilroy authored
Adds support for compound expressions for variables and named / keyed property assignments. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1420503002 Cr-Commit-Position: refs/heads/master@{#31485}
-
rmcilroy authored
Adds support for count operations to the interpreter. Deals with count operations on locals, globals, context allocated variables and named and keyed properties. Adds the following bytecodes: ToNumber Inc Dec BUG=v8:4280 LOG=N TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1416623003 Cr-Commit-Position: refs/heads/master@{#31484}
-
jkummerow authored
Review URL: https://codereview.chromium.org/1416053007 Cr-Commit-Position: refs/heads/master@{#31483}
-
rmcilroy authored
Unifies the global and unallocated variable type accesses given that --global_var_shortcuts is going away. Lda/StaGlobal is modified to use Load/StoreICs on the global object. The named LoadIC and StoreIC bytecodes are also modified so that they take a constant pool entry index for the name rather than a register, avoiding unecessary LdaConstant bytecodes to be emitted. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1419003002 Cr-Commit-Position: refs/heads/master@{#31482}
-
yangguo authored
Review URL: https://codereview.chromium.org/1420473002 Cr-Commit-Position: refs/heads/master@{#31481}
-
verwaest authored
BUG=v8:3330 LOG=n Review URL: https://codereview.chromium.org/1415723005 Cr-Commit-Position: refs/heads/master@{#31480}
-
yangguo authored
R=littledan@chromium.org BUG=v8:4342 LOG=Y Committed: https://crrev.com/722719fe31fe7fd5bb50be6256b3581bb28a8169 Cr-Commit-Position: refs/heads/master@{#31390} Review URL: https://codereview.chromium.org/1412133002 Cr-Commit-Position: refs/heads/master@{#31479}
-
hpayer authored
Review URL: https://codereview.chromium.org/1416273003 Cr-Commit-Position: refs/heads/master@{#31478}
-
Benedikt Meurer authored
TBR=machenbach@chromium.org BUG=v8:4470 LOG=n Review URL: https://codereview.chromium.org/1414963004 . Cr-Commit-Position: refs/heads/master@{#31477}
-
chunyang.dai authored
register configurations currently. This CL provides a mechanism so that optimizing compilers can select different Register Configuration. BUG= Review URL: https://codereview.chromium.org/1405673003 Cr-Commit-Position: refs/heads/master@{#31476}
-
bmeurer authored
This slightly generalizes the current mechnanism for property loads to also deal with property stores (both monomorphic and polymorphic). It's still somewhat adhoc, but it already handles a lot of the interesting cases. We might want to wait for keyed accesses before we start refactoring to a more general solution. R=jarin@chromium.org BUG=v8:4470 LOG=n Review URL: https://codereview.chromium.org/1422573002 Cr-Commit-Position: refs/heads/master@{#31475}
-