日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

程序设计基石与实践系列之失落的C语言结构体封装艺术

發布時間:2024/1/18 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 程序设计基石与实践系列之失落的C语言结构体封装艺术 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

英文來源于 Eric S. Raymond-- The Lost Art of C Structure Packing

誰該閱讀這篇文章

本文是關于削減C語言程序內存占用空間的一項技術——為了減小內存大小而手工重新封裝C結構體聲明。你需要C語言的基本知識來讀懂本文。

如果你要為內存有限制的嵌入式系統、或者操作系統內核寫代碼,那么你需要懂這項技術。如果你在處理極大的應用程序數據集,以至于你的程序常常達到內存的界限時,這項技術是有幫助的。在任何你真的真的需要關注將高速緩存行未命中降到最低的應用程序里,懂得這項技術是很好的。

最后,理解該技術是一個通往其他深奧的C語言話題的入口。直到你掌握了它,你才成為一個高端的C程序員。直到你可以自己寫出這篇文檔并且可以理智地評論它,你才成為一位C語言大師。

我為什么寫這篇文章

本文之所以存在,是因為在2013年底,我發現我自己在大量使用一項C語言的優化技術,我早在二十多年前就已經學會了該技術,不過在那之后并沒怎么使用過。

我需要減小一個程序的內存占用空間,它用了幾千——有時是幾十萬個——C結構體的實例。這個程序是cvs-fast-export,而問題在于處理巨大的代碼庫時,它曾因內存耗盡的錯誤而瀕臨崩潰。

在這類情況下,有好些辦法能極大地減少內存使用的,比如小心地重新安排結構體成員的順序之類的。這可以獲得巨大的收益——在我的事例中,我能夠減掉大約40%的工作區大小,使得程序能夠在不崩潰的情況下處理大得多的代碼庫。

當我解決這個問題,并且回想我所做的工作時,我開始發現,我在用的這個技術現今應被忘了大半了。一個網絡調查確認,C程序員好像已經不再談論該技術了,至少在搜索引擎可以看到的地方不談論了。有幾個維基百科條目觸及了這個話題,但是我發現沒人能全面涵蓋。

實際上這個現象也是有合理的理由的。計算機科學課程(應當)引導人們避開細節的優化而去尋找更好的算法。機器資源價格的暴跌已經使得壓榨內存用量變 得不那么必要了。而且,想當年,駭客們曾經學習如何使用該技術,使得他們在陌生的硬件架構上撞墻了——現在已經不太常見的經歷。

但是這項技術仍然在重要的場合有價值, 并且只要內存有限,就能永存。本文目的就是讓C程序員免于重新找尋這項技術,而讓他們可以集中精力在更重要的事情上。

對齊要求(Alignment Requirement)

要明白的第一件事是,在現代處理器上,你的C編譯器在內存里對基本的C數據類型的存放方式是受約束的,為的是內存訪問更快。

在x86或者ARM處理器上,基本的C數據類型的儲存一般并不是起始于內存中的任意字節地址。而是,每種類型,除了字符型以外,都有對齊要求;字符 可以起始于任何字節地址,但是2字節的短整型必須起始于一個偶數地址,4字節整型或者浮點型必須起始于被4整除的地址,以及8字節長整型或者雙精度浮點型 必須起始于被8整除的地址。帶符號與不帶符號之間沒有差別。

這個的行話叫:在x86和ARM上,基本的C語言類型是自對齊(self-aligned)的。指針,無論是32位(4字節)亦或是64位(8字節)也都是自對齊的。

自對齊使得訪問更快,因為它使得一條指令就完成對類型化數據的取和存操作。沒有對齊的約束,反過來,代碼最終可能會不得不跨越機器字的邊界做兩次或更多次訪問。字符是特殊的情況;無論在一個單機器字中的何處,存取的花費都是一樣的。那就是為什么字符型沒有被建議對齊。

我說“在現代的處理器上”是因為,在一些舊的處理器上,強制讓你的C程序違反對齊約束(比方說,將一個奇數的地址轉換成一個整型指針,并試圖使用 它)不僅會使你的代碼慢下來,還會造成非法指令的錯誤。比如在Sun的SPARC芯片上就曾經這么干。實際上,只要夠決心并在處理器上設定正確(e18) 的硬件標志位,你仍然可以在x86上觸發此錯誤。

此外,自對齊不是唯一的可能的規則。歷史上,一些處理器(特別是那些缺少移位暫存器的)有更強的限制性規則。如果你做嵌入式系統,你也許會在跌倒在這些叢林陷阱中。注意,這是有可能的。

有時你可以通過編譯指示,強制讓你的編譯器不使用處理器正常的對齊規則,通常是#pragmapack。不要隨意使用,因為它會導致產生開銷更大、更慢的代碼。使用我在這里描述的技術,通常你可以節省同樣或者幾乎同樣多的內存。

#pragma pack的唯一好處是,如果你不得不將你的C語言數據分布精確匹配到某些位級別的硬件或協議的需求,比如一個內存映射的硬件端口,要求違反正常的對齊才能奏效。如果你遇到那種情況,并且你還未理解我在這里寫的這一切,你會有大麻煩的,我只能祝你好運了。

填充(Padding)

現在我們來看一個簡單變量在內存里的分布的例子。考慮在C模塊的最頂上的以下一系列的變量聲明:

char *p; char c; int x;

如果你不知道任何關于數據對齊的事情,你可能會假設這3個變量在內存里會占據一個連續字節空間。那也就是說,在一個32位機器上,指針的4字節,之后緊接著1字節的字符型,且之后緊接著4字節的整型。在64位機器只在指針是8字節上會有所不同。

這里是實際發生的(在x86或ARM或其他任何有自對齊的處理器類型)。p的存儲地址始于一個自對齊的4字節或者8字節邊界,取決于機器的字長。這是指針對齊——可能是最嚴格的情況。

緊跟著的是c的存儲地址。但是x的4字節對齊要求,在內存分布上造成了一個間隙;變成了恰似第四個變量插在其中,像這樣:

char *p; /* 4 or 8 bytes */ char c; /* 1 byte */ char pad[3]; /* 3 bytes */ int x; /* 4 bytes */

pad[3]字符數組表示了一個事實,結構體中有3字節的無用的空間。 老派的術語稱之為“slop(水坑)”。

比較如果x是2字節的短整型會發生什么

