- 01 Oct, 2015 1 commit
-
-
ishell authored
This CL also allows to use arbitrary number of feedback vector elements for particular slot kind. Review URL: https://codereview.chromium.org/1370303004 Cr-Commit-Position: refs/heads/master@{#31050}
-
- 30 Sep, 2015 1 commit
-
-
mstarzinger authored
This enables linter checking for "readability/namespace" violations during presubmit and instead marks the few known exceptions that we allow explicitly. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1371083003 Cr-Commit-Position: refs/heads/master@{#31019}
-
- 29 Sep, 2015 1 commit
-
-
dusan.m.milosavljevic authored
TEST= BUG= Review URL: https://codereview.chromium.org/1334793004 Cr-Commit-Position: refs/heads/master@{#31011}
-
- 28 Sep, 2015 2 commits
-
-
alph authored
Drive-by: remove unnecessary includes. Review URL: https://codereview.chromium.org/1356223004 Cr-Commit-Position: refs/heads/master@{#30987}
-
ishell authored
This is a first step towards merging FeedbackVectorSlot and FeedbackVectorICSlot. Review URL: https://codereview.chromium.org/1369973002 Cr-Commit-Position: refs/heads/master@{#30964}
-
- 24 Sep, 2015 3 commits
-
-
bmeurer authored
There was already a bit on the Map named "function with prototype", which basically meant that the Map was a map for a JSFunction that could be used as a constructor. Now this CL generalizes that bit to IsConstructor, which says that whatever (Heap)Object you are looking at can be used as a constructor (i.e. the bit is also set for bound functions that can be used as constructors and proxies that have a [[Construct]] internal method). This way we have a single chokepoint for IsConstructor checking, which allows us to get rid of the various ways in which we tried to guess whether something could be used as a constructor or not. Drive-by-fix: Renamed IsConstructor on FunctionKind to IsClassConstructor to resolve the weird name clash, and the IsClassConstructor name also matches the spec. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=jarin@chromium.org, rossberg@chromium.org BUG=v8:4413, v8:4430 LOG=n Committed: https://crrev.com/8de4d9351df4cf66c8a128d561a6e331d196be54 Cr-Commit-Position: refs/heads/master@{#30900} Review URL: https://codereview.chromium.org/1358423002 Cr-Commit-Position: refs/heads/master@{#30902}
-
bmeurer authored
Revert of [es6] Introduce spec compliant IsConstructor. (patchset #2 id:20001 of https://codereview.chromium.org/1358423002/ ) Reason for revert: Failed on Fuzzer and MIPS bot. Original issue's description: > [es6] Introduce spec compliant IsConstructor. > > There was already a bit on the Map named "function with prototype", > which basically meant that the Map was a map for a JSFunction that could > be used as a constructor. Now this CL generalizes that bit to > IsConstructor, which says that whatever (Heap)Object you are looking at > can be used as a constructor (i.e. the bit is also set for bound > functions that can be used as constructors and proxies that have a > [[Construct]] internal method). > > This way we have a single chokepoint for IsConstructor checking, which > allows us to get rid of the various ways in which we tried to guess > whether something could be used as a constructor or not. > > Drive-by-fix: Renamed IsConstructor on FunctionKind to > IsClassConstructor to resolve the weird name clash, and the > IsClassConstructor name also matches the spec. > > R=jarin@chromium.org, rossberg@chromium.org > BUG=v8:4430 > LOG=n > > Committed: https://crrev.com/8de4d9351df4cf66c8a128d561a6e331d196be54 > Cr-Commit-Position: refs/heads/master@{#30900} TBR=jarin@chromium.org,rossberg@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4430 Review URL: https://codereview.chromium.org/1360403002 Cr-Commit-Position: refs/heads/master@{#30901}
-
bmeurer authored
There was already a bit on the Map named "function with prototype", which basically meant that the Map was a map for a JSFunction that could be used as a constructor. Now this CL generalizes that bit to IsConstructor, which says that whatever (Heap)Object you are looking at can be used as a constructor (i.e. the bit is also set for bound functions that can be used as constructors and proxies that have a [[Construct]] internal method). This way we have a single chokepoint for IsConstructor checking, which allows us to get rid of the various ways in which we tried to guess whether something could be used as a constructor or not. Drive-by-fix: Renamed IsConstructor on FunctionKind to IsClassConstructor to resolve the weird name clash, and the IsClassConstructor name also matches the spec. R=jarin@chromium.org, rossberg@chromium.org BUG=v8:4430 LOG=n Review URL: https://codereview.chromium.org/1358423002 Cr-Commit-Position: refs/heads/master@{#30900}
-
- 23 Sep, 2015 1 commit
-
-
jkummerow authored
BUG=chromium:527994 LOG=n Review URL: https://codereview.chromium.org/1358393004 Cr-Commit-Position: refs/heads/master@{#30889}
-
- 22 Sep, 2015 1 commit
-
-
bmeurer authored
Slow path for relational comparison of boolean primitive values now goes through the runtime, which made the slow path even slower than it already was. So in order to repair the regression, we just track boolean feedback for comparisons and use that to generate decent code in Crankshaft (not the best possible code, but good enough for Crankshaft; TurboFan will be able to do better on that). R=jarin@chromium.org BUG=chromium:534200 LOG=n Review URL: https://codereview.chromium.org/1347063004 Cr-Commit-Position: refs/heads/master@{#30860}
-
- 21 Sep, 2015 1 commit
-
-
bmeurer authored
Previously we only collected the known map for equality comparisons. But if we also collect it for relational comparisons, we can inline a fast path of ToPrimitive on the objects, which is especially interesting since both sides have the same map. For now we only inline a very limited subset of ToPrimitive in Crankshaft, which is when the receiver map (and its prototype chain) doesn't have @@toPrimitive, and both valueOf and toString are the default versions on the %ObjectPrototype%. In this case the relational comparison would reduce to a string comparison of "[object CLASS]" with itself and so we can reduce that to a boolean constant plus map checks on both left and right hand side, plus code dependencies on the prototype chain. This repairs the regression on box2d. R=jkummerow@chromium.org BUG=chromium:534200 LOG=n Review URL: https://codereview.chromium.org/1355113002 Cr-Commit-Position: refs/heads/master@{#30852}
-
- 18 Sep, 2015 1 commit
-
-
jkummerow authored
This extends instrumentation added in r30683 and r30768 to cover the possibility that the root cause we're after is in optimized code. This CL is intended to be reverted in a couple of days, but should cause no harm while it's in the tree (we would crash anyway). BUG=chromium:527994 LOG=n Review URL: https://codereview.chromium.org/1348823003 Cr-Commit-Position: refs/heads/master@{#30819}
-
- 17 Sep, 2015 1 commit
-
-
chunyang.dai authored
port 1e00bb57 (r30737). original commit message: (reason for revert/reland: patch incorrectly left --vector-stores flag on, helpfully revealing some gcstress issues to look at, but they don't need to block this CL). Some pretty hacky code was used to carry out the tail-call handler dispatch on ia32 vector stores due to a lack of free registers. It really tanks performance. A better approach is to use a virtual register on the isolate. BUG= Review URL: https://codereview.chromium.org/1344383002 Cr-Commit-Position: refs/heads/master@{#30781}
-
- 16 Sep, 2015 1 commit
-
-
mvstanton authored
This will catch an invalid receiver before being passed to a load ic miss handler in the runtime. BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1351493002 Cr-Commit-Position: refs/heads/master@{#30768}
-
- 15 Sep, 2015 1 commit
-
-
mvstanton authored
(reason for revert/reland: patch incorrectly left --vector-stores flag on, helpfully revealing some gcstress issues to look at, but they don't need to block this CL). Some pretty hacky code was used to carry out the tail-call handler dispatch on ia32 vector stores due to a lack of free registers. It really tanks performance. A better approach is to use a virtual register on the isolate. BUG= TBR=jkummerow@chromium.org, vogelheim@chromium.org Review URL: https://codereview.chromium.org/1346573002 Cr-Commit-Position: refs/heads/master@{#30737}
-
- 14 Sep, 2015 2 commits
-
-
machenbach authored
Revert of VectorICs: ia32 store ics need a virtual register. (patchset #3 id:40001 of https://codereview.chromium.org/1336313002/ ) Reason for revert: [Sheriff] Breaks GC stress on mac: http://build.chromium.org/p/client.v8/builders/V8%20Mac%20GC%20Stress/builds/2536 Original issue's description: > VectorICs: ia32 store ics need a virtual register. > > Some pretty hacky code was used to carry out the tail-call > handler dispatch on ia32 vector stores due to a lack > of free registers. It really tanks performance. A better > approach is to use a virtual register on the isolate. > > BUG= > > Committed: https://crrev.com/b26e98f19b5e77df50cb4a259f099ee6afa335e3 > Cr-Commit-Position: refs/heads/master@{#30718} TBR=jkummerow@chromium.org,vogelheim@chromium.org,mvstanton@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1340123002 Cr-Commit-Position: refs/heads/master@{#30719}
-
mvstanton authored
Some pretty hacky code was used to carry out the tail-call handler dispatch on ia32 vector stores due to a lack of free registers. It really tanks performance. A better approach is to use a virtual register on the isolate. BUG= Review URL: https://codereview.chromium.org/1336313002 Cr-Commit-Position: refs/heads/master@{#30718}
-
- 10 Sep, 2015 3 commits
-
-
jkummerow authored
LoadICs must always return a JS-accessible value (nothing internal). Dictionary property keys are guaranteed to be unique names. BUG=chromium:527994 LOG=n Review URL: https://codereview.chromium.org/1334673003 Cr-Commit-Position: refs/heads/master@{#30683}
-
bmeurer authored
Replace the ADD, SUB, etc. builtins with proper runtime implementations, and expose them as runtime calls that can be used by the code stubs and the interpreter (for now). Also remove all the support runtime functions for ADD, SUB and friends, namely %NumberAdd, %NumberSub, and so on. R=mstarzinger@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg Review URL: https://codereview.chromium.org/1333843002 Cr-Commit-Position: refs/heads/master@{#30680}
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1330153003 Cr-Commit-Position: refs/heads/master@{#30676}
-
- 09 Sep, 2015 2 commits
-
-
mbrandy authored
Port 40fbed06 Original commit message: The last changes for vector store functionality, they are in 3 areas: 1) The new vector [keyed] store code stubs - implementation. 2) IC and handler compiler adjustments 3) Odds and ends. A change in ast.cc, a test update, a small Oracle fix. R=mvstanton@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1330883002 Cr-Commit-Position: refs/heads/master@{#30657}
-
mvstanton authored
On a call to Array(), we patched a call ic. This CL makes do with a single dispatcher which inlines the special handling for the Array() call case, loading the allocation site found in the vector and calling the array constructor stub appropriately. BUG= Review URL: https://codereview.chromium.org/1332563003 Cr-Commit-Position: refs/heads/master@{#30649}
-
- 07 Sep, 2015 2 commits
-
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1307743011 Cr-Commit-Position: refs/heads/master@{#30614}
-
chunyang.dai authored
port 40fbed06 (r30581) original commit message: The last changes for vector store functionality, they are in 3 areas: 1) The new vector [keyed] store code stubs - implementation. 2) IC and handler compiler adjustments 3) Odds and ends. A change in ast.cc, a test update, a small Oracle fix. BUG= Review URL: https://codereview.chromium.org/1311413007 Cr-Commit-Position: refs/heads/master@{#30612}
-
- 05 Sep, 2015 1 commit
-
-
ishell authored
[arm] Decrease the size of the assembler class by allocating buffers of pending constants on the heap. BUG=chromium:521828 LOG=N Review URL: https://codereview.chromium.org/1310863005 Cr-Commit-Position: refs/heads/master@{#30602}
-
- 04 Sep, 2015 3 commits
-
-
ishell authored
Revert of [arm] Decrease the size of the assembler class by allocating buffers of pending constants on the he… (patchset #2 id:20001 of https://codereview.chromium.org/1309903009/ ) Reason for revert: Static assert failed on ARM64 Original issue's description: > [arm] Decrease the size of the assembler class by allocating buffers of pending constants on the heap. > > BUG=chromium:521828 > LOG=N > > Committed: https://crrev.com/033af3fa511c52bc4049cd278d0623a6c6f9f9c3 > Cr-Commit-Position: refs/heads/master@{#30592} TBR=jkummerow@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=chromium:521828 Review URL: https://codereview.chromium.org/1307863007 Cr-Commit-Position: refs/heads/master@{#30593}
-
ishell authored
[arm] Decrease the size of the assembler class by allocating buffers of pending constants on the heap. BUG=chromium:521828 LOG=N Review URL: https://codereview.chromium.org/1309903009 Cr-Commit-Position: refs/heads/master@{#30592}
-
mvstanton authored
The last changes for vector store functionality, they are in 3 areas: 1) The new vector [keyed] store code stubs - implementation. 2) IC and handler compiler adjustments 3) Odds and ends. A change in ast.cc, a test update, a small Oracle fix. TBR=bmeurer@chromium.org, jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/1319123004 Cr-Commit-Position: refs/heads/master@{#30581}
-
- 03 Sep, 2015 2 commits
-
-
machenbach authored
Revert of Vector ICs: platform support for vector-based stores. (patchset #7 id:120001 of https://codereview.chromium.org/1328603003/ ) Reason for revert: [Sheriff] Breaks compile on arm: http://build.chromium.org/p/client.v8/builders/V8%20Arm%20-%20builder/builds/6590 Original issue's description: > Vector ICs: platform support for vector-based stores. > > The last changes for vector store functionality, they are in 3 areas: > > 1) The new vector [keyed] store code stubs - implementation. > 2) IC and handler compiler adjustments > 3) Odds and ends. A change in ast.cc, a test update, a small Oracle fix. > > BUG= > > Committed: https://crrev.com/63af1b3aec6547e7cdf502666ff79c562de8b679 > Cr-Commit-Position: refs/heads/master@{#30570} TBR=bmeurer@chromium.org,jkummerow@chromium.org,mvstanton@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Review URL: https://codereview.chromium.org/1303053004 Cr-Commit-Position: refs/heads/master@{#30571}
-
mvstanton authored
The last changes for vector store functionality, they are in 3 areas: 1) The new vector [keyed] store code stubs - implementation. 2) IC and handler compiler adjustments 3) Odds and ends. A change in ast.cc, a test update, a small Oracle fix. BUG= Review URL: https://codereview.chromium.org/1328603003 Cr-Commit-Position: refs/heads/master@{#30570}
-
- 01 Sep, 2015 2 commits
-
-
mvstanton authored
BUG= Review URL: https://codereview.chromium.org/1326483002 Cr-Commit-Position: refs/heads/master@{#30512}
-
mstarzinger authored
This CL us a pure refactoring that makes an empty compilation unit including just "isolate.h" or "contexts.h" but not "objects-inl.h" compile without warnings or errors. This is needed to further reduce the header dependency tangle. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1322883002 Cr-Commit-Position: refs/heads/master@{#30500}
-
- 28 Aug, 2015 1 commit
-
-
mvstanton authored
We can set the property in the MISS handler before organizing our handlers for element-based keyed stores. Since the property set may fail with an exception, this saves work. BUG= Review URL: https://codereview.chromium.org/1308073010 Cr-Commit-Position: refs/heads/master@{#30444}
-
- 27 Aug, 2015 2 commits
-
-
mstarzinger authored
This makes it clear that only components within the "heap" directory should be friends with the Heap class. The two notable exceptions are Factory and Isolate which represent external interfaces into the heap. R=mlippautz@chromium.org Review URL: https://codereview.chromium.org/1320843002 Cr-Commit-Position: refs/heads/master@{#30408}
-
yangguo authored
R=bmeurer@chromium.org, mstarzinger@chromium.org, rmcilroy@chromium.org Review URL: https://codereview.chromium.org/1316943002 Cr-Commit-Position: refs/heads/master@{#30402}
-
- 26 Aug, 2015 2 commits
-
-
mbrandy authored
Port fe432e1a R=mvstanton@chromium.org, jyan@ca.ibm.com, dstence@us.ibm.com, joransiu@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1321483003 Cr-Commit-Position: refs/heads/master@{#30394}
-
mvstanton authored
For vector-based keyed store ics, we need to know the current KeyedAccessStore mode on ic MISS, and to produce optimized code. We can't store this mode, which can change on any MISS in the IC without patching. Therefore, this CL makes sure that the information is redundantly available in the handlers embedded in the IC. This way, when --vector-stores is turned on, we'll be able to extract that information from the vector which maintains a list of these handlers. BUG= Review URL: https://codereview.chromium.org/1312693004 Cr-Commit-Position: refs/heads/master@{#30378}
-
- 21 Aug, 2015 1 commit
-
-
chunyang.dai authored
port fe432e1a (r30250). original commit message: BUG= Review URL: https://codereview.chromium.org/1303973004 Cr-Commit-Position: refs/heads/master@{#30296}
-
- 20 Aug, 2015 1 commit
-
-
mvstanton authored
The map tells us the source elements kind, and holeyness. BUG= Review URL: https://codereview.chromium.org/1303813004 Cr-Commit-Position: refs/heads/master@{#30274}
-
- 19 Aug, 2015 1 commit
-
-
mvstanton authored
BUG= Review URL: https://codereview.chromium.org/1299213002 Cr-Commit-Position: refs/heads/master@{#30250}
-