- 07 Nov, 2013 1 commit
-
-
svenpanne@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/64013002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Nov, 2013 1 commit
-
-
machenbach@chromium.org authored
When --optimize-for-size is true, the prologue generation outputs the pre-aging code stub address directly to the instruction stream. Previously this was done using dd() which failed if there was any pending constant pool entries left to be written. This CL introduces an emit_code_stub_address() for this purpose instead. BUG=v8:2968 R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/47743007 Patch from Ross McIlroy <rmcilroy@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Oct, 2013 1 commit
-
-
olivf@chromium.org authored
BUG= R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/26680002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Sep, 2013 1 commit
-
-
rodolph.perfetta@gmail.com authored
BUG=none TEST=none R=ulan@chromium.org Review URL: https://codereview.chromium.org/24596002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Sep, 2013 1 commit
-
-
ulan@chromium.org authored
First stage of implementing an out-of-line constant pool on Arm. This CL frees up register r7 for use as a constant pool pointer in later stages. BUG= R=ulan@chromium.org Review URL: https://chromiumcodereview.appspot.com/21063002 Patch from Ross McIlroy <rmcilroy@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Sep, 2013 1 commit
-
-
olivf@chromium.org authored
BUG= R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/23523060 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Sep, 2013 1 commit
-
-
rodolph.perfetta@gmail.com authored
It is replaced by a mov_label_offset(Register, Label*) instruction. BUG=none TEST=test/cctest/test-assembler-arm.cc R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/23515007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Aug, 2013 1 commit
-
-
bmeurer@chromium.org authored
The first jump to a specific label was marked as jump to absolute position -4. This value was stored in the assembly as a branch to a offset (-4 - (instruction offset + 8)). The offset is only 24 bit long on ARM. Thus instruction offsets higher than 2^23 - 12 would overflow the offset. Fix by denoting the first jump to a label by storing the jump instruction location as the target. This will result in offset of -8, which of course always fits in the branch instruction. BUG=2736 TEST=cctest/test-assembler-arm/17 R=bmeurer@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/17116006 Patch from Kimmo Kinnunen <kkinnunen@nvidia.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Jul, 2013 1 commit
-
-
m.m.capewell@googlemail.com authored
This patch prevents taking the low/high part of a double-precision VFP register that has no corresponding single-precision VFP registers. BUG=none TEST=Added to test-disasm-arm.cc, test-assembler-arm.cc Review URL: https://codereview.chromium.org/19560003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Jul, 2013 1 commit
-
-
rodolph.perfetta@gmail.com authored
Add support for a few NEON and ARM SIMD instructions and use them for various memcpy operations. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/17858002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2013 1 commit
-
-
rodolph.perfetta@gmail.com authored
Refactoring: * consistent use of SmiTag/Untag * added a few Smi macros and helpers Improvements * small optimisations (e.g. merging untag and cmp #0) * added fixed point to double conversion instructions for simpler conversions More on the last point: a Smi can be seen as a fixed point number with the a one bit fractional part. Fixed to double instructions allow us to convert a Smi to a double without untagging. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/15085026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Apr, 2013 1 commit
-
-
rodolph.perfetta@gmail.com authored
BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/14188016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Apr, 2013 1 commit
-
-
rodolph.perfetta@gmail.com authored
This patch defines new makefile command line paramaters to better control the ARM specific options. The new paramters are * armfpu = vfp, vfpv3-d16, vfpv3, neon. * armfloatabi = softfp, hard * armneon = on * armthumb = on, off * armtest = on One existing paratemer has been modified: * armv7 = true, false A number of parameters have been deprecated (but are still working): * hardfp = on, off * vfp2 = off * vfp3 = off the armtest paratmer when set to "on" will lock the options used during compile time at runtime. This allows for example to easily test the ARMv6 build on an ARMv7 platform without having to worry about features detected at runtime. When not specified the compiler default will be used meaning it is not necessary anymore to specify hardfp=on when natively building on an hardfp platform. The shell help now prints the target options and features detected. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/14263018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Apr, 2013 1 commit
-
-
rodolph.perfetta@gmail.com authored
BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/14121006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Apr, 2013 1 commit
-
-
danno@chromium.org authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/13560007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Mar, 2013 1 commit
-
-
mvstanton@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/12391033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Mar, 2013 1 commit
-
-
svenpanne@chromium.org authored
First of all, it has nothing to do with Isolates, it is related to the assembler at hand. Furthermore, the saving/restoring is platform-independent. Cleaned up some platform-specific stuff on the way. Note that there are some things which still need some cleanup, like e.g. using EnumSet instead of uint64_t, making Probe() more uniform across platforms etc., but the CL is already big enough. BUG=v8:2487 Review URL: https://codereview.chromium.org/12391055 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Feb, 2013 1 commit
-
-
ulan@chromium.org authored
BUG=none Review URL: https://chromiumcodereview.appspot.com/12319113 Patch from Hans Wennborg <hans@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Feb, 2013 1 commit
-
-
ulan@chromium.org authored
This patch makes us generate faster code for DoStoreKeyedFixedDoubleArray, by using a branch rather than a conditional Vmov instruction. Conditional VFP instructions are not a great idea in general, and it was especially bad in this case because Vmov expands to a bunch of instructions. For this reason, the patch also removes the 'cond' parameter from Vmov. Thanks to Rodolph for pointing me to this! BUG=none Review URL: https://chromiumcodereview.appspot.com/12316096 Patch from Hans Wennborg <hans@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Feb, 2013 1 commit
-
-
ulan@chromium.org authored
The assembler has 8 different vmov variants. The one for vmov.32 and for moving an immediate into a double reg only differs in the type of the second paremeter: vmov.32 takes an int, the other takes a double. The situation is dangerous because C++ will happily implicitly convert between int and double. This patch changes the signature of the vmov.32 assembler function so that it cannot be confused with the other vmovs. BUG=none Review URL: https://chromiumcodereview.appspot.com/12255031 Patch from Hans Wennborg <hans@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Feb, 2013 1 commit
-
-
danno@chromium.org authored
This includes: * Adding support for saving callee-clobbered double registers in Crankshaft code. * Adding a new "HTrapAllocationMemento" hydrogen instruction to handle AllocationSiteInfo data in crankshafted stubs. * Adding a new "HAllocate" hydrogen instruction that can allocate raw memory from the GC in crankshafted code. * Support for manipulation of the hole in HChange instructions for Crankshafted stubs. * Utility routines to manually build loops and if statements containing hydrogen code. Review URL: https://codereview.chromium.org/11659022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Jan, 2013 1 commit
-
-
ulan@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/11428137 Patch from Hans Wennborg <hans@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Jan, 2013 1 commit
-
-
ulan@chromium.org authored
This CL only does renaming, nothing else. Followup to: https://chromiumcodereview.appspot.com/11695006/ There are now NONE and NONE64 RelocInfo types, but only ARM uses them both at the same time. They were added in: https://chromiumcodereview.appspot.com/11191029/ R= ulan@chromium.org Review URL: https://chromiumcodereview.appspot.com/11744020 Patch from JF Bastien <jfb@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Dec, 2012 1 commit
-
-
ulan@chromium.org authored
This requires constant blinding before it can be enabled. There are other interesting optimizations that can be added later, detailed in a TODO. BUG=optimization R=ulan@chromium.org,mstarzinger@chromium.org, hwennborg@google.com Review URL: https://chromiumcodereview.appspot.com/11191029 Patch from JF Bastien <jfb@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Dec, 2012 1 commit
-
-
danno@chromium.org authored
R=jkummerow@chromium.org Review URL: https://chromiumcodereview.appspot.com/11528003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Dec, 2012 1 commit
-
-
danno@chromium.org authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/11498006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Dec, 2012 1 commit
-
-
danno@chromium.org authored
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure. Committed: https://code.google.com/p/v8/source/detail?r=13105 Committed: https://code.google.com/p/v8/source/detail?r=13117 Review URL: https://codereview.chromium.org/10701054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Dec, 2012 2 commits
-
-
danno@chromium.org authored
TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/11415261 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure. Committed: https://code.google.com/p/v8/source/detail?r=13105 Review URL: https://codereview.chromium.org/10701054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Nov, 2012 2 commits
-
-
danno@chromium.org authored
TBR=jkummerow@chromium.org Review URL: https://codereview.chromium.org/11414262 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure. Review URL: https://codereview.chromium.org/10701054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Nov, 2012 1 commit
-
-
svenpanne@chromium.org authored
This removed a lot of copy-n-paste code and is very handy for some upcoming changes (regarding predictable code size). Review URL: https://codereview.chromium.org/11416133 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Nov, 2012 1 commit
-
-
ulan@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/11293061 Patch from Hans Wennborg <hans@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Nov, 2012 2 commits
-
-
svenpanne@chromium.org authored
Review URL: https://codereview.chromium.org/11312165 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Review URL: https://codereview.chromium.org/11359127 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Oct, 2012 1 commit
-
-
ulan@chromium.org authored
The previously-used instruction isn't guaranteed to always be undefined, and the encoding used was conditional (failing the condition on an undefined instruction is itself undefined and not guaranteed to fault!). I would have like to use a more clever encoding (see bug 2963), but we need the extra bits to encode the size of the constant pool. BUG=security R=ulan@chromium.org Review URL: https://chromiumcodereview.appspot.com/11242002 Patch from JF Bastien <jfb@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Oct, 2012 2 commits
-
-
danno@chromium.org authored
R=ulan@chromium.org Review URL: https://codereview.chromium.org/11185052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12759 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Some ARM architectures load 32-bit immediate constants more efficiently using movw/movt pairs rather than constant pool loads. This patch allows the assembler to generate one or the other load form at runtime depending on what is faster. R=ulan@chromium.org Review URL: https://codereview.chromium.org/11037023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Oct, 2012 1 commit
-
-
ulan@chromium.org authored
R=mstarzinger@chromium.org,jfb@chromium.org Review URL: https://chromiumcodereview.appspot.com/11087047 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Oct, 2012 1 commit
-
-
danno@chromium.org authored
Also added support for the runtime detection to check if hardware supports SDIV/UDIV Other new opportunities to exploit SDIV/UDIV will be done in separate issues. Review URL: https://chromiumcodereview.appspot.com/10977051 Patch from Subrato K De <subratokde@codeaurora.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-