char *p; char c; short x;在那個情況下,實際的內存分布會變成這樣:
char *p; /* 4 or 8 bytes */ char c; /* 1 byte */ char pad[1]; /* 1 byte */ short x; /* 2 bytes */ 另一方面,如果x是一個在64位機上的長整型

char *p; char c; long x;最終我們會得到:

char *p; /* 8 bytes */ char c; /* 1 byte char pad[7]; /* 7 bytes */ long x; /* 8 bytes */如果你已仔細看到這里,現在你可能會想到越短的變量聲明先聲明的情況:

char c; char *p; int x;如果實際的內存分布寫成這樣:

char c; char pad1[M]; char *p; char pad2[N]; int x;

我們可以說出MN的值嗎?

首先,在這個例子中,N是零。x的地址,緊接在p之后,是保證指針對齊的,肯定比整型對齊更嚴格的。

M的值不太能預測。如果編譯器恰巧把c映射到機器字的最后一個字節,下一個字節(p的第一部分)會成為下一個機器字的第一個字節,并且正常地指針對齊。M為零。

c更可能會被映射到機器字的第一個字節。在那個情況下,M會是以保證p指針對齊而填補的數——在32位機器上是3,64位機器上是7。

如果你想讓那些變量占用更少的空間,你可以通過交換原序列中的xc來達到效果。

char *p; /* 8 bytes */ long x; /* 8 bytes */ char c; /* 1 byte*/

通常,對于C程序里少數的簡單變量,你可以通過調整聲明順序來壓縮掉極少幾個字節數,不會有顯著的節約。但當用于非標量變量(nonscalarvariables),尤其是結構體時,這項技術會變得更有趣。

在我們講到非標量變量之前,讓我們講一下標量數組。在一個有自對齊類型的平臺上,字符、短整型、整型、長整型、指針數組沒有內部填充。每個成員會自動自對齊到上一個之后(譯者注:原文self-aligned at the end of the next one 似有誤)。

在下一章,我們會看到對于結構體數組,一樣的規則并不一定正確。

結構體的對齊和填充

總的來說,一個結構體實例會按照它最寬的標量成員對齊。編譯器這樣做,把它作為最簡單的方式來保證所有成員是自對齊,為了快速訪問的目的。

而且,在C語言里,結構體的地址與它第一個成員的地址是相同的——沒有前置填充。注意:在C++里,看上去像結構體的類可能不遵守這個規則!(遵不遵守依賴于基類和虛擬內存函數如何實現,而且因編譯器而不同。)

(當你不能確定此類事情時,ANSIC提供了一個offsetof()宏,能夠用來表示出結構體成員的偏移量。)

考慮這個結構體:

struct foo1 {char *p;char c;long x; };假設一臺64位的機器,任何 struct foo1的實例會按8字節對齊。其中的任何一個的內存分布看上去無疑應該像這樣:

struct foo1 {char *p; /* 8 bytes */char c; /* 1 bytechar pad[7]; /* 7 bytes */long x; /* 8 bytes */ }; 它的分布就恰好就像這些類型的變量是單獨聲明的。但是如果我們把c放在第一個,這就不是了。
struct foo2 {char c; /* 1 byte */char pad[7]; /* 7 bytes */char *p; /* 8 bytes */long x; /* 8 bytes */ };

如果成員是單獨的變量,c可以起始于任何字節邊界,并且pad的大小會不同。但因為struct foo2有按其最寬成員進行的指針對齊,那就不可能了。現在c必須于指針對齊,之后7個字節的填充就被鎖定了。

現在讓我們來說說關于在結構體成員的尾隨填充(trailing padding)。要解釋這個,我需要介紹一個基本概念,我稱之為結構體的跨步地址(strideaddress)。它是跟隨結構體數據后的第一個地址,與結構體擁有同樣對齊方式

結構體尾隨填充的通常規則是這樣的:編譯器的行為就如把結構體尾隨填充到它的跨步地址。這條規則決定了sizeof()的返回值。

考慮在64位的x86或ARM上的這個例子:

struct foo3 {char *p; /* 8 bytes */char c; /* 1 byte */ };struct foo3 singleton; struct foo3 quad[4]; 你可能會認為,sizeof(struct foo3)應該是9,但實際上是16。跨步地址是(&p)[2]的地址。如此,在quad數組中,每個成員有尾隨填充的7字節,因為每個跟隨的結構體的第一個成員都要自對齊到8字節的邊界上。內存分布就如結構體像這樣聲明:

struct foo3 {char *p; /* 8 bytes */char c; /* 1 byte */char pad[7]; };作為對照,考慮下面的例子:

struct foo4 {short s; /* 2 bytes */char c; /* 1 byte */ }; 因為s只需對齊到2字節, 跨步地址就只有c后面的一個字節,struct foo4作為一個整體,只需要一個字節的尾隨填充。它會像這樣分布

struct foo4 {short s; /* 2 bytes */char c; /* 1 byte */char pad[1]; };

并且sizeof(struct foo4)會返回4。

現在讓我們考慮位域(bitfield)。它們是你能夠聲明比字符寬度還小的結構體域,小到1位,像這樣:

struct foo5 {short s;char c;int flip:1;int nybble:4;int septet:7; };關于位域需要知道的事情是,它們以字或字節級別的掩碼和移位指令來實現。從編譯器的觀點來看, struct foo5的位域看上去像2字節,16位的字符數組里只有12位被使用。接著是填充,使得這個結構體的字節長度成為 sizeof(short)的倍數即最長成員的大小。

struct foo5 {short s; /* 2 bytes */char c; /* 1 byte */int flip:1; /* total 1 bit */int nybble:4; /* total 5 bits */int septet:7; /* total 12 bits */int pad1:4; /* total 16 bits = 2 bytes */char pad2; /* 1 byte */ };這里是最后一個重要的細節:如果你的結構體含有結構體的成員,里面的結構體也需要按最長的標量對齊。假設如果你寫成這樣:

struct foo9 {char c;struct foo9_inner {char *p;short x;} inner; }; 內部結構體的char *p成員使得外部的結構體與內部的一樣成為指針對齊。在64位機器上,實際的分布是像這樣的:

struct foo9 {char c; /* 1 byte*/char pad1[7]; /* 7 bytes */struct foo9_inner {char *p; /* 8 bytes */short x; /* 2 bytes */char pad2[6]; /* 6 bytes */} inner; };

這個結構體給了我們一個啟示,重新封裝結構體可能節省空間。24個字節中,有13個字節是用作填充的。超過50%的無用空間!

結構體重排序(reordering)

