- 03 Nov, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=jarin@chromium.org TEST=mjsunit/compiler/regress-register-allocator2 Review URL: https://codereview.chromium.org/697053002 Cr-Commit-Position: refs/heads/master@{#25054} git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@25054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Oct, 2014 1 commit
-
-
bmeurer@chromium.org authored
TEST=mjsunit/compiler,unittests R=titzer@chromium.org Review URL: https://codereview.chromium.org/671393002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Oct, 2014 1 commit
-
-
verwaest@chromium.org authored
BUG= R=verwaest@chromium.org, jarin@chromium.org, jkummerow@chromium.org Review URL: https://codereview.chromium.org/588573002 Patch from Petka Antonov <p.antonov@partner.samsung.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Oct, 2014 1 commit
-
-
jkummerow@chromium.org authored
It has been turned on by default for a long time, and hydrogenized BinaryOpStubs actually depend on it being turned on. BUG=v8:3487 LOG=n R=ishell@chromium.org Review URL: https://codereview.chromium.org/630023002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Sep, 2014 1 commit
-
-
titzer@chromium.org authored
Minor compiler pipeline refactoring. Inline UpdateSharedFunctionInfo and make Parser::Parse responsible for setting the strict mode of the CompilationInfo. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/555553003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Sep, 2014 1 commit
-
-
titzer@chromium.org authored
R=jarin@chromium.org BUG=411262 Review URL: https://codereview.chromium.org/544213002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Sep, 2014 1 commit
-
-
titzer@chromium.org authored
R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/543643002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Aug, 2014 1 commit
-
-
Jacob.Bramley@arm.com authored
The `right == 0` checks only worked for `0 <= right < 32`. This patch replaces the checks with simple tests for negative results. The attached test can detect this error, but the test relies on a broken flag (--noopt-safe-uint32-operations), so it is skipped for now. See issue 3487 for details. BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/487913005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Jun, 2014 1 commit
-
-
mstarzinger@chromium.org authored
R=svenpanne@chromium.org TEST=mjsunit/compiler/inline-arguments Review URL: https://codereview.chromium.org/356773002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Jun, 2014 1 commit
-
-
dcarney@chromium.org authored
This reverts commit r21840. R=danno@chromium.org LOG=y BUG=chromium:385565 Review URL: https://codereview.chromium.org/347573002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Jun, 2014 1 commit
-
-
verwaest@chromium.org authored
- May inline the function, or call it directly, instead of going through call - Supports arguments object escaping when it escapes to builtins (preparation for slice.call(arguments, ...) optimization) - Both .call and .apply now support inlining when calling builtins indirectly BUG= R=verwaest@chromium.org, rossberg@chromium.org Review URL: https://codereview.chromium.org/335683002 Patch from Petka Antonov <p.antonov@partner.samsung.com>. git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 May, 2014 1 commit
-
-
hpayer@chromium.org authored
BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/271843005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 May, 2014 1 commit
-
-
hpayer@chromium.org authored
Revert "Limit old space size in test which require a large new space." This reverts commit r21103. Revert "Remove max space limits in tests." This reverts commit r21104. BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/263103006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Apr, 2014 2 commits
-
-
hpayer@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/263703003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/265673003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Mar, 2014 2 commits
-
-
dslomov@chromium.org authored
This splits all runtime function into 3 categories: 1) RUNTIME: implemented in runtime and called from both full and optimized code. 2) RUNTIME_HIDDEN: implemented in runtime, never called directly from JS builtins. 3) INLINE: inlined in both full and optimized code 4) INLINE_OPTIMIZED: inlined in optimized code, implemented in runtime for full code. R=yangguo@chromium.org, yannguo@chromium.org Review URL: https://codereview.chromium.org/209353006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
titzer@chromium.org authored
BUG= R=hpayer@chromium.org Review URL: https://codereview.chromium.org/100253004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Mar, 2014 1 commit
-
-
ulan@chromium.org authored
BUG=v8:3156 LOG=N R=yangguo@chromium.org Review URL: https://codereview.chromium.org/180053003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2014 1 commit
-
-
svenpanne@chromium.org authored
Added a test to check the various division-like operations more exhaustively. R=bmeurer@chromium.org, ulan@chromium.org Review URL: https://codereview.chromium.org/194863002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Feb, 2014 1 commit
-
-
ishell@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/162903005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Feb, 2014 1 commit
-
-
ulan@chromium.org authored
BUG=v8:3113 LOG=Y R=jochen@chromium.org, rmcilroy@chromium.org, rodolph.perfetta@arm.com Review URL: https://codereview.chromium.org/148293020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Feb, 2014 1 commit
-
-
ishell@chromium.org authored
BUG=338425 LOG=N R=verwaest@chromium.org Review URL: https://codereview.chromium.org/152923006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Feb, 2014 1 commit
-
-
ishell@chromium.org authored
Reland of r19102: Check elimination improvement: propagation of state through phis is supported, CheckMap narrowing implemented with tests. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/146623006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Jan, 2014 1 commit
-
-
ishell@chromium.org authored
Load elimination fix: load should not be replaced with another load if the former is not dominated by the latter. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/151333003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jan, 2014 1 commit
-
-
jarin@chromium.org authored
version is passing all the existing test + a bunch of new tests (packaged in the change list, too). The patch extends the SlotRef object to describe captured and duplicated objects. Since the SlotRefs are not independent of each other anymore, there is a new SlotRefValueBuilder class that stores the SlotRefs and later materializes the objects from the SlotRefs. Note that unlike the previous implementation of SlotRefs, we now build the SlotRef entries for the entire frame, not just the particular function. This is because duplicate objects might refer to previous captured objects (that might live inside other inlined function's part of the frame). We also need to store the materialized objects between other potential invocations of the same arguments object so that we materialize each captured object at most once. The materialized objects of frames live in the new MaterielizedObjectStore object (contained in Isolate), indexed by the frame's FP address. Each argument materialization (and deoptimization) tries to lookup its captured objects in the store before building new ones. Deoptimization also removes the materialized objects from the store. We also schedule a lazy deopt to be sure that we always get rid of the materialized objects and that the optmized function adopts the materialized objects (instead of happily computing with its captured representations). Concerns: - Is the FP address the right key for a frame? (Note that deoptimizer's representation of frame is different from the argument object materializer's one - it is not easy to find common ground.) - Performance is suboptimal in several places, but a quick local run of benchmarks does not seem to show a perf hit. Examples of possible improvements: smarter generation of SlotRefs (build other functions' SlotRefs only for captured objects and only if necessary), smarter lookup of stored materialized objects. - Ideally, we would like to share the code for argument materialization with deoptimizer's materializer. However, the supporting data structures (mainly the frame descriptor) are quite different in each case, so it looks more like a separate project. Thanks for any feedback. R=danno@chromium.org, mstarzinger@chromium.org LOG=N BUG= Committed: https://code.google.com/p/v8/source/detail?r=18918 Review URL: https://codereview.chromium.org/103243005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Jan, 2014 2 commits
-
-
jarin@chromium.org authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/130803009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jarin@chromium.org authored
mostly to make sure that it is going in the right direction. The current version is passing all the existing test + a bunch of new tests (packaged in the change list, too). The patch extends the SlotRef object to describe captured and duplicated objects. Since the SlotRefs are not independent of each other anymore, there is a new SlotRefValueBuilder class that stores the SlotRefs and later materializes the objects from the SlotRefs. Note that unlike the previous implementation of SlotRefs, we now build the SlotRef entries for the entire frame, not just the particular function. This is because duplicate objects might refer to previous captured objects (that might live inside other inlined function's part of the frame). We also need to store the materialized objects between other potential invocations of the same arguments object so that we materialize each captured object at most once. The materialized objects of frames live in the new MaterielizedObjectStore object (contained in Isolate), indexed by the frame's FP address. Each argument materialization (and deoptimization) tries to lookup its captured objects in the store before building new ones. Deoptimization also removes the materialized objects from the store. We also schedule a lazy deopt to be sure that we always get rid of the materialized objects and that the optmized function adopts the materialized objects (instead of happily computing with its captured representations). Concerns: - Is there a simpler/more correct way to store the already-materialized objects? (At the moment there is a custom root reference to JSArray containing frames' FixedArrays with their captured objects.) - Is the FP address the right key for a frame? (Note that deoptimizer's representation of frame is different from the argument object materializer's one - it is not easy to find common ground.) - Performance is suboptimal in several places, but a quick local run of benchmarks does not seem to show a perf hit. Examples of possible improvements: smarter generation of SlotRefs (build other functions' SlotRefs only for captured objects and only if necessary), smarter lookup of stored materialized objects. - Ideally, we would like to share the code for argument materialization with deoptimizer's materializer. However, the supporting data structures (mainly the frame descriptor) are quite different in each case, so it looks more like a separate project. Thanks for any feedback. R=mstarzinger@chromium.org, danno@chromium.org LOG=N BUG= Review URL: https://codereview.chromium.org/103243005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Jan, 2014 1 commit
-
-
ishell@chromium.org authored
R=titzer@chromium.org, verwaest@chromium.org Review URL: https://codereview.chromium.org/143413019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Jan, 2014 1 commit
-
-
machenbach@chromium.org authored
Many skipped test cases already run very fast. Removing the corresponding expectations. BUG= R=jkummerow@chromium.org, mvstanton@chromium.org Review URL: https://codereview.chromium.org/138503008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Jan, 2014 1 commit
-
-
jarin@chromium.org authored
by escape analysis). Added several tests that expose the bug. Summary: LCodegen::AddToTranslation assumes that Lithium environments are generated by depth-first traversal, but LChunkBuilder::CreateEnvironment was generating them in breadth-first fashion. This fixes the CreateEnvironment to traverse the captured objects depth-first. Note: It might be worth considering representing LEnvironment by a list with the same order as the serialized translation representation rather than having two lists with a subtle relationship between them (and then serialize in a slightly different order again). R=titzer@chromium.org, mstarzinger@chromium.org LOG=N BUG= Review URL: https://codereview.chromium.org/93803003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Dec, 2013 1 commit
-
-
yangguo@chromium.org authored
Goals: - easier to read, more suitable identifiers. - better distinction between compiling optimized/unoptimized code - compiler does not install code on the function. - easier to add features (e.g. caching optimized code for osr). - remove unnecessary code. R=titzer@chromium.org Review URL: https://codereview.chromium.org/110203002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Dec, 2013 1 commit
-
-
titzer@chromium.org authored
BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/106973005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Dec, 2013 1 commit
-
-
titzer@chromium.org authored
BUG= R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/106733002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Dec, 2013 1 commit
-
-
titzer@chromium.org authored
BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/98323004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Dec, 2013 1 commit
-
-
titzer@chromium.org authored
BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/99043002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Nov, 2013 1 commit
-
-
titzer@chromium.org authored
BUG= R=yangguo@chromium.org Review URL: https://codereview.chromium.org/95193002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Nov, 2013 2 commits
-
-
yangguo@chromium.org authored
R=ishell@chromium.org Review URL: https://codereview.chromium.org/85163003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=ishell@chromium.org Review URL: https://codereview.chromium.org/85473004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Nov, 2013 1 commit
-
-
yangguo@chromium.org authored
The changes are (excluding presubmit.py) mechanical. I added the following lines after the check and iterated the presubmit script until all errors went away: f = open(name, "w"); if contents.endswith('\n\n'): f.write(contents[0:-1]) else: f.write(contents + '\n') R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/82803005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Nov, 2013 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/63423004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-