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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

成员函数指针与高性能的C++委托(三)

發布時間:2025/6/15 c/c++ 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 成员函数指针与高性能的C++委托(三) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
委托(delegate)


和成員函數指針不同,你不難發現委托的用處。最重要的,使用委托可以很容易地實現一個Subject/Observer設計模式的改進版[GoF, p. 293]。Observer(觀察者)模式顯然在GUI中有很多的應用,但我發現它對應用程序核心的設計也有很大的作用。委托也可用來實現策略(Strategy)[GoF, p. 315]和狀態(State)[GoF, p. 305]模式。


現在,我來說明一個事實,委托和成員函數指針相比并不僅僅是好用,而且比成員函數指針簡單得多!既然所有的.NET語言都實現了委托,你可能會猜想如此高層的概念在匯編代碼中并不好實現。但事實并不是這樣:委托的實現確實是一個底層的概念,而且就像普通的函數調用一樣簡單(并且很高效)。一個C++委托只需要包含一個this指針和一個簡單的函數指針就夠了。當你建立一個委托時,你提供這個委托一個this指針,并向它指明需要調用哪一個函數。編譯器可以在建立委托時計算出調整this指針需要的偏移量。這樣在使用委托的時候,編譯器就什么事情都不用做了。這一點更好的是,編譯器可以在編譯時就可以完成全部這些工作,這樣的話,委托的處理對編譯器來說可以說是微不足道的工作了。在x86系統下將委托處理成的匯編代碼就應該是這么簡單:


mov ecx, [this]

call [pfunc]


但是,在標準C++中卻不能生成如此高效的代碼。 Borland為了解決委托的問題在它的C++編譯器中加入了一個新的關鍵字(__closure),用來通過簡潔的語法生成優化的代碼。GNU編譯器也對語言進行了擴展,但和Borland的編譯器不兼容。如果你使用了這兩種語言擴展中的一種,你就會限制自己只使用一個廠家的編譯器。而如果你仍然遵循標準C++的規則,你仍然可以實現委托,但實現的委托就不會是那么高效了。


有趣的是,在C#和其他.NET語言中,執行一個委托的時間要比一個函數調用慢8倍(參見http://msdn.microsoft.com/library/en-us/dndotnet/html/fastmanagedcode.asp)。我猜測這可能是垃圾收集和.NET安全檢查的需要。最近,微軟將“統一事件模型(unified event model)”加入到Visual C++中,隨著這個模型的加入,增加了__event、 __raise、__hook、__unhook、event_source和event_receiver等一些關鍵字。坦白地說,我對加入的這些特性很反感,因為這是完全不符合標準的,這些語法是丑陋的,因為它們使這種C++不像C++,并且會生成一堆執行效率極低的代碼。


解決這個問題的推動力:對高效委托(fast delegate)的迫切需求


使用標準C++實現委托有一個過度臃腫的癥狀。大多數的實現方法使用的是同一種思路。這些方法的基本觀點是將成員函數指針看成委托��但這樣的指針只能被一個單獨的類使用。為了避免這種局限,你需要間接地使用另一種思路:你可以使用模版為每一個類建立一個“成員函數調用器(member function invoker)”。委托包含了this指針和一個指向調用器(invoker)的指針,并且需要在堆上為成員函數調用器分配空間。