現在你知道如何以及為何編譯器要插入填充,在你的結構體之中或者之后,我們要考察你可以做些什么來擠掉這些“水坑”。這就是結構體封裝的藝術。第一件需要注意的事情是,“水坑”僅發生于兩個地方。一個是大數據類型(有更嚴格的對齊要求)的存儲區域緊跟在一個較小的數據類型的存儲區域之后。另一個是結構體自然結束于它的跨步地址之前,需要填充,以使下一個實例可以正確對齊。消除“水坑”的最簡單的方法是按對齊的降序來對結構體成員重排序。就是說:所有指針對齊的子域在前面,因為在64位的機器上,它們會有8字節。接下來是4字節的整型;然后是2字節的短整型;然后是字符域。

因此,舉個例子,考慮這個簡單的鏈表結構體:

struct foo10 {char c;struct foo10 *p;short x; };顯現出隱含的“水坑”,這樣:

struct foo10 {char c; /* 1 byte */char pad1[7]; /* 7 bytes */struct foo10 *p; /* 8 bytes */short x; /* 2 bytes */char pad2[6]; /* 6 bytes */ };24個字節。如果我們按大小重新排序,我們得到:

struct foo11 {struct foo11 *p;short x;char c; };考慮到自對齊,我們看到沒有數據域需要填充。這是因為一個較長的、有較嚴格對齊的域的跨步地址,對于較短的、較不嚴格對齊的域來說,總是合法對齊的起始地址。所有重封裝的結構體實際上需要的只是尾隨填充:

struct foo11 {struct foo11 *p; /* 8 bytes */short x; /* 2 bytes */char c; /* 1 byte */char pad[5]; /* 5 bytes */ };

我們重封裝的轉變把大小降到了16字節。這可能看上去沒什么,但是假設你有一個200k的這樣的鏈表呢?節省的空間累積起來就不小了。注意重排序并不能保證節省空間。把這個技巧運用到早先的例子,struct foo9,我們得到:

struct foo12 {struct foo12_inner {char *p; /* 8 bytes */int x; /* 4 bytes */} inner;char c; /* 1 byte*/ };把填充寫出來,就是這樣

struct foo12 {struct foo12_inner {char *p; /* 8 bytes */int x; /* 4 bytes */char pad[4]; /* 4 bytes */} inner;char c; /* 1 byte*/char pad[7]; /* 7 bytes */ };?它仍然是24字節,因為 c不能轉換到內部結構體成員的尾隨填充。為了獲得節省空間的好處,你需要重新設計你的數據結構。自從發布了這篇指南的第一版,我就被問到了,如果通過重排序來得到最少的“水坑”是如此簡單,為什么C編譯器不自動完成呢?答案是:C語言最初是被設計用來 寫操作系統和其他接近硬件的語言。自動重排序會妨礙到系統程序員規劃結構體,精確匹配字節和內存映射設備控制塊的位級分布的能力。

?難以處理的標量的情況

使用枚舉類型而不是#defines是個好主意,因為符號調試器可以用那些符號并且可以顯示它們,而不是未處理的整數。但是,盡管枚舉要保證兼容整型類型,C標準沒有明確規定哪些潛在的整型類型會被使用。

注意,當重新封裝你的結構體時,雖然枚舉類型變量通常是整型,但它依賴于編譯器;它們可能是短整型、長整型、甚至是默認的字符型。你的編譯器可能有一個編譯指示或者命令行選項來強制規定大小。

long double類型也是個相似的麻煩點。有的C平臺以80位實現,有的是128, 還有的80位的平臺填充到96或128位。

在這兩種情況下,最好用sizeof()來檢查存儲大小。

最后,在x86下,Linux的雙精度類型有時是一個自對齊規則的特例;一個8字節的雙精度數據在一個結構體內可以只要求4字節對齊,雖然單獨的雙精度變量要求8字節的自對齊。這依賴于編譯器及其選項。

可讀性和緩存局部性

盡管按大小重排序是消除“水坑”的最簡單的方式,但它不是必定正確的。還有兩個問題:可讀性和緩存局部性。

程序不只是與計算機的交流,還是與其他人的交流。代碼可讀性是重要的,即便(或者尤其是!)交流的另一方不只是未來的你。

笨拙的、機械的結構體重排序會損害可讀性。可能的話,最好重排域,使得語義相關的數據段緊緊相連,能形成連貫的組群。理想情況下,你的結構體設計應該傳達到你的程序。

當你的程序經常訪問一個結構體,或者結構體的一部分,如果訪問常命中緩存行(當被告知去讀取任何一個塊里單個地址時,你的處理器讀取的整一塊內存)有助于提高性能。在64位x86機上一條緩存行為64字節,始于一個自對齊的地址;在其他平臺上經常是32字節。

你應該做的事情是保持可讀性——把相關的和同時訪問的數據組合到毗鄰的區域——這也會提高緩存行的局部性。這都是用代碼的數據訪問模式的意識,聰明地重排序的原因。

如果你的代碼有多線程并發訪問一個結構體,就會有第三個問題:緩存行反彈(cacheline bouncing)。為了減少代價高昂的總線通信,你應該組織你的數據,使得在緊湊的循環中,從一條緩存行中讀取,而在另一條緩存行中寫。

是的,這與之前關于把相關數據組成同樣大小的緩存行塊的指南有些矛盾。多線程是困難的。緩存行反彈以及其它的多線程優化問題是十分高級的話題,需要整篇關于它們的教程。這里我能做的最好的就就是讓你意識到這些問題的存在。

其它封裝技術

當重排序與其他技術結合讓你的結構體瘦身時效果最好。如果你在一個結構體里有若干布爾型標志,舉個例子,可以考慮將它們減小到1位的位域,并且將它們封裝到結構體里的一個本會成為“水坑”的地方。

為此,你會碰到些許訪問時間上的不利——但是如果它把工作區擠壓得足夠小,這些不利會被避免緩存不命中的得益所掩蓋。

更普遍的,尋找縮小數據域大小的方式。比如在cvs-fast-export里,我用的一項壓縮技術里用到了在1982年之前RCS和CVS代碼庫還不存在的知識。我把64位的Unix time_t(1970年作為起始0日期)減少到32位的、從1982-01-01T00:00:00開始的時間偏移量;這會覆蓋2118年前的日期。(注意:如果你要玩這樣的花招,每當你要設定字段,你都要做邊界檢查以防討厭的錯誤!)

每一個這樣被縮小的域不僅減少了你結構體顯在的大小,還會消除“水坑”,且/或創建額外的機會來得到域重排序的好處。這些效果的良性疊加不難得到。

