- 15 Sep, 2015 21 commits
-
-
chunyang.dai authored
port 9fc4fc14 (r30695). BUG= Review URL: https://codereview.chromium.org/1339293002 Cr-Commit-Position: refs/heads/master@{#30743}
-
mlippautz authored
R=hpayer@chromium.org BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1340253004 Cr-Commit-Position: refs/heads/master@{#30742}
-
chunyang.dai authored
port 39604dda (r30693). original commit message: Just use a %ThrowStackOverflow runtime function instead, which does the trick, especially since the Isolate already has a preallocated StackOverflow error for that. BUG= Review URL: https://codereview.chromium.org/1344793002 Cr-Commit-Position: refs/heads/master@{#30741}
-
chunyang.dai authored
port 622fa0ea (r30691). original commit message: Currently we do this dance between the CallConstructStub, the CALL_* builtins and the %GetConstructorDelegate, %GetProxyTrap, and %Apply runtime functions for every [[Construct]] operation on non-function callables. This is complexity is unnecessary, and can be simplified to work without any JS builtin. This will also make it a lot easier to implement ES6 compliant [[Construct]] for proxies. Also sanitize the invariant for CallConstructStub, which up until now always restored the context itself, but that force us to always create another copy of all arguments in case of proxies and other callables, so we can relax that constraint by making the caller restore the context (this only affects fullcodegen, since the optimizing compilers already properly restore the context anyway). BUG= Review URL: https://codereview.chromium.org/1341233002 Cr-Commit-Position: refs/heads/master@{#30740}
-
chunyang.dai authored
X87: Vector ICs: The Oracle needs to report feedback for the object literals and the count operation. port 752b0308 (r30686). original commit message: The refactoring is because it's awkward and error-prone to deterimine which IC slot an ObjectLiteralProperty uses for feedback. The fix is for each one to know it's own slot. In the numbering pass, we allocate slots for the ObjectLiteral, then hand out those slots into the properties. It adds one word to the ObjectLiteralProperty expression - I'm investigating if thats a problem. This changes makes compiling the object literal cleaner across the three compilers. Also, the slot allocation logic in ObjectLiteral::ComputeFeedbackRequirements() was refactoring to mimic the style in full-codegen. This is useful since it must remain in sync with FullCodegen::VisitObjectLiteral(). BUG= Review URL: https://codereview.chromium.org/1341223002 Cr-Commit-Position: refs/heads/master@{#30739}
-
mstarzinger authored
The assumption that every function body produces a value does not hold for functions that e.g. unconditionally throw or endlessly loop. This fixes the inlining logic to handle such cases. R=bmeurer@chromium.org TEST=mjsunit/regress/regress-crbug-530598 BUG=chromium:530598 LOG=n Review URL: https://codereview.chromium.org/1333193005 Cr-Commit-Position: refs/heads/master@{#30738}
-
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}
-
cbruni authored
Returning a result array with holey elements kind in where we actually have a packed kind causes performance regressions. LOG=N BUG=chromium:531357 Review URL: https://codereview.chromium.org/1340033002 Cr-Commit-Position: refs/heads/master@{#30736}
-
mstarzinger authored
This models the materialization of arguments objects in the prologue within the IR graph. It will in turn allow us to optimize access to these objects and also correctly handle them with inlining. R=bmeurer@chromium.org,mvstanton@chromium.org TEST=cctest/test-run-jsobjects/Arguments* Review URL: https://codereview.chromium.org/1344553003 Cr-Commit-Position: refs/heads/master@{#30735}
-
machenbach authored
BUG=chromium:515782 LOG=n Review URL: https://codereview.chromium.org/1333133003 Cr-Commit-Position: refs/heads/master@{#30734}
-
brettw authored
The conditionals were added to facilitate a two-sided build GN config update where the default optimization config was renamed. This is complete so the transitional code can be removed. Review URL: https://codereview.chromium.org/1338163003 Cr-Commit-Position: refs/heads/master@{#30733}
-
oth authored
Reported by Bruce Dawson. BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1346453002 Cr-Commit-Position: refs/heads/master@{#30732}
-
machenbach authored
NOTRY=true Review URL: https://codereview.chromium.org/1341213002 Cr-Commit-Position: refs/heads/master@{#30731}
-
hablich authored
I noticed after reading a few GitHub comments that the information about contributing to V8 is hard to find. I think it makes sense to add this information to the README. NOTRY=true R=jochen@chromium.org, seththompson@chromium.org LOG=N Review URL: https://codereview.chromium.org/1342803004 Cr-Commit-Position: refs/heads/master@{#30730}
-
Ilija.Pavlovic authored
Remove incorrect usage of callee-saved FPU regs (f20 and above). Also remove unnecessary push/pop which were occasionally unpaired, and caused crash. TEST=cctest/test-assembler-mips[64] BUG= Review URL: https://codereview.chromium.org/1338713004 Cr-Commit-Position: refs/heads/master@{#30729}
-
neis authored
R=jarin BUG= Review URL: https://codereview.chromium.org/1340023003 Cr-Commit-Position: refs/heads/master@{#30728}
-
machenbach authored
Revert of [crankshaft] Re-add fast-case for string add left/right. (patchset #1 id:1 of https://codereview.chromium.org/1339053002/ ) Reason for revert: [Sheriff] Fails mozilla with deadcode: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20deadcode/builds/5357 Original issue's description: > [crankshaft] Re-add fast-case for string add left/right. > > Now the StringAddStub can optionally convert it's parameters to strings > (following the rules for the addition operator). This could be further > optimized once we have a ToPrimitiveStub, but it should be sufficient > for the moment. > > Also removed the unused Strength parameter to the HStringAdd operator, > because string addition does not depend on language mode. > > CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_win_nosnap_shared_rel,v8_linux_nosnap_dbg > R=mstarzinger@chromium.org > BUG=v8:4307 > LOG=n > > Committed: https://crrev.com/d261849e53fbf8c36efae42d478271f87acff70f > Cr-Commit-Position: refs/heads/master@{#30726} TBR=mstarzinger@chromium.org,jarin@chromium.org,bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4307 Review URL: https://codereview.chromium.org/1347473003 Cr-Commit-Position: refs/heads/master@{#30727}
-
bmeurer authored
Now the StringAddStub can optionally convert it's parameters to strings (following the rules for the addition operator). This could be further optimized once we have a ToPrimitiveStub, but it should be sufficient for the moment. Also removed the unused Strength parameter to the HStringAdd operator, because string addition does not depend on language mode. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_win_nosnap_shared_rel,v8_linux_nosnap_dbg R=mstarzinger@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1339053002 Cr-Commit-Position: refs/heads/master@{#30726}
-
jarin authored
Review URL: https://codereview.chromium.org/1333353005 Cr-Commit-Position: refs/heads/master@{#30725}
-
v8-autoroll authored
Rolling v8/buildtools to f7310ee61725e68b1c8921e381830362cf4f0999 TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org Review URL: https://codereview.chromium.org/1342063002 Cr-Commit-Position: refs/heads/master@{#30724}
-
alph authored
Filtering out functions does not allow sample processor to figure out if a sample hit a non-frame region of a function. The filtering should be done in the frontend. BUG=chromium:529931 LOG=N Review URL: https://codereview.chromium.org/1337743002 Cr-Commit-Position: refs/heads/master@{#30723}
-
- 14 Sep, 2015 18 commits
-
-
mbrandy authored
Port eadfd666 Original commit message: The String constructor was somewhat complex with a lot of micro optimizations that are not relevant or even misguided. It would be really hard to port that code to ES6, which requires String to be subclassable. So as a first step we reduced the necessary complexity to the bare minimum (also removing the last user of the fairly complex MacroAssembler::LookupNumberStringCache method). This also removes the counters for the String constructor, which were not properly exposed anymore (and not kept in sync with inlined versions of the String constructor anyway). R=bmeurer@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/1339143002 Cr-Commit-Position: refs/heads/master@{#30722}
-
mbrandy authored
Port e7fb2339 Original commit message: Adds support for JS calls to the interpreter. In order to support calls from the interpreter, the PushArgsAndCall builtin is added which pushes a sequence of arguments onto the stack and calls builtin::Call. Adds the Call bytecode. R=rmcilroy@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1345543002 Cr-Commit-Position: refs/heads/master@{#30721}
-
gdeepti authored
Enhance the perf runner to run with the profiler and print the summary for each d8 run. This automates running the profiler with multiple benchmarks. BUG=None LOG=N TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/1327033003 Cr-Commit-Position: refs/heads/master@{#30720}
-
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}
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1341763002 Cr-Commit-Position: refs/heads/master@{#30717}
-
mstarzinger authored
This prevents the internal objects-visiting.h to be usable outisde of the "heap" directory. The static object visitation is only usefull within the GC and is now properly encapsulated. R=hpayer@chromium.org,mlippautz@chromium.org Review URL: https://codereview.chromium.org/1328003002 Cr-Commit-Position: refs/heads/master@{#30716}
-
cbruni authored
BUG= Review URL: https://codereview.chromium.org/1338983003 Cr-Commit-Position: refs/heads/master@{#30715}
-
mlippautz authored
Parallel compaction, i.e., concurrently moving of objects (and code) requires proper synchronization in the logger. R=hpayer@chromium.org BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1338253002 Cr-Commit-Position: refs/heads/master@{#30714}
-
mlippautz authored
BUG=chromium:531322 LOG=N R=jochen@chromium.org Review URL: https://codereview.chromium.org/1337943005 Cr-Commit-Position: refs/heads/master@{#30713}
-
mstarzinger authored
This moves scavenging functionality into a separate component so that neither the scavenger nor objects-visiting need to be exposed outside the heap. R=hpayer@chromium.org,mlippautz@chromium.org Review URL: https://codereview.chromium.org/1323993004 Cr-Commit-Position: refs/heads/master@{#30712}
-
cbruni authored
LOG=N BUG=chromium:531348 Review URL: https://codereview.chromium.org/1344493004 Cr-Commit-Position: refs/heads/master@{#30711}
-
rmcilroy authored
Adds support for JS calls to the interpreter. In order to support calls from the interpreter, the PushArgsAndCall builtin is added which pushes a sequence of arguments onto the stack and calls builtin::Call. Adds the Call bytecode. MIPS port contributed by akos.palfi@imgtec.com in https://codereview.chromium.org/1334873002/ BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1323463005 Cr-Commit-Position: refs/heads/master@{#30710}
-
neis authored
BUG= Review URL: https://codereview.chromium.org/1331553002 Cr-Commit-Position: refs/heads/master@{#30709}
-
neis authored
Also clarify some comments. R=jarin@chromium.org BUG= Review URL: https://codereview.chromium.org/1328193003 Cr-Commit-Position: refs/heads/master@{#30708}
-
bmeurer authored
These builtins present an optimization for the general addition case, where one side is already known to be a string. Unfortunately this optimization is wrong in the presence of @@toPrimitive (there are some ideas how to implement a similar optimization using the prototype backpointer mechanism that jkummerow@ introduced earlier). So this also removes the broken %_IsStringWrapperSafeForDefaultValueOf, which is the key part of the optimization mentioned above. R=mstarzinger@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1336273002 Cr-Commit-Position: refs/heads/master@{#30707}
-
bmeurer authored
The String constructor was somewhat complex with a lot of micro optimizations that are not relevant or even misguided. It would be really hard to port that code to ES6, which requires String to be subclassable. So as a first step we reduced the necessary complexity to the bare minimum (also removing the last user of the fairly complex MacroAssembler::LookupNumberStringCache method). This also removes the counters for the String constructor, which were not properly exposed anymore (and not kept in sync with inlined versions of the String constructor anyway). R=jarin@chromium.org Review URL: https://codereview.chromium.org/1335193002 Cr-Commit-Position: refs/heads/master@{#30706}
-
cbruni authored
In certiain cases the ArgumentsIteratorSetter would trigger an invalid state in the LookupIterator when being overridden. This is now solved by bypassing the SetDataProperty and directly using DefinePropertyOrElementIgnoringAttributes since we know exactly which property we're going to install LOG=N BUG=chromium:521484 Review URL: https://codereview.chromium.org/1332873002 Cr-Commit-Position: refs/heads/master@{#30705}
-
- 13 Sep, 2015 1 commit
-
-
tandrii authored
R=machenbach@chromium.org BUG=530941 NOTRY=true NOPRESUBMIT=true Review URL: https://codereview.chromium.org/1340773002 Cr-Commit-Position: refs/heads/master@{#30704}
-