對于這種方案已經有很多種實現,包括在CodeProject上的實現方案。各種實現在復雜性上、語法(比如,有的和C#的語法很接近)上、一般性上有所不同。最具權威的一個實現是boost::function。最近,它已經被采用作為下一個發布的C++標準版本中的一部分[Sutter1]。希望它能夠被廣泛地使用。


就像傳統的委托實現方法一樣,我同樣發覺這種方法并不十分另人滿意。雖然它提供了大家所期望的功能,但是會混淆一個潛在的問題:人們缺乏對一個語言的底層的構造。 “成員函數調用器”的代碼對幾乎所有的類都是一樣的,在所有平臺上都出現這種情況是令人沮喪的。畢竟,堆被用上了。但在一些應用場合下,這種新的方法仍然無法被接受。


我做的一個項目是離散事件模擬器,它的核心是一個事件調度程序,用來調用被模擬的對象的成員函數。大多數成員函數非常簡單:它們只改變對象的內部狀態,有時在事件隊列(event queue)中添加將來要發生的事件,在這種情況下最適合使用委托。但是,每一個委托只被調用(invoked)一次。一開始,我使用了boost::function,但我發現程序運行時,給委托所分配的內存空間占用了整個程序空間的三分之一還要多!“我要真正的委托!”我在內心呼喊著,“真正的委托只需要僅僅兩行匯編指令啊!”


我并不能總是能夠得到我想要的,但后來我很幸運。我在這兒展示的代碼(代碼下載鏈接見譯者注)幾乎在所有編譯環境中都產生了優化的匯編代碼。最重要的是,調用一個含有單個目標的委托(single-target delegate)的速度幾乎同調用一個普通函數一樣快。實現這樣的代碼并沒有用到什么高深的東西,唯一的遺憾就是,為了實現目標,我的代碼和標準C++的規則有些偏離。我使用了一些有關成員函數指針的未公開知識才使它能夠這樣工作。如果你很細心,而且不在意在少數情況下的一些編譯器相關(compiler-specific)的代碼,那么高性能的委托機制在任何C++編譯器下都是可行的。


訣竅:將任何類型的成員函數指針轉化為一個標準的形式


我的代碼的核心是一個能夠將任何類的指針和任何成員函數指針分別轉換為一個通用類的指針和一個通用成員函數的指針的類。由于C++沒有“通用成員函數(generic member function)”的類型,所以我把所有類型的成員函數都轉化為一個在代碼中未定義的CGenericClass類的成員函數。


大多數編譯器對所有的成員函數指針平等地對待,不管他們屬于哪個類。所以對這些編譯器來說,可以使用reinterpret_cast將一個特定的成員函數指針轉化為一個通用成員函數指針。事實上,假如編譯器不可以,那么這個編譯器是不符合標準的。對于一些接近標準(almost-compliant)的編譯器,比如Digital Mars,成員函數指針的reinterpret_cast轉換一般會涉及到一些額外的特殊代碼,當進行轉化的成員函數的類之間沒有任何關聯時,編譯器會出錯。對這些編譯器,我們使用一個名為horrible_cast的內聯函數(在函數中使用了一個union來避免C++的類型檢查)。使用這種方法看來是不可避免的��boost::function也用到了這種方法。


對于其他的一些編譯器(如Visual C++, Intel C++和Borland C++),我們必須將多重(multiple-)繼承和虛擬(virtual-)繼承類的成員函數指針轉化為單一(single-)繼承類的函數指針。為了實現這個目的,我巧妙地使用了模板并利用了一個奇妙的戲法。注意,這個戲法的使用是因為這些編譯器并不是完全符合標準的,但是使用這個戲法得到了回報:它使這些編譯器產生了優化的代碼。


既然我們知道編譯器是怎樣在內部存儲成員函數指針的,并且我們知道在問題中應該怎樣為成員函數指針調整this指針,我們的代碼在設置委托時可以自己調整this指針。對單一繼承類的函數指針,則不需要進行調整;對多重繼承,則只需要一次加法就可完成調整;對虛擬繼承...就有些麻煩了。但是這樣做是管用的,并且在大多數情況下,所有的工作都在編譯時完成!


這是最后一個訣竅。我們怎樣區分不同的繼承類型?并沒有官方的方法來讓我們區分一個類是多重繼承的還是其他類型的繼承。但是有一種巧妙的方法,你可以查看我在前面給出了一個列表(見中篇)——對MSVC,每種繼承方式產生的成員函數指針的大小是不同的。所以,我們可以基于成員函數指針的大小使用模版!比如對多重繼承類型來說,這只是個簡單的計算。而在確定unknown_inheritance(16字節)類型的時候,也會采用類似的計算方法。


對于微軟和英特爾的編譯器中采用不標準12字節的虛擬繼承類型的指針的情況,我引發了一個編譯時錯誤(compile-time error),因為需要一個特定的運行環境(workaround)。如果你在MSVC中使用虛擬繼承,要在聲明類之前使用FASTDELEGATEDECLARE宏。而這個類必須使用unknown_inheritance(未知繼承類型)指針(這相當于一個假定的__unknown_inheritance關鍵字)。例如:


FASTDELEGATEDECLARE(CDerivedClass)

class CDerivedClass : virtual public CBaseClass1, virtual public CBaseClass2 {

// : (etc)

};


這個宏和一些常數的聲明是在一個隱藏的命名空間中實現的,這樣在其他編譯器中使用時也是安全的。MSVC(7.0或更新版本)的另一種方法是在工程中使用/vmg編譯器選項。而Inter的編譯器對/vmg編譯器選項不起作用,所以你必須在虛擬繼承類中使用宏。我的這個代碼是因為編譯器的bug才可以正確運行,你可以查看代碼來了解更多細節。而在遵從標準的編譯器中不需要注意這么多,況且在任何情況下都不會妨礙FASTDELEGATEDECLARE宏的使用。


一旦你將類的對象指針和成員函數指針轉化為標準形式,實現單一目標的委托(single-target delegate)就比較容易了(雖然做起來感覺冗長乏味)。你只要為每一種具有不同參數的函數制作相應的模板類就行了。實現其他類型的委托的代碼也大都與此相似,只是對參數稍做修改罷了。


這種用非標準方式轉換實現的委托還有一個好處,就是委托對象之間可以用等式比較。目前實現的大多數委托無法做到這一點,這使這些委托不能勝任一些特定的任務,比如實現多播委托(multi-cast delegates) [Sutter3]。


靜態函數作為委托目標(delegate target)


理論上,一個簡單的非成員函數(non-member function),或者一個靜態成員函數(static member function)可以被作為委托目標(delegate target)。這可以通過將靜態函數轉換為一個成員函數來實現。我有兩種方法實現這一點,兩種方法都是通過使委托指向調用這個靜態函數的“調用器(invoker)”的成員函數的方法來實現的。


第一種方法使用了一個邪惡的方法(evil method)。你可以存儲函數指針而不是this指針,這樣當調用“調用器”的函數時,它將this指針轉化為一個靜態函數指針,并調用這個靜態函數。問題是這只是一個戲法,它需要在代碼指針和數據指針之間進行轉換。在一個系統中代碼指針的大小比數據指針大時(比如DOS下的編譯器使用medium內存模式時),這個方法就不管用了。它在目前我知道的所有32位和64位處理器上是管用的。但是因為這種方法還是不太好,所以仍需要改進。


另一種是一個比較安全的方法(safe method),它是將函數指針作為委托的一個附加成員。委托指向自己的成員函數。當委托被復制的時候,這些自引用(self-reference)必須被轉換,而且使“=”和“==”運算符的操作變得復雜。這使委托的大小增至4個字節,并增加了代碼的復雜性,但這并不影響委托的調用速度。


我已經實現了上述兩種方法,兩者都有各自的優點:安全的方法保證了運行的可靠性,而邪惡的方法在支持委托的編譯器下也可能會產生與此相同的匯編代碼。此外,安全的方法可避免我以前討論的在MSVC中使用多重繼承和虛擬繼承時所出現的問題。我在代碼中給出的是“安全的方法”的代碼,但是在我給出的代碼中“邪惡的方法”會通過下面的代碼生效:

#define (FASTDELEGATE_USESTATICFUNCTIONHACK)


多目標委托(multiple-target delegate)及其擴展


使用委托的人可能會想使委托調用多個目標函數,這就是多目標委托(multiple-target delegate),也稱作多播委托(multi-cast delegate)。實現這種委托不會降低單一目標委托(single-target delegate)的調用效率,這在現實中是可行的。你只需要為一個委托的第二個目標和后來的更多目標在堆上分配空間就可以了,這意味著需要在委托類中添加一個數據指針,用來指向由該委托的目標函數組成的單鏈表的頭部節點。如果委托只有一個目標函數,將這個目標像以前介紹的方法一樣保存在委托中就行了。如果一個委托有多個目標函數,那么這些目標都保存在空間動態分配的鏈表中,如果要調用函數,委托使用一個指針指向一個鏈表中的目標(成員函數指針)。這樣的話,如果委托中只有一個目標,函數調用存儲單元的個數為1;如果有n(n>0)個目標,則函數調用存儲單元的個數為n+1(因為這時函數指針保存在鏈表中,會多出一個鏈表頭,所以要再加一——譯者注),我認為這樣做最合理。


由多播委托引出了一些問題。怎樣處理返回值?(是將所有返回值類型捆綁在一起,還是忽略一部分?)如果把同一個目標在一個委托中添加了兩次那會發生什么?(是調用同一個目標兩次,還是只調用一次,還是作為一個錯誤處理?)如果你想在委托中刪除一個不在其中的目標應該怎么辦?(是不管它,還是拋出一個異常?)


最重要的問題是在使用委托時會出現無限循環的情況,比如,A委托調用一段代碼,而在這段代碼中調用B委托,而在B委托調用的一段代碼中又會調用A委托。很多事件(event)和信號跟蹤(signal-slot)系統會有一定的方案來處理這種問題。


為了結束我的這篇文章,我的多播委托的實現方案就需要大家等待了。這可以借鑒其他實現中的方法——允許非空返回類型,允許類型的隱式轉換,并使用更簡捷的語法結構。如果我有足夠的興趣我會把代碼寫出來。如果能把我實現的委托和目前流行的某一個事件處理系統結合起來那會是最好不過的事情了(有自愿者嗎?)。


本文代碼的使用


原代碼包括了FastDelegate的實現(FastDelegate.h)和一個demo .cpp的文件用來展示使用FastDelegate的語法。對于使用MSVC的讀者,你可以建立一個空的控制臺應用程序(Console Application)的工程,再把這兩個文件添加進去就好了,對于GNU的使用者,在命令行輸入“gcc demo.cpp”就可以了。


FastDelegate可以在任何參數組合下運行,我建議你在盡可能多的編譯器下嘗試,你在聲明委托的時候必須指明參數的個數。在這個程序中最多可以使用8個參數,若想進行擴充也是很容易的。代碼使用了fastdelegate命名空間,在fastdelegate命名空間中有一個名為detail的內部命名空間。


Fastdelegate使用構造函數或bind()可以綁定一個成員函數或一個靜態(全局)函數,在默認情況下,綁定的值為0(空函數)??梢允褂谩?#xff01;”操作符判定它是一個空值。


不像用其他方法實現的委托,這個委托支持等式運算符(==, !=)。


下面是FastDelegateDemo.cpp的節選,它展示了大多數允許的操作。CBaseClass是CDerivedClass的虛基類。你可以根據這個代碼寫出更精彩的代碼,下面的代碼只是說明使用FastDelegate的語法:


using namespace fastdelegate;


int main(void)

{

printf("-- FastDelegate demo --\nA no-parameter

delegate is declared using FastDelegate0\n\n");

FastDelegate0 noparameterdelegate(&SimpleVoidFunction);


noparameterdelegate();

//調用委托,這一句調用SimpleVoidFunction()


printf("\n-- Examples using two-parameter delegates (int, char *) --\n\n");


typedef FastDelegate2 MyDelegate;


MyDelegate funclist[12]; // 委托初始化,其目標為空

CBaseClass a("Base A");

CBaseClass b("Base B");

CDerivedClass d;

CDerivedClass c;


// 綁定一個成員函數

funclist[0].bind(&a, &CBaseClass::SimpleMemberFunction);

//你也可以綁定一個靜態(全局)函數

funclist[1].bind(&SimpleStaticFunction);

//綁定靜態成員函數

funclist[2].bind(&CBaseClass::StaticMemberFunction);

// 綁定const型的成員函數

funclist[3].bind(&a, &CBaseClass::ConstMemberFunction);

// 綁定虛擬成員函數

funclist[4].bind(&b, &CBaseClass::SimpleVirtualFunction);


// 你可以使用”=”來賦值

funclist[5] = MyDelegate(&CBaseClass::StaticMemberFunction);


funclist[6].bind(&d, &CBaseClass::SimpleVirtualFunction);


//最麻煩的情況是綁定一個抽象虛擬函數(abstract virtual function)

funclist[7].bind(&c, &CDerivedClass::SimpleDerivedFunction);

funclist[8].bind(&c, &COtherClass::TrickyVirtualFunction);


funclist[9] = MakeDelegate(&c, &CDerivedClass::SimpleDerivedFunction);


// 你也可以使用構造函數來綁定

MyDelegate dg(&b, &CBaseClass::SimpleVirtualFunction);


char *msg = "Looking for equal delegate";

for (int i=0; i<12; i++) {

printf("%d :", i);

// 可以使用”==”

if (funclist[i]==dg) { msg = "Found equal delegate"; };

//可以使用”!”來判應一個空委托

if (!funclist[i]) {

printf("Delegate is empty\n");

} else {

// 調用生成的經過優化的匯編代碼

funclist[i](i, msg);

};

}

};


因為我的代碼利用了C++標準中沒有定義的行為,所以我很小心地在很多編譯器中做了測試。具有諷刺意味的是,它比許多所謂標準的代碼更具有可移植性,因為幾乎所有的編譯器都不是完全符合標準的。目前,核心代碼已成功通過了下列編譯器的測試:



Microsoft Visual C++ 6.0, 7.0 (.NET) and 7.1 (.NET 2003) (including /clr 'managed C++'),


GNU G++ 3.2 (MingW binaries),


Borland C++ Builder 5.5.1,


Digital Mars C++ 8.38 (x86, both 32-bit and 16-bit),


Intel C++ for Windows 8.0,


Metroworks CodeWarrior for Windows 9.1 (in both C++ and EC++ modes)


對于Comeau C++ 4.3 (x86, SPARC, Alpha, Macintosh),能夠成功通過編譯,但不能鏈接和運行。對于Intel C++ 8.0 for Itanium能夠成功通過編譯和鏈接,但不能運行。


此外,我已對代碼在MSVC 1.5 和4.0,Open Watcom WCL 1.2上的運行情況進行了測試,由于這些編譯器不支持成員函數模版,所以對這些編譯器,代碼不能編譯成功。對于嵌入式系統不支持模版的限制,需要對代碼進行大范圍的修改。(這一段是在剛剛更新的原文中添加的——譯者注)


而最終的FastDelegate并沒有進行全面地測試,一個原因是,我有一些使用的編譯器的評估版過期了,另一個原因是——我的女兒出生了!如果有足夠的興趣,我會讓代碼在更多編譯器中通過測試。(這一段在剛剛更新的原文中被刪去了,因為作者目前幾乎完成了全部測試。——譯者注)


總結


為了解釋一小段代碼,我就得為這個語言中具有爭議的一部分寫這么一篇長長的指南。為了兩行匯編代碼,就要做如此麻煩的工作。唉~!


我希望我已經澄清了有關成員函數指針和委托的誤解。我們可以看到為了實現成員函數指針,各種編譯器有著千差萬別的方法。我們還可以看到,與流行的觀點不同,委托并不復雜,并不是高層結構,事實上它很簡單。我希望它能夠成為這個語言(標準C++)中的一部分,而且我們有理由相信目前已被一些編譯器支持的委托,在不久的將來會加入到標準C++的新的版本中(去游說標準委員會!)。


據我所知,以前實現的委托都沒有像我在這里為大家展示的FastDelegate一樣有如此高的性能。我希望我的代碼能對你有幫助。如果我有足夠的興趣,我會對代碼進行擴展,從而支持多播委托(multi-cast delegate)以及更多類型的委托。我在CodeProject上學到了很多,并且這是我第一次為之做出的貢獻。


參考文獻


[GoF] "Design Patterns: Elements of Reusable Object-Oriented Software", E. Gamma, R. Helm, R. Johnson, and J. Vlissides.

I've looked at dozens of websites while researching this article. Here are a few of the most interesting ones:

我在寫這篇文章時查看了很多站點,下面只是最有趣的一些站點:


[Boost] Delegates can be implemented with a combination of boost::function and boost::bind. Boost::signals is one of the most sophisticated event/messaging system available. Most of the boost libraries require a highly standards-conforming compiler. (http://www.boost.org/)

[Loki] Loki provides 'functors' which are delegates with bindable parameters. They are very similar to boost::function. It's likely that Loki will eventually merge with boost. (http://sourceforge.net/projects/loki-lib)

[Qt] The Qt library includes a Signal/Slot mechanism (i.e., delegates). For this to work, you have to run a special preprocessor on your code before compiling. Performance is very poor, but it works on compilers with very poor template support. (http://doc.trolltech.com/3.0/signalsandslots.html)

[Libsigc++] An event system based on Qt's. It avoids the Qt's special preprocessor, but requires that every target be derived from a base object class (using virtual inheritance - yuck!). (http://libsigc.sourceforge.net/)

[Hickey]. An old (1994) delegate implementation that avoids memory allocations. Assumes that all pointer-to-member functions are the same size, so it doesn't work on MSVC. There's a helpful discussion of the code here. (http://www.tutok.sk/fastgl/callback.html)

[Haendal]. A website dedicated to function pointers?! Not much detail about member function pointers though. (http://www.function-pointer.org/)

[Sutter1] Generalized function pointers: a discussion of how boost::function has been accepted into the new C++ standard. (http://www.cuj.com/documents/s=8464/cujcexp0308sutter/)

[Sutter2] Generalizing the Observer pattern (essentially, multicast delegates) using std::tr1::function. Discusses the limitations of the failure of boost::function to provide operator ==.

(http://www.cuj.com/documents/s=8840/cujexp0309sutter)

[Sutter3] Herb Sutter's Guru of the Week article on generic callbacks. (http://www.gotw.ca/gotw/083.htm)


關于作者Don Clugston

我在澳大利亞的high-tech startup工作,是一個物理學家兼軟件工程師。目前從事將太陽航空艙的硅質晶體玻璃(CSG)薄膜向市場推廣的工作。我從事有關太陽的(solar)研究,平時喜歡做一些軟件(用作數學模型、設備控制、離散事件觸發器和圖象處理等),我最近喜歡使用STL和WTL寫代碼。我非常懷念過去的光榮歲月:)而最重要的,我有一個非??蓯鄣膬鹤?#xff08;2002年5月出生)和一個非常年輕的×××(2004年5月出生)。

“黑暗不會戰勝陽光,陽光終究會照亮黑暗。”


譯者注


由于本文剛發表不久,作者隨時都有可能對文章或代碼進行更新,若要瀏覽作者對本文的最新內容,請訪問:

http://www.codeproject.com/cpp/FastDelegate.asp

點擊以下鏈接下載FastDelegate的源代碼:

http://www.codeproject.com/cpp/FastDelegat...elegate_src.zip

轉載于:https://blog.51cto.com/sensen/322137

總結

以上是生活随笔為你收集整理的成员函数指针与高性能的C++委托(三)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

日韩欧美一区二区不卡 | 一区二区电影在线观看 | 欧美精品久久久久久久久久久 | 国产精品涩涩屋www在线观看 | 免费观看国产成人 | 黄色性av | 国产精品九九视频 | 久久久久久久久久久精 | 波多野结衣一区三区 | 日韩区在线观看 | 91麻豆精品久久久久久 | 成人在线小视频 | 国产三级国产精品国产专区50 | 黄色aaa级片 | 国产高清视频在线免费观看 | 久久手机精品视频 | 91九色在线观看视频 | 亚洲综合色丁香婷婷六月图片 | 五月婷婷毛片 | 干亚洲少妇| 久久综合久久综合这里只有精品 | 毛片美女网站 | 永久av免费在线观看 | 在线视频一二区 | 精品国产免费观看 | 中文字幕在线观看91 | 天天射天天操天天干 | 久久狠狠干 | 久久综合中文字幕 | 亚洲精品理论 | 国产高清不卡在线 | 综合激情网 | 国产精品完整版 | 69国产精品视频 | 香蕉久久久久 | 四虎www | 在线免费国产视频 | 成年人视频在线免费播放 | 亚洲经典在线 | 高清日韩一区二区 | 免费高清看电视网站 | 成年人毛片在线观看 | 久久久国产一区二区三区四区小说 | 一二三精品视频 | 毛片基地黄久久久久久天堂 | 一区二区三区国产精品 | 欧美性色黄大片在线观看 | 91完整版| 伊人va | 成人a视频片观看免费 | 五月天激情综合网 | 欧美亚洲一级片 | 日日躁你夜夜躁你av蜜 | 久久综合中文字幕 | 9999免费视频 | 国产 亚洲 欧美 在线 | 国产黄色片免费在线观看 | 在线www色 | 国产精品日韩 | 久久久久久久久国产 | 99久久久久久久久 | 国内精品久久久久久中文字幕 | 五月婷婷开心 | av中文天堂 | 激情视频在线高清看 | 一级电影免费在线观看 | 日本中文字幕免费观看 | 免费看一级黄色大全 | 在线国产一区二区 | 青青河边草免费直播 | 免费电影一区二区三区 | av电影久久 | 97国产在线视频 | 国产在线探花 | 日韩免费小视频 | 婷婷伊人五月 | www.com久久 | 粉嫩aⅴ一区二区三区 | 久久免费成人 | 久久99国产精品二区护士 | 九九久久久久久久久激情 | 国产精品久久影院 | 久久99亚洲网美利坚合众国 | 日韩精品高清视频 | 亚洲三级在线播放 | 日韩有码网站 | 中文在线中文a | 日韩三级视频在线观看 | 久久久国产精品成人免费 | 99热九九这里只有精品10 | 成人黄色电影免费观看 | 亚洲传媒在线 | ,久久福利影视 | 国产成人精品一区二区三区福利 | 亚洲精品乱码久久久久久蜜桃91 | av在线进入| 99精品一区二区三区 | 国产免费成人av | 欧美一区二区三区在线播放 | 狠狠色伊人亚洲综合网站色 | 91精品国产综合久久福利 | 日本在线中文 | 玖玖爱国产在线 | 国产色视频123区 | www色网站| 国产精品毛片久久 | 精品亚洲一区二区 | 成人教育av | 天天干视频在线 | 性色av香蕉一区二区 | 绯色av一区 | 午夜天天操 | 久久99精品久久久久婷婷 | 免费的成人av | 国产91在线免费视频 | 亚洲精品中文在线资源 | 国产精品免费视频网站 | 97色婷婷人人爽人人 | 国产视频黄 | 午夜精品久久一牛影视 | 国产一区二区不卡在线 | 99精品免费久久久久久久久日本 | 成人影视免费看 | 91系列在线观看 | 亚洲精品三级 | 一级片免费观看 | 国产精品久久久久久久妇 | 99看视频在线观看 | 99精品国自产在线 | 午夜影院先| www.com黄| av观看在线观看 | 国内成人综合 | av免费观看网址 | 国产视频日韩 | av免费看av| 久久久久伊人 | 人人插人人艹 | 久久精品一二三区 | 香蕉在线视频观看 | 99热精品国产 | 91麻豆精品国产自产 | 久草在线最新视频 | 日日夜夜精品免费视频 | 91视频麻豆 | 欧美乱淫视频 | 国产成人精品亚洲精品 | 午夜精品一区二区三区免费视频 | 天天干天天爽 | 91av大全 | 久久免费看毛片 | av 一区二区三区 | 国产一级片免费观看 | 久久调教视频 | 日韩激情第一页 | 欧美精品久久久久久久久久 | 999久久久欧美日韩黑人 | 欧美一区二区三区激情视频 | 91精品在线免费观看 | 国产免码va在线观看免费 | 天天操天天射天天插 | 久草在线资源观看 | 精品国产乱码久久久久久1区2匹 | 亚洲乱码精品久久久久 | 六月婷色 | 91精品视频在线观看免费 | 99久久99久久精品国产片果冰 | 少妇bbb好爽 | 久久午夜色播影院免费高清 | 韩国一区二区在线观看 | 正在播放国产一区二区 | 91视频高清免费 | 中文字幕av最新更新 | 国产精品一区二区三区四区在线观看 | 免费在线观看毛片网站 | 国产一区二区久久久 | 国内精品福利视频 | 久久综合成人 | 国产视频一区二区三区在线 | 在线三级中文 | 国产午夜一区二区 | 国产精品女 | 婷婷午夜 | 色婷婷综合久久久久中文字幕1 | 精品国偷自产国产一区 | 婷香五月 | 欧美成年黄网站色视频 | 国产一区高清在线观看 | 久久精品国产免费看久久精品 | 人人狠狠综合久久亚洲婷 | 99视频精品在线 | 81精品国产乱码久久久久久 | 911国产| 国产裸体视频网站 | a级成人毛片 | 亚洲va综合va国产va中文 | 国产一区二区三精品久久久无广告 | 五月香视频在线观看 | 日韩成人黄色av | 一区中文字幕在线观看 | 97成人在线观看 | 久久综合九色九九 | 黄色软件视频网站 | 日韩一区视频在线 | 免费观看v片在线观看 | 大胆欧美gogo免费视频一二区 | 久久综合偷偷噜噜噜色 | 成人av在线电影 | 91av视频网站| 亚洲第一区在线播放 | 97免费视频在线 | 91人人爱 | 国产 中文 日韩 欧美 | 在线观看免费91 | 天天插天天爱 | 国产精品v欧美精品 | 国产精品久久久久久久久大全 | 免费毛片一区二区三区久久久 | 丁香五婷| 国产精品一区二区在线观看 | 超碰免费观看 | 精品国产一区二区三区四区在线观看 | 亚洲天堂在线观看完整版 | 免费网站观看www在线观看 | 日韩精品免费在线播放 | 久久成人在线视频 | 国产中文字幕在线 | 伊人永久在线 | 午夜少妇一区二区三区 | 三日本三级少妇三级99 | 四虎最新入口 | 亚洲欧洲一区二区在线观看 | 久久成人综合 | 麻花豆传媒mv在线观看网站 | av片无限看| 亚洲不卡av一区二区三区 | 免费在线观看一级片 | 中文字幕色在线 | 伊人久久一区 | 色综合激情网 | 日本在线中文在线 | 人人插人人插 | 免费av网站在线 | 日韩中文在线观看 | 丁香 久久 综合 | 免费网站黄色 | a级国产乱理伦片在线播放 久久久久国产精品一区 | 在线看片日韩 | 欧美视频18 | 在线观看av小说 | 爱干视频| 干狠狠| 日韩一区二区三免费高清在线观看 | 欧美日韩视频在线观看一区二区 | 国产xvideos免费视频播放 | 日韩在线视 | 久久久久久久影院 | 国内精品亚洲 | 久久久999精品视频 国产美女免费观看 | 天天看天天操 | 免费a视频在线 | 亚洲国产日韩欧美在线 | 9草在线| 97精品国产97久久久久久春色 | 久草网站在线观看 | 久久精品中文字幕一区二区三区 | 亚洲精品国偷自产在线99热 | 热久久这里只有精品 | 国产精品久久久久久久久久99 | 精品久久一区二区 | 欧美日韩国产色综合一二三四 | 天天做天天射 | 国产色视频一区二区三区qq号 | 久久99在线视频 | 午夜精品久久久久久久99水蜜桃 | 欧美性色19p | 激情小说久久 | 91久久精品一区 | 国产小视频在线观看 | 超碰资源在线 | 美女性爽视频国产免费app | 亚洲欧美国产精品 | 国产69精品久久久久久久久久 | 国产99久久99热这里精品5 | 黄网站色欧美视频 | 91在线影视 | 在线观看中文字幕一区二区 | 国产这里只有精品 | 久久久久久久久久久久久久av | 久久久久久久久影视 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 久久国产高清视频 | 在线观看一区二区视频 | 狠狠色香婷婷久久亚洲精品 | 国产婷婷精品av在线 | 69绿帽绿奴3pvideos | 久久天天躁| 精品字幕在线 | 永久免费av在线播放 | 欧美日韩在线播放一区 | 亚洲资源在线网 | 国产一区二区三精品久久久无广告 | 国产精品18久久久久久久网站 | 91完整版在线观看 | 西西www4444大胆视频 | 香蕉在线观看 | 韩国精品在线观看 | 精品一二三四在线 | 日日夜操| 精品999| 国产精品18毛片一区二区 | 91最新国产 | 久国产在线播放 | 天天射天天色天天干 | 免费看黄在线看 | 国内精品久久久 | 激情喷水| 一区二区三区免费在线观看视频 | 视频在线观看国产 | 日本三级中文字幕在线观看 | 欧美电影在线观看 | 亚洲女在线| 四虎在线观看网址 | 久久精品欧美日韩精品 | 国产精品成人免费 | 精品国产网址 | 91精品对白一区国产伦 | 91成人看片 | 中文字幕av免费观看 | 手机在线永久免费观看av片 | 深夜福利视频一区二区 | av午夜电影 | 亚洲一级久久 | 九九热精品在线 | 成人午夜影院在线观看 | 片黄色毛片黄色毛片 | 99色在线视频| 九九热视频在线 | 狠狠躁夜夜a产精品视频 | 久久综合五月婷婷 | 亚洲精品乱码久久久久v最新版 | 久久蜜臀一区二区三区av | 国产精品乱码久久 | av一级网站 | 国产一区免费在线观看 | 国产涩涩网站 | 天天天天爱天天躁 | 欧美一区二区在线 | 久久午夜精品影院一区 | 国产精品久久久久久久久久久久久久 | 国产中文在线观看 | 亚洲日本欧美 | 国产蜜臀av | 国产高清在线a视频大全 | 免费99视频| 婷婷亚洲激情 | 丁香av| 国内精品亚洲 | 99精品99 | 婷婷在线播放 | 福利视频一区二区 | 国产在线播放观看 | 亚洲蜜桃av | 91成人精品视频 | 欧美久久久久久久久久久 | 午夜国产福利视频 | 中文字幕精品一区二区精品 | 五月天狠狠操 | 五月婷婷视频在线观看 | 欧美激情视频在线免费观看 | 欧美精品久久久久久久亚洲调教 | 中文字幕在线影院 | 97超碰资源总站 | 激情欧美一区二区免费视频 | 久久精品久久久精品美女 | 亚洲国产日韩欧美在线 | 免费又黄又爽视频 | 91久久久久久久 | 欧美亚洲国产日韩 | 午夜电影中文字幕 | 五月婷婷综 | 97色se | 国产欧美日韩视频 | 在线免费观看欧美日韩 | 成年人网站免费观看 | 日本在线视频网址 | 亚洲国产免费 | 亚洲综合五月天 | 973理论片235影院9 | 91精品视频在线免费观看 | 娇妻呻吟一区二区三区 | 中文字幕免费一区二区 | 国产不卡av在线播放 | 午夜视频在线观看欧美 | 狠狠色噜噜狠狠狠合久 | 欧美性极品xxxx娇小 | av中文字幕在线看 | 日韩二三区 | 天天干天天草天天爽 | 麻豆91网站| 国产精品初高中精品久久 | 丁香网婷婷 | www.五月天婷婷.com | 不卡视频国产 | 奇米影视777四色米奇影院 | 97精品在线观看 | 免费看的黄色片 | 国产精品高潮在线观看 | 婷婷色九月 | 久久久伦理 | 亚洲精品看片 | 久久久国产精品麻豆 | 日本精品视频免费观看 | 亚洲精品视频在线看 | 国产精品久久久av | 国产小视频精品 | 怡红院av久久久久久久 | 欧美xxxxx在线视频 | 国产精品乱码久久久久久1区2区 | 国内精品视频在线 | 色综合久久88色综合天天 | 久久亚洲视频 | 国产一级黄大片 | 久久精品国产免费看久久精品 | 精品亚洲欧美一区 | 亚洲国内在线 | 国产一级电影免费观看 | 日韩精品视频在线免费观看 | 噜噜色官网 | 国产精品一区一区三区 | 91精品一区二区三区久久久久久 | 免费亚洲婷婷 | 综合在线亚洲 | 国产精品乱码久久久久 | www91在线 | 日韩精品视频免费专区在线播放 | 高清国产午夜精品久久久久久 | 最近中文字幕大全 | 91超碰在线播放 | 日本女人的性生活视频 | 成人免费视频播放 | 精品女同一区二区三区在线观看 | 亚洲日韩中文字幕 | 国产一区在线免费观看视频 | 二区在线播放 | 欧美99精品 | 国产91在线播放 | 久久精品久久久久电影 | a级片韩国| 六月婷婷久香在线视频 | 在线亚洲精品 | 久久久综合 | 成人毛片一区 | 97色在线观看免费视频 | 国产高清免费av | 亚洲精品五月 | 久久久久99精品成人片三人毛片 | 性色视频在线 | 久久久精品 一区二区三区 国产99视频在线观看 | 中文字幕免费高清在线观看 | 91九色国产 | 久久精久久精 | 毛片网在线播放 | 婷婷色av | 天天操网站 | 中文字幕在线观看第一区 | 久久久国产精品亚洲一区 | 视频一区二区三区视频 | 999久久久久久久久久久 | 中文字幕乱码电影 | 手机在线看永久av片免费 | 中文永久免费观看 | 黄色精品视频 | 91麻豆视频网站 | 日韩在线观看你懂的 | 欧美午夜剧场 | 91精品视频在线免费观看 | 日韩三级.com | 国产视频一区二区三区在线 | 欧美久草视频 | 91久久国产自产拍夜夜嗨 | 免费人做人爱www的视 | 日韩免费久久 | 免费精品视频在线 | 日韩精品一卡 | 久久久一本精品99久久精品66 | 午夜精品电影一区二区在线 | 在线精品视频免费观看 | a级国产毛片 | 色偷偷网站视频 | 蜜桃麻豆www久久囤产精品 | 91精品国产一区 | 99视频在线观看免费 | 国产69久久精品成人看 | 成人黄色小说视频 | 91亚洲视频在线观看 | 亚洲精品在线视频播放 | 91网址在线观看 | 狠狠的操狠狠的干 | 国产精品成人一区二区三区 | 麻豆视频免费入口 | 黄色小网站在线观看 | 精品国产一区二区三区四区vr | 日韩免费一级a毛片在线播放一级 | 欧美一区在线看 | 日韩av一区二区在线影视 | 人人射人人射 | 香蕉看片| 在线观看视频一区二区三区 | 天堂av网在线 | av一本久道久久波多野结衣 | 免费日韩视频 | 国产精品ⅴa有声小说 | 黄色片网站| 国产美女网站在线观看 | 亚洲综合视频在线 | 久久一区二区免费视频 | 麻豆传媒一区二区 | 97超在线 | 在线观看www91 | 久久久综合 | 国产91探花| 成人91视频 | 久久久久久久久久久免费av | 九月婷婷人人澡人人添人人爽 | 99国产精品 | 天天干天天干天天射 | 91一区二区三区久久久久国产乱 | 国产精品初高中精品久久 | 国精产品满18岁在线 | 日韩免费网址 | 亚洲精品欧美精品 | 在线va网站 | 亚洲精品在 | 黄色一级免费网站 | a视频在线 | 99操视频| 超碰97网站 | 亚洲综合激情网 | 精品国产aⅴ一区二区三区 在线直播av | 日批网站在线观看 | 亚洲精品国产自产拍在线观看 | 在线观看精品一区 | 超碰99人人| 日日夜夜综合 | 国产一区二区视频在线播放 | 在线欧美a | 国产亚洲精品成人 | 久久69精品久久久久久久电影好 | 黄色天堂在线观看 | 高潮毛片无遮挡高清免费 | 中文字幕在线观看亚洲 | 亚洲日本一区二区在线 | 91福利试看| 国产成人1区 | 人人天天夜夜 | 亚洲精品国精品久久99热 | 成人性生交视频 | 精品91视频| 国产不卡视频在线 | 国内99视频 | 91福利视频在线 | 成人小视频在线观看免费 | 中文字幕免费一区二区 | 看片的网址 | 久久综合婷婷 | 开心色婷婷 | 最近高清中文在线字幕在线观看 | 99热在线这里只有精品 | 久久精品电影院 | 国产一区国产精品 | 四虎海外影库www4hu | 日韩精品一区不卡 | 国产成人av电影在线观看 | 国产又粗又猛又爽又黄的视频免费 | 欧美久久九九 | 在线中文视频 | 日韩欧美国产精品 | 国产福利在线免费观看 | 欧美激情精品久久久久久变态 | 97精品国产aⅴ | 99精品视频免费在线观看 | 免费十分钟 | 久久婷婷久久 | 久久婷婷色综合 | 久久久网站 | 日本在线观看中文字幕 | 国产福利一区二区在线 | 亚洲国产精品电影在线观看 | 超碰97人 | 国产精品久久久久久久久久久不卡 | 国产一区二区成人 | 久久一二区 | 国产 亚洲 欧美 在线 | 中文字幕影片免费在线观看 | 高清av中文字幕 | 91成人精品国产刺激国语对白 | 一区二区三区四区在线免费观看 | 四虎国产精品成人免费影视 | 久久久久久久久久久福利 | 国产a视频免费观看 | 国产在线观看你懂得 | 玖玖玖在线观看 | japanesefreesex中国少妇 | 国产丝袜高跟 | 亚洲精品电影在线 | 狠狠网| 亚洲精品免费在线 | 97色资源| 日日摸日日添夜夜爽97 | 国产一区二区在线观看视频 | 国产精久久久久久妇女av | 99精品视频免费 | 97天天综合网 | 色视频 在线 | 色综合天天视频在线观看 | 在线观看免费av网 | 婷婷伊人综合亚洲综合网 | 国产精品久久久久久久av电影 | 日韩精品欧美专区 | 免费在线观看黄 | 国产一区二区三区在线免费观看 | 国产精品久久艹 | 五月天电影免费在线观看一区 | 色资源中文字幕 | 91视频免费网址 | 日韩午夜在线观看 | 欧美一区二区视频97 | 国产专区欧美专区 | 精品欧美一区二区在线观看 | 欧美激情视频一二三区 | 中文字幕网址 | 激情婷婷色| 日韩在线视频网址 | 国产精在线 | 欧美综合在线视频 | 综合精品在线 | 国产 中文 日韩 欧美 | 久草视频免费观 | 一区二区三区免费看 | 国产成人一区在线 | 夜夜操夜夜干 | 国产精品久久久久免费观看 | 日韩69视频 | 一区二区三区四区精品视频 | 亚洲精品久久久蜜桃 | 久久 在线 | 狠狠色香婷婷久久亚洲精品 | 国产精品毛片久久久久久久久久99999999 | 毛片网站免费在线观看 | 天天操天天色天天射 | 成人精品国产免费网站 | 中文字幕在线观看三区 | 美女免费网视频 | 久久成人一区二区 | 国产一级不卡视频 | 国产一区二区手机在线观看 | 热久久在线视频 | 九九免费精品视频在线观看 | 91一区啪爱嗯打偷拍欧美 | 亚洲精品成人免费 | 欧美片网站yy | 国产精品一区二区三区四区在线观看 | 丁香五月网久久综合 | 亚洲永久国产精品 | 成人免费在线视频 | 久草| 懂色av一区二区在线播放 | 精品国产乱子伦一区二区 | 国产拍在线 | 免费看黄20分钟 | 亚洲色图激情文学 | 国产婷婷一区二区 | 最新影院| 视频一区二区免费 | 国产精品一区二区三区四区在线观看 | 久久乱码卡一卡2卡三卡四 五月婷婷久 | 91亚洲国产成人 | 国产精品高 | 国产亚洲日本 | 久久久国产网站 | 色综合久久综合中文综合网 | 日韩欧美精品一区二区 | 四虎成人免费观看 | 91精品国产99久久久久久红楼 | 国产真实精品久久二三区 | 欧美日韩一区二区三区视频 | 亚洲免费激情 | 免费一级黄色 | 欧美成人基地 | 久久在线播放 | 免费网站观看www在线观看 | 国产成人久 | 日韩久久精品 | 伊人资源视频在线 | 手机av永久免费 | 国产精品h在线观看 | 日韩av在线免费播放 | 欧美黑人巨大xxxxx | 特级西西444www高清大视频 | www.av免费观看 | 成人av中文字幕在线观看 | 久久精品综合视频 | 99精品在线 | 国产精品网红福利 | 婷婷丁香激情五月 | 亚洲成成品网站 | 日本精品视频网站 | 特黄免费av | 国产精品久久久久久久久久ktv | 久久久麻豆视频 | 91精品视频免费 | av天天在线观看 | av中文字幕亚洲 | 日本不卡一区二区 | 国产精品永久免费 | 免费在线观看一区二区三区 | 婷婷在线视频观看 | 外国av网| 久久免费的视频 | 欧美福利久久 | 人人爽人人av | 精品久久久久国产 | 久久久亚洲影院 | 国产黄免费在线观看 | 成人在线免费看视频 | 不卡的av片 | 精品久久福利 | 久久久久久久久久久久影院 | 精品国内自产拍在线观看视频 | 91视频国产免费 | 久久精品中文字幕 | 国产视频午夜 | 在线观看日韩 | 日本三级久久 | 欧美一区二区三区免费观看 | 国产系列精品av | 免费国产黄线在线观看视频 | 91成人免费看 | 国产精品一区二区久久精品爱微奶 | 在线成人免费电影 | 久久一区二区三区超碰国产精品 | 国产精品中文字幕在线播放 | 亚洲人人网 | 国产专区在线播放 | 免费看黄色小说的网站 | 天天草天天摸 | 91亚洲精品久久久蜜桃网站 | 热久久免费视频精品 | 91免费版在线 | 午夜精品久久久久久中宇69 | 片网址| 在线电影日韩 | 欧美日韩p片 | 国产精品一区二区美女视频免费看 | 天天天综合| 日韩av电影免费观看 | 免费高清在线观看成人 | 日韩国产精品久久久久久亚洲 | 国产精品区免费视频 | 狂野欧美激情性xxxx欧美 | 911精品美国片911久久久 | www.夜夜草 | 久久草 | 色综合久久中文字幕综合网 | 特级毛片爽www免费版 | 99久久综合精品五月天 | 欧美一区二区日韩一区二区 | 精品欧美小视频在线观看 | 欧美精品在线观看一区 | 91在线视频精品 | 婷婷爱五月天 | 天天操夜 | 一级黄色大片 | 欧美精品久久久久久久久久 | 亚洲精品看片 | 欧美激情精品久久久久久免费印度 | 亚洲日本韩国一区二区 | www.午夜| 五月天久久婷婷 | 久草99| 91精品一区二区三区蜜臀 | 久久综合精品国产一区二区三区 | 久久精品这里精品 | 五月天堂网 | 婷婷资源站 | 黄色网免费 | 婷婷精品在线 | 最新国产精品拍自在线播放 | 综合久久网站 | 国产a免费| 偷拍精偷拍精品欧洲亚洲网站 | av在线在线 | 激情亚洲综合在线 | 精品影院一区二区久久久 | 婷婷国产精品 | 一区二区精品久久 | 欧美日韩综合在线观看 | 亚洲精品一区二区18漫画 | 狠狠五月天 | 久久久久女人精品毛片九一 | 天天干天天操 | 操操操影院 | 狠狠色丁香久久婷婷综合五月 | 久久久久久久电影 | 去看片 | 国产麻豆精品传媒av国产下载 | 成人国产精品电影 | 久久综合免费视频影院 | 黄色一级动作片 | 天堂久久电影网 | 国产一级免费av | 综合久久婷婷 | 久久精品视频在线播放 | 九九免费精品视频在线观看 | 亚洲日本韩国一区二区 | 久久精品国产亚洲aⅴ | 伊甸园永久入口www 99热 精品在线 | 日韩av电影免费在线观看 | 天天插夜夜操 | 日韩色在线观看 | 欧美日韩久 | 国产精品va在线播放 | 国产在线观看二区 | 成年美女黄网站色大片免费看 | 亚洲高清视频在线 | 亚洲视频分类 | 青青色影院 | 香蕉久草| 欧日韩在线视频 | 少妇bbr搡bbb搡bbb | 开心激情综合网 | 丁香六月天 | 国产精品国产亚洲精品看不卡 | 97激情影院 | 日韩在线免费视频 | 日韩网站一区二区 | 91亚洲视频在线观看 | 96久久久 | 成人禁用看黄a在线 | 久久字幕 | 天天操天天添天天吹 | 色的网站在线观看 | 一本色道久久综合亚洲二区三区 | 91精品视频一区二区三区 | 麻豆影视在线免费观看 | 国产大片免费久久 | 黄色福利网 | 亚洲综合婷婷 | 黄网站色视频 | 日韩电影一区二区三区在线观看 | 天天摸天天舔天天操 | 99理论片 | 三级在线视频观看 | 一级a性色生活片久久毛片波多野 | 美女免费网视频 | 精品久久久久久久久久久久 | 日韩免费在线视频 | 成人小视频在线观看免费 | 亚洲小视频在线观看 | 免费视频国产 | 国产精品久久久久久一区二区 | 日韩美女久久 | 久久成人免费 | 天天色综合天天 | 99久久夜色精品国产亚洲96 | 亚洲综合成人在线 | 久久久国产影视 | 国产精品成人自产拍在线观看 | 91视频午夜 | av高清在线 | 依人成人综合网 | 中文字幕在线视频网站 | 中文字幕黄色网址 | 国内外激情视频 | 国产亚洲欧美精品久久久久久 | 国产免费一区二区三区最新 | 欧美福利在线播放 | 国产亚洲视频系列 | 日日干美女 | 97国产精品久久 | 日韩视频1 | 中文字幕你懂的 | 五月婷婷视频在线 | 久久99国产精品免费网站 | 欧美一区二区三区激情视频 | 91在线一区二区 | 亚洲少妇天堂 | 亚洲精品成人网 | 999精品视频 | 精品国产一区二区三区在线观看 | 日韩av不卡在线播放 | 婷婷伊人综合 | 九七视频在线 | 久久视频在线免费观看 | 日韩午夜视频在线观看 | www.69xx| 日韩理论影院 | 成人免费在线视频 | 亚洲精品小区久久久久久 | 国产精品视频地址 | av一级片在线观看 | 久久精品国产精品亚洲 | 97色婷婷人人爽人人 | 久久久久久久久久福利 | 美女黄频 | 99一区二区三区 | 久久久久久久久久电影 | 国产精品美女久久久久aⅴ 干干夜夜 | 九九九九热精品免费视频点播观看 | 91av中文字幕 | 亚洲日韩欧美视频 | 91精品国产欧美一区二区成人 | 黄色一集片 | 欧美激情精品久久久久久 | 91在线视频在线观看 | 久久精品久久久久久久 | 欧美乱码精品一区二区 | 国产精品自产拍 | www黄色com | 香蕉影院在线播放 | 97天天干| 五月天婷婷丁香花 | 日韩免费视频 | 久久午夜鲁丝片 | 婷婷综合五月天 | 久久精品一二三区 | 中文字幕在线看 | 狠狠干夜夜操天天爽 | 欧美 国产 视频 | 精品资源在线 | 91精品国产一区二区三区 | 久久精品爱爱视频 | 韩国精品在线观看 | 91精品国产一区 | 久久综合五月婷婷 | 中文字幕a∨在线乱码免费看 | 中文字幕av日韩 | 亚洲国产黄色 | 狠狠干综合 | 色噜噜日韩精品欧美一区二区 | 中日韩欧美精彩视频 | av一区在线 | 亚洲欧美国产精品久久久久 | 最近更新中文字幕 | 国产精品视频免费 | 日日夜夜精品免费观看 | 亚洲成a人片在线www | 中文字幕av在线电影 | 91人人干 | 日韩av区 | 黄污视频大全 | 四虎成人精品永久免费av九九 | 国产丝袜制服在线 | 808电影免费观看三年 | 欧美日韩在线视频观看 | 欧美乱大交| 特级毛片aaa | 久久久久五月 | 中文字幕国产 | 国产剧情一区在线 | 高潮久久久久久 | 免费在线观看中文字幕 | 日韩精品中文字幕在线播放 | 亚洲精品在线观看的 | 久草观看视频 | 九九热免费在线观看 | 久久99久久99精品免费看小说 | av福利超碰网站 | 黄网站app在线观看免费视频 | 欧美一级片在线观看视频 | 五月婷婷视频 | 国外av在线 | 园产精品久久久久久久7电影 | 国产精品免费在线视频 | 美女国产网站 | 国产精品女同一区二区三区久久夜 | 成人啪啪18免费游戏链接 | 亚洲精品乱码 | 成人三级av | 九九热在线观看 | www视频在线播放 | 四虎影视国产精品免费久久 | 久精品在线 | 一本一道波多野毛片中文在线 | 99爱在线观看 | 国产第一二区 | 四虎在线免费观看视频 | 五月亚洲 | 精品国产乱码一区二区三区在线 | 亚洲日韩中文字幕 | 五月婷婷黄色 | 久久综合九色综合欧美狠狠 | 成年人电影免费看 | 色综合a| 人人超碰免费 | 国内精品久久久久 | 国产精品久久在线 |