最 有風險的封裝形式是使用聯合體。如果你知道你結構體中特定的域永遠不會被用于與其他特定域的組合,考慮使用聯合體使得它們共享存儲空間。但你要額外小心, 并且用回歸測試來驗證你的工作,因為如果你的生命周期分析即使有輕微差錯,你會得到各種程序漏洞,從程序崩潰到(更糟糕的)不易發覺的數據損壞。

工具

C語言編譯器有個-Wpadded選項,能使它產生關于對齊空洞和填充的消息。

雖然我自己還沒用過,但是一些反饋者稱贊了一個叫pahole的程序。這個工具與編譯器合作,產生關于你的結構體的報告,記述了填充、對齊及緩存行邊界。

證明及例外

你可以下載一個小程序的代碼,此代碼用來展示了上述標量和結構體大小的論斷。就是packtest.c。

如果你瀏覽足夠多的編譯器、選項和不常見的硬件的奇怪組合,你會發現針對我講述的一些規則的特例。如果你回到越舊的處理器設計,就會越常見。

比知道這些規則更進一步,是知道如何以及何時這些規則會被打破。在我學習它們的那些年(1980年代早期),我們把不懂這些的人稱為“世界都是VAX綜合征”的受害者。記住世界上不只有PC。

版本履歷

1.5 @ 2014-01-03 解釋了為什么不自動做結構體成員的重排序。

1.4 @ 2014-01-06 關于x86Linux下雙精度的注意。

1.3 @ 2014-01-03 關于難以處理的標量實例、可讀性和緩存局部性及工具的段落。

1.2 @ 2014-01-02 修正了一個錯誤的地址計算。

1.1 @ 2014-01-01 解釋為什么對齊的訪問會更快。提及offsetof。各種小修復,包括packtest.c的下載鏈接。

1.0 @ 2014-01-01 初版


關于程序設計基石與實踐更多討論與交流,敬請關注本博客和新浪微博songzi_tea.

總結

以上是生活随笔為你收集整理的程序设计基石与实践系列之失落的C语言结构体封装艺术的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

