- 24 Sep, 2015 2 commits
-
-
danno authored
Revert of Remove register index/code indirection (patchset #17 id:320001 of https://codereview.chromium.org/1287383003/ ) Reason for revert: Failures on greedy RegAlloc, Fuzzer Original issue's description: > Remove register index/code indirection > > 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. > > Committed: https://crrev.com/80bc6f6e11f79524e3f1ad05579583adfd5f18b2 > Cr-Commit-Position: refs/heads/master@{#30913} TBR=akos.palfi@imgtec.com,bmeurer@chromium.org,jarin@chromium.org,paul.lind@imgtec.com,titzer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1365073002 Cr-Commit-Position: refs/heads/master@{#30914}
-
danno authored
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. Review URL: https://codereview.chromium.org/1287383003 Cr-Commit-Position: refs/heads/master@{#30913}
-
- 11 Sep, 2015 1 commit
-
-
mlippautz authored
BUG=chromium:524425 LOG=N Review URL: https://codereview.chromium.org/1332283002 Cr-Commit-Position: refs/heads/master@{#30695}
-
- 20 Apr, 2015 1 commit
-
-
Ross McIlroy authored
R=jochen@chromium.org Review URL: https://codereview.chromium.org/1088993003 Cr-Commit-Position: refs/heads/master@{#27937}
-
- 12 Dec, 2014 1 commit
-
-
svenpanne authored
FINAL implies OVERRIDE, which in turn implies virtual, so there's no need to use more than one of these. The Google C++ style guide even requires this, see http://google-styleguide.googlecode.com/svn/trunk/cppguide.html#Inheritance. While we're here, port r24662 to x87. The net result is that v8 compiles again with a current clang. BUG=v8:3753 LOG=y Review URL: https://codereview.chromium.org/797943002 Cr-Commit-Position: refs/heads/master@{#25792}
-
- 11 Sep, 2014 1 commit
-
-
mvstanton@chromium.org authored
of code stubs are too complex to be described this way, and they are encoded with the macro DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR(). Along the way: * allowed inheritance of CallInterfaceDescriptors. * Defined static Register methods for some of the new CallInterfaceDescriptors. We could go a lot further here, but it doesn't have to be done immediately. * Added Representation arrays to some CallInterfaceDescriptors, especially where future hydrogen versions of the stubs could benefit from this knowledge. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/551043005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Sep, 2014 1 commit
-
-
yangguo@chromium.org authored
R=dcarney@chromium.org, marja@chromium.org Review URL: https://codereview.chromium.org/559913002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Sep, 2014 2 commits
-
-
yangguo@chromium.org authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/545163002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/542613003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Sep, 2014 1 commit
-
-
yangguo@chromium.org authored
This has become obsolete since hydrogenized StringAdd. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/544613002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Sep, 2014 3 commits
-
-
yangguo@chromium.org authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/530343005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/535733004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/527933002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Sep, 2014 1 commit
-
-
yangguo@chromium.org authored
- ICCompareStub - BinaryOpICStub - CompareNilICStub - VectorLoadStub R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/529773002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Aug, 2014 1 commit
-
-
yangguo@chromium.org authored
Eventually, all stubs should encode its properties in the minor key so that stubs can be restored directly from the stub key. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/502713003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Aug, 2014 1 commit
-
-
verwaest@chromium.org authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/483683005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Aug, 2014 1 commit
-
-
bmeurer@chromium.org authored
This way we don't clash with the ASSERT* macros defined by GoogleTest, and we are one step closer to being able to replace our homegrown base/ with base/ from Chrome. R=jochen@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/430503007 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jul, 2014 1 commit
-
-
svenpanne@chromium.org authored
Note that until everything is OStream-based, there are a few places where we have to do some impedance matching. A few accessors had to be const-corrected on the way. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/334763003 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
Also split v8-core independent methods from checks.h to base/logging.h and merge v8checks with the rest of checks. The CPU::FlushICache method is moved to CpuFeatures::FlushICache RoundUp and related methods are moved to base/macros.h Remove all layering violations from src/libplatform BUG=none R=jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/358363002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jun, 2014 1 commit
-
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org Review URL: https://codereview.chromium.org/333013002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Jun, 2014 1 commit
-
-
yangguo@chromium.org authored
The optimizations are unnecessary since the maximum string length they operate on is currently 12. R=bmeurer@chromium.org BUG=352155 LOG=N Review URL: https://codereview.chromium.org/326943002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jun, 2014 1 commit
-
-
jochen@chromium.org authored
- this avoids using relative include paths which are forbidden by the style guide - makes the code more readable since it's clear which header is meant - allows for starting to use checkdeps BUG=none R=jkummerow@chromium.org, danno@chromium.org LOG=n Review URL: https://codereview.chromium.org/304153016 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 May, 2014 1 commit
-
-
yangguo@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/284503002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 May, 2014 1 commit
-
-
yangguo@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/275433004 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Apr, 2014 1 commit
-
-
svenpanne@chromium.org authored
This parameter will soon be used when a few pseudo-classes like Serializer are turned into real classes. The current CL is already big enough, untying our Gordian knot called "startup" will continue... BUG=359977 LOG=y R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/260003006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/259183002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Apr, 2014 1 commit
-
-
svenpanne@chromium.org authored
This is a purely mechanical change, adding an Isolate* to the CodeStub constructor and a corresponding field plus a getter. A few methods in CodeStub and its subclasses can be simplified now, but this is done in a separate CL. The underlying reason apart from simplicity is that deep down in the call chain we need to detect if the serializer is active or not. This information will be part of the Isolate, not a global variable with funky synchronization primitives around it (which is fundamentally wrong and the underlying cause for race conditions and a catch-22 during initialization). BUG=359977 LOG=y R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/246643014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Mar, 2014 1 commit
-
-
ulan@chromium.org authored
BUG=353954 LOG=N R=ulan@chromium.org Review URL: https://codereview.chromium.org/203593014 Patch from Dmitry Zvorygin <zvorygin@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Mar, 2014 1 commit
-
-
hpayer@chromium.org authored
BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/185233008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Jan, 2014 1 commit
-
-
bmeurer@chromium.org authored
BUG=v8:2990 LOG=n R=hpayer@chromium.org Review URL: https://codereview.chromium.org/144023009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Dec, 2013 1 commit
-
-
svenpanne@chromium.org authored
It was only used for Math.log, and even then only in full code and in %_MathLog. For crankshafted code, Intel already used the FP operations directly, while the ARM/MIPS ports were a bit lazy and simply called the stub. The latter directly call the C library now without any cache. It would be possible to directly generate machine code if somebody has the time, from what I've seen out in the wild it should be only about a dozen instructions. LOG=y R=yangguo@chromium.org Review URL: https://codereview.chromium.org/113343003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Nov, 2013 1 commit
-
-
bmeurer@chromium.org authored
This also removes the fixed register hack that was required to support RecordWriteStub in the snapshot. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/96853003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Oct, 2013 1 commit
-
-
jkummerow@chromium.org authored
ia32 and x64 more consistent now 1. use non-transcendental cache version of log for x64 2. use negative infinity constant instead of pushing to stack and loading to XMM register 3. remove movdbl, use movsd directly. movdbl seems confusing BUG= R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/27197013 Patch from Weiliang Lin <weiliang.lin2@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Sep, 2013 1 commit
-
-
bmeurer@chromium.org authored
This adds a BuildLookupNumberStringCache() in Hydrogen, which will be used by the hydrogen version of StringAddStub, in addition to the hydrogen version of NumberToStringStub. R=mvstanton@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=16874 Review URL: https://codereview.chromium.org/23726041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Sep, 2013 2 commits
-
-
machenbach@chromium.org authored
This reverts commit 16874 for breaking the tests. TBR=bmeurer@chromium.org Review URL: https://codereview.chromium.org/23440064 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
This adds a BuildLookupNumberStringCache() in Hydrogen, which will be used by the hydrogen version of StringAddStub, in addition to the hydrogen version of NumberToStringStub. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/23726041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Sep, 2013 1 commit
-
-
bmeurer@chromium.org authored
This renames the method to LookupNumberStringCache() and puts it into the MacroAssembler in preparation of the NumberToStringStub Hydrogen conversion. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/23618056 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Sep, 2013 1 commit
-
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/24031003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Jul, 2013 2 commits
-
-
bmeurer@chromium.org authored
Avoid duplication of StringAddFlags in the platform specific code stubs header files. Fix the inverted flag logic, replacing it with a scheme that is easier to understand. Depends on: https://codereview.chromium.org/19541003 R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/19492006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
object_is_smi was always false so there's no need to actually have it. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/19541007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-