- 07 Mar, 2014 28 commits
-
-
alexandre.rames@arm.com authored
This patch: - uses named registers - reserves all the stack space in one go to avoid operations on csp - uses LDP/STP to copy the arguments R=jochen@chromium.org Review URL: https://codereview.chromium.org/184103003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alexandre.rames@arm.com authored
Notes about a few TODOs handled in this patch: * In ProfileEntryHookStub::Generate: Stubs are always called with relocation. * In CreateArrayDispatchOneArgument: The branches to registers can't be conditional. We could use a jump table, but there are only 6 different kinds so it is likely not worth it. * In Builtins::Generate_StringConstructCode: Rename the argc register (x0) after its meaning changes. Remove a TODO: using a macro would not make the code clearer. * In Generate_JSEntryTrampolineHelper: Remove the TODO and raise an internal issue to investigate this. * In Disassembler::SubstituteBranchTargetField: Print the target address, but we don't have more info on the target. R=ulan@chromium.org Review URL: https://codereview.chromium.org/185793002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
This relands r19704 with a fix to the test case. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/189823003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Revert "Handle non-power-of-2 divisors in division-like operations", "A64 tweaks for division-like operations." and "Windows build fix.". This reverts commit 19719, 19720 and 19721 because mozilla/ecma/Date/15.9.3.1-1 fails (in release mode only?). TBR=bmeurer@chromium.org Review URL: https://codereview.chromium.org/189963005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
TBR=ulan@chromium.org Review URL: https://codereview.chromium.org/189093009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/190603003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/190383002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
When object is creating via native V8 API calls JS callstack is empty and the allocation is indistinguishable from say compiler allocations. This change adds a separate entry for such allocations. Since FunctionInfo not necessarily corresponds to a heap object they are now referred to using their index in the list of all FunctionInfos. BUG=chromium:277984 LOG=N R=loislo@chromium.org, mstarzinger@chromium.org Review URL: https://codereview.chromium.org/177203002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
This will reduce heavy ScopeIterator instantiations. Once incorporated into chromium, will give 30% speed boost. BUG=chromium:340285 LOG=Y R=ulan@chromium.org, Yang, rossberg, ulan Review URL: https://codereview.chromium.org/181063008 Patch from Andrey Adaykin <aandrey@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
The new test didn't recognize that non-sse2 builds on ia32 would disable crankshaft. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/189263007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Lithium currently supports 3 division-like operations on integral operands: "Normal" division (rounding towards zero), flooring division (rounding towards -Infinity) and modulus calculation (the counterpart for the "normal" division). For divisors which are a power of 2, one can efficiently use some bit fiddling to avoid the actual division for such operations. This CL cleanly splits off these operations into separate Lithium instructions, making the code much more maintainable and more consistent across platforms. There are 2 basic variations of these bit fiddling algorithms: One involving branches and a seemingly more clever one without branches. Choosing between the two is not as easy as it seems: Benchmarks (and probably real-world) programs seem to favor positive dividends, registers and shifting units are sometimes scarce resources, and branch prediction is quite good in modern processors. Therefore only the "normal" division by a power of 2 is implemented in a branch-free manner, this seems to be the best approach in practice. If this turns out to be wrong, we can easily and locally change this. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/175143002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
Cache results of some heavy calls into C++. This alone will boost the speed up to 18% on some real world scenarios. BUG=chromium:340285 LOG=Y R=ulan@chromium.org, yangguo@chromium.org, Yang, rossberg, ulan, yurys Review URL: https://codereview.chromium.org/184483004 Patch from Andrey Adaykin <aandrey@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/188543004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
Type Vector followup: the type vector currently lives off the code object. This CL moves it to the SharedFunctionInfo, facilitating re-use and continued use in crankshafted code if desired. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/178463007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
BUG=142141 LOG=Y R=rossberg@chromium.org Review URL: https://codereview.chromium.org/173793002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
This reverts r19704. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/189533008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
Due to performance regression. BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/189843006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
baptiste.afsa@arm.com authored
This patch avoid to push some values on the stack when it's not needed. R=ulan@chromium.org Review URL: https://codereview.chromium.org/183193005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/188923003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
Symbols for type cells. We can make more efficient code to check against type cells in the future if we use symbols, guaranteed not to conflict with user code. Currently, the "symbols" are the hole and undefined. Undefined may come in from the outside. BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/181283003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
baptiste.afsa@arm.com authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/184433002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/178583006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Each item in INLINE_RUNTIME_FUNCTION_LIST had to have a duplicate entry in RUNTIME_FUNCTION_LIST in order to match the comment. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/177313005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
marja@chromium.org authored
This feature makes it possible to associate data with a script and get it back when the script is compiled or when an event is handled. It was historically used by Chromium Dev Tools, but not any more. It is not used by node.js. Note: this has nothing to do with the preparse data, despite the confusing name. The preparse data is passed as ScriptData*. Note 2: This is the same as r19616 ( https://codereview.chromium.org/184403002/ ) with a unused variable fix in bootstrapper.cc. R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/185533014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/179533003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/188483002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=dcarney@chromium.org BUG=v8:3180 LOG=N Review URL: https://codereview.chromium.org/180063002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Also drop redundant jmp instruction in deferred code. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/182723003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Mar, 2014 12 commits
-
-
jkummerow@chromium.org authored
R=titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/186593005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ishell@chromium.org authored
Fix for failing asserts in HBoundsCheck code generation on x64: use proper cmp operation width instead of asserting that Integer32 values should be zero extended. Similar to chromium:345820. BUG=349465 LOG=N R=verwaest@chromium.org Review URL: https://codereview.chromium.org/188703002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
BUG=chromium:349878 LOG=y R=yangguo@chromium.org Review URL: https://codereview.chromium.org/186123003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/182253008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
When we set an out of bounds array index, the index might be so large that it causes the array to go to dictionary mode. It's better to avoid "learning" that this was a growing store in that case. This fix also partially reverts a fix for bug 347543, as this fix is comprehensive and satisfies that repro case as well (partial revert of v19591). BUG=349874 LOG=N R=verwaest@chromium.org Review URL: https://codereview.chromium.org/188643002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG=349874 LOG=N R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/176843018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19690 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
BUG=chromium:349853 LOG=n R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/183753005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
VPrintHelper would silently ignore the stream given to it if application is in GUI mode (no console is attached) and redirect output to the debugger via OutputDebugString. Such redirection makes sense only if passed stream is either stderr or stdout. Don't redirect any other stream to the debugger. Reorder clauses in VPrintHelper to make condition more readable. BUG= R=yangguo@chromium.org Review URL: https://codereview.chromium.org/177413006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG=349870 LOG=N Review URL: https://codereview.chromium.org/182003004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/181013014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
If the replacer array contains a property key we should include the property even if the property is non enumerable or if it is a non own property. String and Number wrappers in the replacer array should be treated as string and number values. R=yangguo@chromium.org BUG=v8:3200, v8:3201 LOG=Y Review URL: https://codereview.chromium.org/187053003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/187353005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-