在线免费观看一区二区三区 | 中文字幕一区二区三区四区 | 麻花豆传媒mv在线观看 | 久久蜜桃av | 成人av片免费观看app下载 | 色综合久久久久久久久五月 | 中文字幕人成不卡一区 | 人人狠狠综合久久亚洲婷 | 国产精品无av码在线观看 | 91麻豆国产 | 免费av在线网站 | 深爱婷婷网| 干干夜夜 | 色视频 在线 | 欧美日韩不卡在线视频 | 免费黄色在线网址 | 国产精品1区2区3区在线观看 | 午夜12点 | 麻豆91在线看 | 亚洲欧美日韩一区二区三区在线观看 | 精品一二 | 国产精品免费不卡 | 五月天中文在线 | 成人在线视 | 久久视精品| 麻豆果冻剧传媒在线播放 | 91视频在线免费下载 | 久久 在线| 亚洲理论视频 | 黄色av观看| 在线 高清 中文字幕 | 久久激情五月丁香伊人 | 久久婷婷国产色一区二区三区 | 欧美日本国产在线观看 | 波多野结衣小视频 | 黄污网站在线观看 | 久久综合影视 | 欧美综合在线视频 | av免费看看 | 国产精品久久 | 国产在线精品区 | 十八岁以下禁止观看的1000个网站 | 伊人成人久久 | 久久久亚洲影院 | 国产精品99爱| 欧美精品亚州精品 | 久久手机免费观看 | 亚洲最大av网 | 欧美热久久| 日韩a在线| 91天天操 | 欧美日韩视频精品 | 国产字幕在线观看 | 国产成人精品午夜在线播放 | avove黑丝| 在线免费黄色毛片 | 国产精品国产三级国产专区53 | 久久久伦理 | 免费精品视频 | 欧美一级大片在线观看 | 成人久久久精品国产乱码一区二区 | 99久久精品国产一区二区三区 | 久久精品网址 | 97小视频 | 中文字幕av在线免费 | 亚洲性xxxx | wwwwwww色| 在线黄色免费av | a国产精品 | 粉嫩av一区二区三区入口 | 日本久久精品 | 欧美成人猛片 | 草久在线观看视频 | 免费特级黄毛片 | 最近在线中文字幕 | 欧美最猛性xxx| 成人午夜精品福利免费 | 中文资源在线官网 | 国产黄大片在线观看 | 黄色精品一区 | 欧美日韩高清一区二区 国产亚洲免费看 | 日韩欧美国产视频 | www亚洲一区| 国语自产偷拍精品视频偷 | 日本黄色免费在线 | 国产中文欧美日韩在线 | 欧美另类成人 | 国产99久久久国产精品免费二区 | 免费久久精品视频 | 日韩欧美99| 成人一区在线观看 | 久久久久亚洲精品中文字幕 | 久久久久久久久久免费 | 高清一区二区三区av | 中文字幕在线观看一区二区三区 | av免费网 | 99视频在线观看一区三区 | 国内外成人免费在线视频 | 91高清视频 | 草久久av | 亚洲三级黄 | 在线观看中文字幕视频 | 久久综合色播五月 | 国产专区视频在线观看 | 91禁看片| 日日夜夜精品免费观看 | 97超碰资源 | 亚洲午夜精品一区二区三区电影院 | 日韩www在线| 成人a级免费视频 | 狠色在线| 五月天免费网站 | 亚洲免费在线视频 | 波多野结衣电影一区二区 | www.xxx.性狂虐| 欧美va天堂va视频va在线 | 91一区啪爱嗯打偷拍欧美 | 国产在线一区二区 | 欧美激情精品 | 亚洲日本国产 | 亚洲欧美成人 | 国产精品麻豆视频 | 伊人成人激情 | 9幺看片 | 久久久久久久久久免费视频 | 九九在线免费视频 | 91麻豆精品国产自产在线 | 久久最新视频 | 欧美 日韩 久久 | 日韩免费在线一区 | 日韩精品视频免费在线观看 | 又爽又黄又刺激的视频 | 天天拍夜夜拍 | 国产亚洲精品免费 | 国产高清视频在线免费观看 | 91中文字幕在线 | 国产精品色婷婷视频 | 中文字幕日韩高清 | 美腿丝袜av | 九九视频一区 | 日韩爱爱网站 | 日韩中文在线电影 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 成人午夜剧场在线观看 | 国产欧美高清 | 人人干干人人 | 色婷婷成人网 | 中文字幕在线观看免费高清完整版 | 亚洲综合色播 | 午夜国产福利在线 | 在线播放你懂 | 久久久久久久毛片 | 四虎伊人 | 99热超碰在线 | 一区二区三区免费在线观看 | 精品 激情| 天天操天天干天天爽 | 国产一级在线观看视频 | 日韩手机在线 | 免费看在线看www777 | 一本色道久久精品 | 久久久免费观看完整版 | 中文字幕影视 | 日韩中文在线观看 | 国产精品涩涩屋www在线观看 | 精品一二三四五区 | 欧美日韩国产一区二区三区在线观看 | 99久久网站 | 91av国产视频 | 99色视频在线| 中文字幕一区二区三 | 亚洲精品国产视频 | 99免费在线视频 | 久热精品国产 | 成年人视频在线免费观看 | 91免费在线看片 | 亚洲成人在线免费 | 九九爱免费视频 | 激情黄色一级片 | 欧美日韩在线观看一区二区 | 久久久久免费视频 | 成人av一区二区兰花在线播放 | 91中文字幕在线播放 | 日韩在线视频一区 | 久久国产精品电影 | 国产黄在线免费观看 | 亚洲精品视频在线观看网站 | 成人毛片久久 | 国产成人综合在线观看 | 欧美视频一区二 | 在线免费观看黄网站 | 99久高清在线观看视频99精品热在线观看视频 | 在线视频久 | 91综合视频在线观看 | 久久亚洲福利 | 久久久久久久久久久免费视频 | 激情在线网| 久久视频这里有精品 | 日韩国产精品久久 | 在线观看免费av网站 | 91精品中文字幕 | 国产自产在线视频 | 99 视频 高清 | av福利超碰网站 | 天天操网站 | 日韩高清一 | 精品一区精品二区 | 婷婷综合伊人 | 日韩欧美精品在线视频 | 狠狠躁日日躁狂躁夜夜躁av | 欧美成人tv | 人人爽人人爱 | 国产精品影音先锋 | 亚洲国产婷婷 | 日韩精品免费一区 | 色88久久| 精品久久久久一区二区国产 | 黄色一级在线免费观看 | 91久久国产露脸精品国产闺蜜 | 午夜久久影视 | 国产精品理论片 | 丁香激情网 | 成人久久久电影 | 另类老妇性bbwbbw高清 | 特及黄色片 | 香蕉视频在线看 | 日韩视频图片 | 色婷婷播放 | 中文字幕在线视频第一页 | 精品国产乱码久久久久久浪潮 | 亚洲丁香日韩 | 人人爽人人爽人人片av | 久久久久北条麻妃免费看 | 久久久久国产免费免费 | 在线免费观看欧美日韩 | 毛片网站观看 | 日韩高清网站 | 黄色的网站在线 | 久久久久中文 | 日本精品久久久久 | 激情网五月 | 色综合久久88色综合天天6 | 人人干人人艹 | 国产美腿白丝袜足在线av | 五月婷婷中文字幕 | 色综合久久久久久久 | 五月婷婷黄色 | 国产不卡免费 | 91夜夜夜| 国产日韩精品一区二区 | 日韩电影在线观看一区 | 国内精品在线一区 | 亚洲精品成人网 | 亚洲一区视频免费观看 | 天天干天天干天天干天天干天天干天天干 | 日本久久成人中文字幕电影 | a黄色影院 | 亚洲五月激情 | 特级西西444www大精品视频免费看 | 黄色免费在线视频 | 婷婷电影在线观看 | 亚洲欧美999| 亚洲国产中文字幕 | 国产一区二区三区免费视频 | 免费日韩一区 | 黄色一级在线观看 | 欧美激情在线看 | 亚洲婷婷在线视频 | 国产午夜精品福利视频 | av在线日韩 | 日本狠狠干 | 成年人免费电影在线观看 | 久久精品综合 | 亚洲国产精久久久久久久 | 久久精品影视 | 免费av片在线 | v片在线看 | 亚洲乱码中文字幕综合 | 日韩一区二区免费播放 | 中文在线字幕免费观看 | 网站免费黄 | 午夜色大片在线观看 | 欧美日韩国产一区二区三区 | 91精品在线播放 | 视频一区二区精品 | 久久久鲁| 天天操夜夜看 | 欧美日韩中文国产一区发布 | 国内精品久久影院 | 黄色一级免费网站 | 中文字幕一区二区在线播放 | 92av视频| www.色五月.com | 97国产视频| 免费看片成年人 | 日日天天干 | 亚洲精品乱码久久久久久蜜桃欧美 | 97视频入口免费观看 | 一级特黄aaa大片在线观看 | 免费在线一区二区 | 91日韩精品一区 | 日韩av片免费在线观看 | 亚洲精品自在在线观看 | 最新日韩中文字幕 | 美国三级黄色大片 | 久草电影在线观看 | 久久久香蕉视频 | 激情综合色综合久久 | 亚洲日本中文字幕在线观看 | 丁香激情综合国产 | 欧美激情精品久久久久久 | 国产精品黄色 | 久精品视频在线观看 | 欧美性黑人| 在线精品视频在线观看高清 | 成人av免费网站 | 在线你懂的视频 | 日本3级在线观看 | 国产成人精品综合久久久 | 国产精品九九久久99视频 | 亚洲最大成人网4388xx | 久久久精品国产一区二区 | 国产精品18久久久久久久久 | 婷婷色在线资源 | 日韩狠狠操 | 五月天精品视频 | 激情影音先锋 | 国产色网 | 久久久不卡影院 | 国产精品v欧美精品v日韩 | 精品国产免费一区二区三区五区 | 97超碰人 | 亚洲第一区在线播放 | 91禁在线看 | 日韩三级视频在线观看 | 成人xxxx| 欧美一区二区日韩一区二区 | 日韩在线高清免费视频 | 日韩二区精品 | 99久久精品免费看国产四区 | 国产淫片免费看 | 日韩视频在线观看视频 | 日韩理论视频 | 天天曰视频 | 特级黄录像视频 | 久久电影色 | 国产精品专区在线 | 激情婷婷色 | 久草国产视频 | 亚洲 欧美 另类人妖 | 亚洲国产午夜精品 | 午夜精品电影 | 久久国产精品99久久久久久老狼 | 久热免费在线观看 | 不卡电影免费在线播放一区 | 91在线小视频 | 五月婷婷天堂 | av黄色在线观看 | 成人小电影在线看 | 国产精品久久久久久久久费观看 | 成人一级黄色片 | 最近日本中文字幕 | 久久这里| 国产你懂的在线 | 免费在线观看av网站 | 欧美男男tv网站 | av免费高清观看 | 久久午夜免费观看 | 久久国产成人午夜av影院潦草 | 四虎国产永久在线精品 | 色网站中文字幕 | 精品伊人久久久 | 久久久久久高潮国产精品视 | 免费看av在线 | 亚洲热久久 | 日韩com | 97在线精品视频 | 国产精品毛片一区二区在线看 | 青草视频在线播放 | 欧美性精品 | 91黄色小网站 | 在线看污网站 | 青青草久草在线 | 久久九九国产视频 | 福利二区视频 | 久久国内精品视频 | 日本黄色免费播放 | 玖玖视频 | 干干夜夜 | a一片一级 | 久久国产精品久久精品 | 日日夜操 | 亚洲精品乱码久久久久久高潮 | av中文字幕在线播放 | 久久综合久久综合这里只有精品 | 久久久观看| 国产香蕉97碰碰久久人人 | 国内精品久久久久久久影视简单 | 婷婷激情五月综合 | 青春草免费视频 | 韩国一区二区av | 涩涩网站在线 | 99热这里只有精品在线观看 | 国内精品久久久久影院日本资源 | 久久资源总站 | 色噜噜在线观看视频 | 欧美一级免费黄色片 | 中文字幕丝袜一区二区 | 丁香色婷婷 | 69精品视频 | 探花系列在线 | 99国产情侣在线播放 | 奇米影视999 | 免费情趣视频 | 伊人伊成久久人综合网站 | 黄色国产高清 | 国产黄色观看 | 美女视频网站久久 | 久久精品国产亚洲aⅴ | 国产大片免费久久 | 丰满少妇高潮在线观看 | 黄色网www | 久久国产精品视频观看 | 国内精品视频免费 | 欧美人交a欧美精品 | 在线看日韩av | 午夜久久久精品 | 国产福利一区二区三区在线观看 | 激情小说网站亚洲综合网 | 久久午夜国产精品 | 黄色小视频在线观看免费 | 人人干人人搞 | 在线 精品 国产 | 成人免费在线观看av | 高清中文字幕 | 欧美激情片在线观看 | 国产精品久久久久久一区二区三区 | 久草免费在线观看视频 | 三级黄色网络 | 色婷婷一区 | 胖bbbb搡bbbb擦bbbb| 在线视频在线观看 | 国产精品免费在线观看视频 | 亚洲精品久| 成人资源在线播放 | 欧美日韩在线观看一区二区三区 | 亚洲艳情 | av在线收看 | 最近中文国产在线视频 | 9999国产| 色综合综合 | 日韩三级在线观看 | 久久久久久久久久久久久久av | 麻豆91精品| 国产精品丝袜 | 在线观看视频国产 | 亚洲久久视频 | 91九色在线视频 | 欧美日本一区 | 人人爽久久涩噜噜噜网站 | 国产精品亚洲片在线播放 | 日韩和的一区二在线 | 天天操天天射天天 | 天天干夜夜 | 99热在线精品观看 | 日本在线视频一区二区三区 | 亚洲人在线7777777精品 | 亚洲影视九九影院在线观看 | 久久精品视频国产 | 99久在线精品99re8热视频 | 亚洲精品视频在 | 鲁一鲁影院 | 国产乱对白刺激视频在线观看女王 | www..com毛片| 久久久国产精品麻豆 | 久久久久久久久毛片 | 久久精品伊人 | av电影 一区二区 | 日韩肉感妇bbwbbwbbw | 亚洲精品久久久久999中文字幕 | 久久精品一区 | 国产精品6| 日本精品久久久久久 | 国产色女 | 天天天操天天天干 | 又爽又黄又刺激的视频 | 婷婷丁香在线视频 | 99久久er热在这里只有精品66 | 亚洲精品免费看 | 亚洲日本精品 | 最近免费中文字幕 | 97爱爱爱| 国产999免费视频 | 色小说在线| 久久免费成人精品视频 | 国产在线精品一区二区 | 天天爱天天射天天干天天 | 国产伦理久久精品久久久久_ | 天天av在线播放 | 免费色视频网址 | 成人在线电影观看 | 精品国产一区二区三区久久久久久 | 国产午夜在线观看视频 | 揉bbb玩bbb少妇bbb | 视频在线在亚洲 | 九九久| 女女av在线 | www毛片com| 91精品久久久久久久久久久久久 | 久久久久9999亚洲精品 | 香蕉在线观看视频 | 国产主播大尺度精品福利免费 | 日韩av在线免费看 | 国产精品6999成人免费视频 | 婷婷在线视频观看 | 伊人官网 | 丁香婷婷基地 | 97在线免费视频观看 | 丁香在线观看完整电影视频 | 久久精品国产亚洲精品2020 | 国产亚洲综合在线 | 99视频国产精品 | 久久亚洲私人国产精品 | 国产精品第2页 | 亚洲精品国产电影 | 91精品久久久久久粉嫩 | 国产精品免费久久久 | 在线中文字幕观看 | 久久久久激情电影 | 亚洲精品日韩在线观看 | 九九亚洲视频 | 欧美一级日韩免费不卡 | 毛片精品免费在线观看 | 天天曰天天 | 中文字幕一区二区三区在线视频 | 怡红院久久 | 夜夜操天天干, | 中文av影院 | 国产精品一区二区在线观看免费 | 国产精品视频内 | 久久久久久国产精品 | 欧美精品一区二区免费 | 日本在线视频一区二区三区 | 国产系列 在线观看 | 色综合久久久久 | 国产精品理论片在线播放 | 国产精品久久久久久久久久久免费看 | 久久国内精品99久久6app | 天天操 夜夜操 | 成人在线观看日韩 | 91免费高清观看 | 激情五月婷婷综合网 | 国产精品美女久久久久aⅴ 干干夜夜 | 中文不卡视频在线 | 成人亚洲免费 | 日韩免费专区 | 久久草在线免费 | 黄色在线看网站 | 成人黄在线 | 久久a v电影 | 亚洲欧美视频在线观看 | 国产做a爱一级久久 | 天堂在线一区二区三区 | 91成人免费| 日韩成人精品 | 亚洲午夜久久久久久久久 | 亚洲一区日韩在线 | 久久久久久久久影视 | 日本公妇在线观看高清 | 亚洲资源在线网 | 精品国产一区二区在线 | 蜜桃av综合网 | 国产青草视频在线观看 | 五月天网页 | 天天色天天爱天天射综合 | 色哟哟国产精品 | 在线免费观看不卡av | 日韩高清二区 | 午夜精品久久久久 | 国产裸体永久免费视频网站 | 国产精品1区2区在线观看 | 91成人久久 | 99免费国产 | 青青草国产精品视频 | 国产一区高清在线观看 | 中文字幕在线观看第一区 | 九九九九九国产 | 国产中文在线播放 | 免费黄色a网站 | 精品99久久| 久久久久久在线观看 | 色婷婷综合久久久久中文字幕1 | 免费的成人av | 国产亚洲综合精品 | 99久久激情 | 天天舔天天搞 | 婷婷五月在线视频 | 超碰av在线 | 久久精品永久免费 | av高清一区二区三区 | 91大神免费视频 | 免费亚洲婷婷 | 日韩精品无码一区二区三区 | 伊人国产在线播放 | 久久91久久久久麻豆精品 | 欧美少妇xxx | 亚洲视屏 | 亚洲乱码在线观看 | 在线天堂中文在线资源网 | 亚洲精品欧洲精品 | 国产成人黄色片 | 91免费试看 | 国产精品久久久久一区二区国产 | 久久天堂网站 | 欧美日韩二三区 | 免费看搞黄视频网站 | 麻豆视频www | 中文字幕日韩一区二区三区不卡 | 日韩欧美视频二区 | 午夜精品久久久久99热app | 在线视频一二区 | 国产免费一区二区三区最新 | 69视频在线播放 | 国产视频在线观看一区 | 国产免码va在线观看免费 | 99精品视频中文字幕 | 一区二区三区影院 | 精品国产一二三四区 | 在线观看精品黄av片免费 | 精品视频一区在线 | 欧美激情操 | 亚洲人av免费网站 | 在线免费观看国产 | 欧美不卡视频在线 | 精品一区二区视频 | 天天曰| 最近日韩免费视频 | 久久免费观看少妇a级毛片 久久久久成人免费 | 97精品伊人 | 午夜性生活 | 午夜精品福利一区二区三区蜜桃 | 国产一区视频在线播放 | 少妇资源站 | 欧美激情视频免费看 | 欧美一级特黄高清视频 | 久久精品香蕉 | 激情丁香 | 国产精品免费久久久久 | 亚洲午夜久久久久久久久电影网 | 久久久久久久福利 | 免费中文字幕视频 | 成人黄色毛片 | 韩国精品在线 | 欧美一区二区三区不卡 | 免费看国产曰批40分钟 | 亚洲精品久 | 精品国产一区二区在线 | 中文字幕av在线免费 | 日韩午夜视频在线观看 | 中文字幕国内精品 | 亚洲手机av | 国产中文字幕在线免费观看 | 国产在线国偷精品产拍 | 精品视频999| 亚洲 欧美 日韩 综合 | 欧美日韩中文视频 | 久久首页| 国产精品国产三级在线专区 | 激情欧美一区二区免费视频 | 国产视频2021 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 亚洲精品久久久久中文字幕二区 | 久久人人爽人人爽人人片 | 精品国产一区二区三区免费 | 免费看黄20分钟 | 天天操天天摸天天射 | 久热色超碰 | 亚洲精品国产日韩 | 天天天综合网 | 高清有码中文字幕 | 免费av福利 | 久久免费观看视频 | 久久这里有精品 | 黄色1级毛片 | 精品国产精品国产偷麻豆 | 91成人久久 | 亚洲精品视频在线免费播放 | 人人舔人人射 | 在线免费黄网站 | 人人干人人干人人干 | 久综合网 | 亚洲jizzjizz日本少妇 | 五月天欧美精品 | 亚洲精品777 | 欧美色图另类 | 国产成人精品在线观看 | 91黄视频在线 | 日韩一级片大全 | 成年美女黄网站色大片免费看 | 91精品啪在线观看国产 | 国产视频亚洲 | 成人免费毛片aaaaaa片 | 91亚洲精品国偷拍 | 国产一区二区三区在线免费观看 | 97理论片 | 色网站在线观看 | 国产精品免费在线播放 | 在线观看免费色 | 青青河边草观看完整版高清 | 中文字幕制服丝袜av久久 | 欧美人人 | 国产精品一区二区你懂的 | 国产精品大片在线观看 | 久久久久久国产精品999 | 亚洲国产精品va在线看黑人动漫 | 国产精品99久久久精品 | av电影中文字幕在线观看 | 91久久久国产精品 | 中文字幕资源在线 | 日韩二区在线 | 午夜黄色| 免费成视频| 亚洲欧洲av | 精品国产一区二区三区男人吃奶 | 99久久久久成人国产免费 | 婷婷国产在线观看 | 免费在线观看av网站 | 五月婷在线播放 | 国产亚洲精品久久久久秋 | 九九精品久久久 | 国产高清永久免费 | 午夜丁香网 | 婷婷精品国产一区二区三区日韩 | 成人试看120秒 | 亚洲a网 | 国产在线精品一区二区 | 国产精品乱码久久久久 | 天天干天天操天天入 | av免费片| 天天操天天爽天天干 | 欧美一区二视频在线免费观看 | 日韩理论电影在线观看 | 国内视频 | 草久在线 | 在线观看视频精品 | 亚洲黄色小说网址 | 精品久久久久久久久久久久 | 在线观看亚洲国产精品 | 久久香蕉国产 | 国产成人一区在线 | 91精品国产欧美一区二区成人 | 天天操天天拍 | 五月婷婷丁香激情 | 久草在线官网 | 成人污视频在线观看 | 欧美日韩视频在线一区 | 91桃色在线观看视频 | 国产成人精品久 | 日韩视频在线一区 | 国产五月天婷婷 | 99久久99久国产黄毛片 | 久久综合导航 | 日p在线观看| www中文在线| 97理论电影 | 精品伦理一区二区三区 | 成人91在线| 日韩午夜在线观看 | 最新av在线免费观看 | 麻豆视频入口 | 天天操天天干天天摸 | 91香蕉视频好色先生 | 99精品国产一区二区三区不卡 | 欧美精品首页 | 日日干网| 亚洲精品18p | 日韩有色| 免费亚洲婷婷 | 伊人久久影视 | 天天操天天干天天 | 久草免费福利在线观看 | 黄色在线网站噜噜噜 | 国产一级在线免费观看 | 91片黄在线观看动漫 | 国产精品女人网站 | 成全在线视频免费观看 | 国产精品麻豆99久久久久久 | 狠狠色丁香婷婷综合欧美 | 欧美视屏一区二区 | 国产h在线播放 | 深夜免费网站 | 国产一级在线免费观看 | 国产一区二区在线播放 | 国产黄色看片 | 久久久久久久久久电影 | 在线视频手机国产 | 午夜精品视频一区二区三区在线看 | 精品xxx | 亚洲日本国产精品 | 久久免费福利 | 精品亚洲一区二区三区 | 天天爽天天爽夜夜爽 | 99久久久久国产精品免费 | 欧美性猛片| 五月婷婷狠狠 | 视频一区久久 | 精品不卡视频 | 狠狠狠操 | 97超碰人人模人人人爽人人爱 | 午夜久久久久久久久 | 久九视频 | 亚洲高清视频一区二区三区 | 久久女同性恋中文字幕 | 亚州av网站大全 | 久久伦理电影网 | 2024国产精品视频 | 国产福利久久 | 狠狠操操网| 三级黄色免费片 | 超碰公开在线观看 | 毛片精品免费在线观看 | 欧美污在线观看 | 97人人人| 亚洲婷婷伊人 | 一区二区三区免费在线观看视频 | 国产精品久久久久一区二区三区共 | 一区二区视频在线免费观看 | 97国产精品一区二区 | 亚洲一区二区视频 | 又黄又爽又刺激的视频 | 三级av在线播放 | 在线视频你懂得 | 日韩免| 欧美日韩国产色综合一二三四 | 色综合久久66 | 欧美日韩精品影院 | 黄色大片免费网站 | 嫩嫩影院理论片 | 五月婷香 | 免费观看91视频 | 狠狠干狠狠插 | 最新av在线播放 | 97超级碰碰碰视频在线观看 | 成人在线观看网址 | 亚洲女人av| 99久视频| 在线观看视频亚洲 | 一区二区三区四区久久 | 免费www视频 | 亚洲精品午夜国产va久久成人 | 在线观看中文字幕一区 | 久久国产精品成人免费浪潮 | a v在线视频| 91av成人| 日韩在线视频线视频免费网站 | 精品久久久久久久久久久久久久久久 | 久草资源在线观看 | 国产手机在线精品 | 一区二区三区四区五区在线视频 | 久久69精品| 国产五月婷婷 | 伊人天天色 | 六月色婷婷| 天天综合成人 | 天天爱天天色 | 国产96av| 中文字幕在线日 | 亚洲欧美观看 | 91毛片视频 | 久久综合久久伊人 | 天天色棕合合合合合合 | 免费看亚洲毛片 | 丁香视频在线观看 | 久久久999精品视频 国产美女免费观看 | 欧美日韩免费在线视频 | 日韩黄色网络 | 国产精品久久久久9999 | 久久96 | 欧美一级视频一区 | 国产中文字幕视频在线观看 | 国产一级免费观看视频 | 欧美精品v国产精品v日韩精品 | 91天天操| 久久精品理论 | 在线观看亚洲免费视频 | 国内成人精品视频 | .国产精品成人自产拍在线观看6 | 国产精品成久久久久三级 | 亚洲三级黄色 | 91精品国自产在线观看 | 在线精品视频免费播放 | 国产xxxx | 亚洲综合干| 狠狠狠操| 色多多污污 | 亚洲一级在线观看 | av在线小说 | 国产字幕在线看 | 大型av综合网站 | 色网址99| 日韩精品不卡在线观看 | 五月婷婷欧美视频 | 欧美a在线看 | 日韩免费在线看 | 日韩高清免费电影 | 手机成人av在线 | 国产精品青青 | 亚洲综合色网站 | 午夜影视一区 | 中文有码在线视频 | 天天射综合 | 亚洲精品中文字幕在线 | 日本激情动作片免费看 | 国产成人99av超碰超爽 | 91看片在线观看 | 久久免费片 | 狠狠网亚洲精品 | 中文字幕在线高清 | 日韩综合色 | 亚洲aaa毛片 | 亚洲欧美va | 免费高清在线一区 | 又黄又刺激的网站 | 99久久久国产精品免费99 | 国产资源站 | 丁香六月婷婷综合 | 免费三及片 | 天天操夜夜做 | 开心激情五月网 | 国产中文 | 久久久综合香蕉尹人综合网 | 91免费视频网站在线观看 | a级国产乱理伦片在线观看 亚洲3级 | 999成人| 久草资源免费 | 97人人射| 久久精品艹| 亚洲日本韩国一区二区 | 天天干 夜夜操 | 国产精品手机看片 | 色综合久久综合网 | 欧美片一区二区三区 | 成人动漫视频在线 | 九九视频网站 | 久久久精品免费观看 | 亚洲午夜久久久久久久久电影网 | 韩日电影在线免费看 | 国产精品男女视频 | 国产精品久久一区二区无卡 | 麻豆视频免费在线播放 | 伊人久久电影网 | 99精品国自产在线 | 国产精品成久久久久三级 | 亚洲精品动漫久久久久 | 久操伊人| 成人丁香花 | 久草久热 | 在线观看日本高清mv视频 | 一区二区亚洲精品 | 在线看日韩av | 久久婷婷国产色一区二区三区 | 国产精品永久在线 | 99久久精品国产亚洲 | 狠狠网站 | www.久久免费 | 国产专区免费 | 久久久久久久影视 | av免费观看在线 | av手机在线播放 | 在线观看91精品视频 | 992tv人人网tv亚洲精品 | 五月天天色 | 欧美日韩另类在线 | 日韩av偷拍| 日韩a级黄色片 | 天天干天天操天天入 | 中文字幕人成一区 | 天天射天天射 | 伊人资源站| 国产一区二区三区免费在线 | 日日夜夜精品视频天天综合网 | av中文字幕网址 | 国产欧美在线一区二区三区 | 欧美日韩一区二区三区在线免费观看 | 精品麻豆入口免费 | 欧美日韩精品在线观看 | 精品久久精品 | 亚洲精品久久久久久国 | 日本中出在线观看 | 99精品黄色片免费大全 | 天天色天天 | 国产精品久久久久久久久搜平片 | av高清影院| 中文超碰字幕 | 亚洲干视频在线观看 | 黄色成人免费电影 | 久久www免费人成看片高清 | 在线看黄色av |