日韩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++委托(三)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

久久久久国产精品视频 | 一区二区影院 | 色偷偷88欧美精品久久久 | 在线观看亚洲成人 | 天天人人综合 | 天堂在线一区二区 | 国产女教师精品久久av | 免费看国产视频 | 播五月婷婷| 国产精品不卡在线播放 | 日本高清免费中文字幕 | 亚洲精品午夜一区人人爽 | 在线黄网站 | 中文字幕国产精品一区二区 | 亚洲国产久 | 国产精品夜夜夜一区二区三区尤 | 91pony九色丨交换 | 婷婷六月天天 | 久久国产一区 | 最新国产福利 | 中文字幕一区二 | 在线中文字幕一区二区 | 日韩不卡高清 | 久久激情久久 | 在线亚洲成人 | 色香com.| 婷婷精品在线 | 欧美另类xxxx| 欧美一区二区在线免费看 | 亚洲成年片| 91av综合 | 96精品视频 | 蜜臀av夜夜澡人人爽人人桃色 | 色综合天天色 | 国产午夜精品在线 | 日日干激情五月 | 久久久九色精品国产一区二区三区 | 一级黄色片网站 | 欧美小视频在线 | 夜夜骑日日 | 国产成人一区二区三区久久精品 | 在线看一区二区 | 久草在线免费资源站 | 欧美亚洲一区二区在线 | 精品资源在线 | 99在线视频免费观看 | 久久精品一区二区三区四区 | 91爱爱网址 | 久久五月情影视 | 国产91在线免费视频 | 国产人成精品一区二区三 | 免费观看高清 | 在线观看中文字幕亚洲 | av官网 | 九九热久久免费视频 | 国产麻豆果冻传媒在线观看 | 日韩精品五月天 | 黄色www免费 | 久久免费视频精品 | 国产在线中文 | 在线观看视频亚洲 | 色的网站在线观看 | 五月天亚洲综合小说网 | 三级黄色免费片 | 亚洲精品毛片一级91精品 | 天天色天天爱天天射综合 | 日本精a在线观看 | 日韩免费观看av | 99tvdz@gmail.com| 久青草视频在线观看 | 午夜12点 | 五月婷婷综合激情网 | 在线观看日韩精品视频 | 国产精品电影在线 | 天天干天天干天天干天天干天天干天天干 | 亚洲精品美女久久17c | 国产精品国产精品 | 欧美精品久久久久久久亚洲调教 | 中文字幕不卡在线88 | 国产精品美女999 | 91亚洲精品久久久 | 日韩欧美精品在线观看视频 | 日韩精品中文字幕在线播放 | 草久久精品 | 日本成人中文字幕在线观看 | 国产又黄又猛又粗 | 欧美精品九九99久久 | av黄色免费在线观看 | 亚洲综合色视频在线观看 | 成人性生交视频 | 精品久久久久久亚洲综合网站 | 成人国产精品一区二区 | 欧美在线观看小视频 | 久久视频这里有精品 | 一区二区中文字幕在线播放 | 国产成人久久77777精品 | 一区二区三区国产欧美 | 精品久久亚洲 | 日韩一级片网址 | 激情偷乱人伦小说视频在线观看 | 999久久精品 | 97在线公开视频 | 中文伊人| 97在线免费 | 国产中文字幕视频在线观看 | 麻豆视频免费在线 | 五月婷婷丁香色 | 久久精品视频国产 | 最新中文字幕在线观看视频 | 日韩高清精品一区二区 | 国产精品久久久久久模特 | 99久久精品久久久久久动态片 | 狠狠色丁香婷婷综合久小说久 | 奇米先锋 | 久久99国产精品久久 | 深夜福利视频在线观看 | 久久精品99北条麻妃 | 亚洲资源 | 中文字幕国产一区二区 | 中日韩在线视频 | 美女又爽又黄 | 日日干影院 | 久久久久亚洲精品男人的天堂 | 狠狠88综合久久久久综合网 | 国产 日韩 中文字幕 | 免费看色网站 | 免费黄色av片 | 91在线中文 | 亚洲精品看片 | 久久精品看 | 久久久久久久av麻豆果冻 | 中文字幕一区二区在线播放 | 国产视频久久久久 | 精品亚洲在线 | 一本一本久久a久久精品综合妖精 | 天天干 夜夜操 | 西西444www | 国产精品情侣视频 | 久爱综合 | 久久久国产精品成人免费 | 中文字幕在线播放一区二区 | 国产亚洲成人网 | 色综合天天综合 | 中文字幕在线有码 | 国产日韩欧美在线 | 中文字幕丝袜 | 欧美一级久久久久 | 免费亚洲电影 | 996久久国产精品线观看 | 蜜臀一区二区三区精品免费视频 | 国产精品综合av一区二区国产馆 | 一区免费视频 | 一区二区三区视频网站 | 久久欧洲视频 | 国产亚洲婷婷免费 | 97色国产 | 中文字幕视频 | 久久手机视频 | 欧美日韩国产二区 | 人人澡人摸人人添学生av | 992tv在线| 亚洲专区欧美专区 | 欧美一区二区在线免费看 | 91桃色免费视频 | 久久这里只有精品9 | 黄色a级片在线观看 | 久色小说| 不卡av在线 | 51精品国自产在线 | 人人澡人人添人人爽一区二区 | 成年人看片| 久久香蕉国产精品麻豆粉嫩av | 伊人超碰在线 | 激情综合色图 | 久久视频免费看 | 少妇性bbb搡bbb爽爽爽欧美 | 亚洲免费永久精品国产 | 国产视频999| 久久精品视 | 99视频精品全部免费 在线 | 久久国产精品第一页 | 狠狠撸电影 | 激情黄色av | 免费网站在线 | 丁香综合av| 欧美一级特黄高清视频 | 亚洲另类人人澡 | 中文字幕成人 | 日韩一区正在播放 | 六月丁香色婷婷 | www.狠狠插.com| 高清精品在线 | 特级片免费看 | 夜色成人av | 不卡的av在线播放 | 亚洲在线高清 | 日本黄区免费视频观看 | 成人h视频在线 | 久久大香线蕉app | 中文字幕av在线播放 | 三级av网| 精品久久久久久国产偷窥 | 欧美日韩另类在线 | www.亚洲视频.com | 天天插天天操天天干 | 91丨九色丨蝌蚪丨对白 | 免费一级特黄毛大片 | 日本成人中文字幕在线观看 | 一区二区免费不卡在线 | www.日本色| 亚洲欧洲一级 | 91在线看视频 | 欧洲在线免费视频 | 最新色站 | 波多野结衣日韩 | 国产色拍拍拍拍在线精品 | 97超碰人人模人人人爽人人爱 | 婷婷干五月 | 欧美日本国产在线观看 | 欧美极品在线播放 | 亚洲欧洲一区二区在线观看 | 二区三区av| a在线观看免费视频 | 亚洲成人午夜av | 中文在线8新资源库 | 人人干干人人 | 日韩网页 | 亚洲视屏在线播放 | 国产高清av | 麻豆国产精品va在线观看不卡 | 毛片网在线播放 | 九九视频免费 | 激情丁香婷婷 | 久久www免费人成看片高清 | 四虎在线视频免费观看 | 97精品国自产拍在线观看 | 免费成人黄色av | 色综合久久88色综合天天 | 成人在线视频你懂的 | 精品女同一区二区三区在线观看 | 激情婷婷久久 | 亚洲在线激情 | 中文字幕中文字幕在线中文字幕三区 | 黄色成人av在线 | 91麻豆视频| 国产成人精品女人久久久 | 婷婷5月色 | av超碰免费在线 | 欧美日韩中文字幕综合视频 | av再线观看 | 夜色资源站wwwcom | 免费亚洲黄色 | 成人黄色资源 | 青草视频在线播放 | 久久五月婷婷丁香 | 亚洲一级二级三级 | 97精品国产91久久久久久 | 色综合久久久网 | 久草在线在线视频 | 又紧又大又爽精品一区二区 | 久久影院中文字幕 | 国产高清在线看 | 亚洲国产精选 | 天天干夜夜爽 | www.福利 | 免费a一级 | 亚洲国产成人久久综合 | 不卡在线一区 | 91在线超碰| 怡春院av | 热久在线 | 天天夜夜操 | 韩日电影在线 | 欧美日韩在线观看不卡 | 国产精品一区二区精品视频免费看 | 成人h动漫精品一区二 | 国产成人久久精品 | 亚洲欧美日韩中文在线 | 欧美精彩视频在线观看 | 91亚洲精品久久久中文字幕 | 精品女同一区二区三区在线观看 | 日韩18p| 六月激情网 | 免费看黄20分钟 | 欧美日韩色婷婷 | 婷婷av色综合| 精品欧美一区二区在线观看 | 五月婷婷中文 | 亚洲丝袜一区二区 | 91九色最新 | 91精品婷婷国产综合久久蝌蚪 | 久久精品5 | 国产男女无遮挡猛进猛出在线观看 | 日韩免费一级a毛片在线播放一级 | 999精品视频| 国产伦理久久精品久久久久_ | 亚洲日本色 | 亚洲欧美精品在线 | 国产一卡久久电影永久 | 久久不色 | 日韩天堂网 | 激情影音先锋 | 亚洲 欧美 国产 va在线影院 | 精品视频 | 久久久午夜视频 | 成人黄在线 | 91免费版在线观看 | 亚洲成人黄色在线 | 九九视频免费在线观看 | 五月婷婷av在线 | 中文字幕av免费在线观看 | 黄色av网站在线免费观看 | 99成人在线视频 | 精品免费一区二区三区 | 国产一级特黄电影 | 91看片淫黄大片在线播放 | 99在线精品视频在线观看 | 高清精品视频 | 国产丝袜| 九九视频这里只有精品 | 中文字幕123区 | 97在线观看免费高清 | 日韩av免费大片 | 国内精品久久久久影院优 | 国产最新在线观看 | 午夜精品一区二区三区视频免费看 | 91av色| 久久精品精品电影网 | 五月天电影免费在线观看一区 | 国产精品无av码在线观看 | 成人理论电影 | 国产精品美女久久久久久 | 色婷婷久久久 | 狠狠插天天干 | 精品在线视频观看 | 久久久久久久久久福利 | 亚洲免费精彩视频 | 久草在线视频精品 | 麻豆视频国产在线观看 | 国产一区不卡在线 | 日韩免费三级 | 免费黄色av | 1区2区3区在线观看 三级动图 | 成人久久久电影 | 久久免费视频在线观看30 | 91精品视频一区二区三区 | 国产视频手机在线 | 日韩在线观看中文字幕 | 精品国产乱码久久久久久三级人 | 激情五月婷婷网 | 中文视频在线播放 | 日韩欧美成 | 在线黄色观看 | 国产最新视频在线观看 | 中文字幕在线观看免费观看 | 激情偷乱人伦小说视频在线观看 | 高清av免费看 | 西西444www| 日本性高潮视频 | 婷婷久久一区 | 97色资源 | 观看免费av | 成年人国产视频 | 国产日韩欧美在线观看 | 国产 日韩 在线 亚洲 字幕 中文 | 国产成人一区二区精品非洲 | 日韩精品无码一区二区三区 | av免费片 | 黄色一级大片在线免费看产 | 国产亚洲精品电影 | 女人18精品一区二区三区 | 亚洲免费av在线 | 午夜久久 | 97香蕉久久超级碰碰高清版 | 久久久亚洲网站 | 久久久久久久久久国产精品 | 日韩专区 在线 | 麻豆小视频在线观看 | 99成人在线视频 | 草久久久久久久 | 精品国产诱惑 | 99久久99久久精品国产片果冰 | 少妇bbb| 在线观看深夜视频 | 国产又粗又猛又爽 | 成人av在线影视 | 黄色午夜 | 97在线成人 | 国产精品一区二区在线看 | 香蕉视频在线播放 | 91中文字幕永久在线 | 国产精彩视频一区二区 | 亚洲国产中文在线观看 | 亚洲成熟女人毛片在线 | 国产91区| 成人av直播 | 国产美女免费观看 | 91看片黄色 | 国产精品久久久久影院日本 | 国产中文自拍 | 久久电影中文字幕视频 | 亚洲精品tv | av在线收看| 99精品一区二区 | 99国产精品一区二区 | 久久久久亚洲精品男人的天堂 | 人人玩人人爽 | 96精品视频 | 免费在线观看av | 播五月婷婷 | 国产精品91一区 | 国产精品一区二区久久久 | 在线观看v片 | 免费成人结看片 | 成 人 黄 色 免费播放 | 手机av片 | 久久99精品久久只有精品 | 青草草在线视频 | 国产精品三级视频 | 色开心| 久久久国产精品麻豆 | 亚洲一二区视频 | 国产一区欧美一区 | 欧美国产日韩一区二区 | 成人国产精品入口 | 亚洲精品乱码久久久一二三 | 在线观看一区视频 | 在线视频日韩精品 | 久久综合激情 | 丁香六月激情婷婷 | 91麻豆文化传媒在线观看 | 中文字幕中文字幕中文字幕 | 国产免费视频一区二区裸体 | 久久99爱视频 | 中文字幕视频一区 | 欧美日韩中文在线视频 | 欧美一级特黄高清视频 | 中文字幕欲求不满 | 国产不卡av在线 | 日韩av一区二区三区在线观看 | 91av手机在线观看 | 免费av的网站 | 麻豆91在线看 | 五月天色站 | 97色狠狠| 亚洲另类视频在线 | 国产小视频在线播放 | 久久久久国产精品午夜一区 | 日本久久久久久久久久 | 日韩精品中文字幕久久臀 | 91精品久久久久久久久久入口 | 久草在线手机视频 | 国产精品永久在线观看 | 国产特级毛片aaaaaa毛片 | 最近最新最好看中文视频 | 国产精品久久久久国产精品日日 | 午夜精品久久久久久久99 | 国产精品一区二区精品视频免费看 | 成人午夜剧场在线观看 | 成人av在线直播 | 久久国产精品99久久久久久老狼 | 成人毛片一区 | 天天干天天看 | 91视频com | 一 级 黄 色 片免费看的 | 精品成人久久 | 久久亚洲私人国产精品 | 欧美美女视频在线观看 | 国产91精品欧美 | 99热在线网站 | 6080yy午夜一二三区久久 | 中文免费在线观看 | 色偷偷88888欧美精品久久 | 天天射综合网视频 | 久久精品国产一区二区三区 | 色天天综合久久久久综合片 | 久久综合久久八八 | 国产在线高清视频 | 免费高清av在线看 | 久草在线99| 精品视频免费观看 | 日韩高清不卡一区二区三区 | 西西4444www大胆艺术 | 91网址在线看| 狠狠色噜噜狠狠 | 久久草在线视频国产 | 欧美污网站 | 亚洲精品18日本一区app | 99精品电影| 亚洲欧美日韩精品久久奇米一区 | 久久久久久久电影 | 五月天欧美精品 | 日韩在线网址 | 久久久久久久影院 | 九九视频这里只有精品 | 亚洲欧洲一区二区在线观看 | 日韩欧美视频一区二区 | 99r国产精品| 99热只有精品在线观看 | 99久久日韩精品视频免费在线观看 | 在线观看视频一区二区三区 | 日本福利视频在线 | 日韩欧美视频免费看 | 欧美老人xxxx18 | 99精品久久精品一区二区 | 成人av影视 | 日本二区三区在线 | 人人插超碰| 精品亚洲成人 | 欧美巨乳网 | 亚洲 在线 | 又黄又爽的视频在线观看网站 | 91av成人 | 国产 精品 资源 | 美女久久久久久 | 99久久99久久精品国产片 | 久久视频免费在线观看 | 日韩av电影中文字幕在线观看 | 日本久久成人中文字幕电影 | 97超碰人人 | 在线小视频国产 | 国产不卡精品 | 欧美激情精品久久久久久免费印度 | 中文视频在线看 | 国产日本亚洲 | 三级免费黄色 | av导航福利 | 黄色大片网 | 激情婷婷色 | 国产日产精品久久久久快鸭 | 日韩xxx视频| 亚洲视频在线观看 | 综合色天天 | 天天色天天综合 | 一区二区三区四区五区六区 | 亚洲91中文字幕无线码三区 | 伊人色综合久久天天网 | 日韩三级在线 | 欧美在线视频a | 国产一区成人 | 97超碰在线免费观看 | 国产福利一区在线观看 | 成人网页在线免费观看 | 亚洲电影黄色 | 一区二区三区日韩精品 | 国产色资源 | 在线天堂亚洲 | 91人人网| 色婷婷av一区 | 91视频高清完整版 | av综合网址 | 亚洲精品麻豆视频 | 色就干| 免费观看福利视频 | 亚洲一区二区三区毛片 | 国产专区一 | 91在线视频免费 | 国产精品一区二区三区久久久 | 亚洲综合精品在线 | 一区二区三区免费在线观看视频 | 91视频传媒| 欧美日韩免费视频 | 久久久精品影视 | 久久国产欧美日韩精品 | 美女视频免费一区二区 | 福利视频一区二区 | 亚洲天堂网视频 | 黄色片网站 | 国产精品高潮呻吟久久久久 | 精品成人网 | 久草在线资源视频 | 成人精品在线 | 夜夜骑天天操 | 日日精品| 久久久久久久久久久国产精品 | 日韩在线首页 | 日韩欧美国产激情在线播放 | 日韩91av| 99久在线精品99re8热视频 | 国产精品中文字幕av | 91黄色小视频 | 亚洲天堂精品视频 | 精品久久久久久久久久久久久久久久久久 | 国产精品永久在线 | 99午夜| 日韩av二区 | 91精品系列| 免费高清av在线看 | 九九免费观看视频 | 久久久免费观看视频 | 国产高清av免费在线观看 | 在线观看国产高清视频 | 超碰97国产精品人人cao | 一区二区不卡 | 在线观看视频99 | 91传媒免费在线观看 | www黄在线 | 婷婷在线网站 | 国产一区在线看 | 在线三级av | 免费观看性生交 | 五月天色中色 | 精品亚洲成a人在线观看 | 国产精品久久一卡二卡 | 伊人婷婷网 | 亚洲电影毛片 | www在线免费观看 | 午夜黄色一级片 | 色婷婷激情五月 | 天天干天天操天天爱 | 成人a毛片 | 99热最新| 精品国产网址 | 国产成人性色生活片 | 国产精品久久久视频 | 蜜桃视频在线观看一区 | 中文字幕乱码亚洲精品一区 | 国产不卡在线观看 | 日韩午夜在线播放 | 丝袜一区在线 | 超碰电影在线观看 | 在线视频91| 成人免费视频免费观看 | 婷婷色在线播放 | 97操操操 | 青青草视频精品 | 久久久精品免费看 | 中文字幕av在线免费 | www五月天 | 视频一区在线播放 | 精品国产伦一区二区三区 | 久久综合色影院 | 97超碰人人干 | 国产精品毛片久久 | 国产在线精品一区 | 中文字幕乱偷在线 | 开心激情久久 | 在线播放亚洲激情 | 在线精品观看 | 亚洲专区在线播放 | 中文免费观看 | 亚州成人av在线 | 国产97色 | 亚洲开心激情 | 日韩欧美国产精品 | 一级片色播影院 | 91福利视频久久久久 | 精品国产伦一区二区三区观看体验 | 97国产超碰| 久久99久久精品 | 成人黄色小说在线观看 | 色在线视频网 | 黄网站色成年免费观看 | 有码中文在线 | 婷婷九月激情 | 黄色一级在线视频 | 欧美日韩成人 | 免费午夜在线视频 | 亚洲九九精品 | 99tvdz@gmail.com| 91热精品| 青青河边草免费直播 | 99r在线播放 | 夜夜视频欧洲 | 五月亚洲综合 | 97精品一区二区三区 | av片在线看| 国产高清精品在线观看 | 91亚州 | 欧美天堂久久 | 激情久久影院 | 蜜桃av人人夜夜澡人人爽 | 一区久久久 | 久碰视频在线观看 | 五月激情片 | 久久久国产一区二区 | 精品国产一区二区三区噜噜噜 | 日韩网站在线 | 国产一区二区精品91 | 国产视频资源 | 日韩久久午夜一级啪啪 | 中文字幕网站 | 四虎成人在线 | 中文亚洲欧美日韩 | 欧美大片在线观看一区 | 97国产超碰在线 | 91桃色免费视频 | 天天干天天插 | 97香蕉久久超级碰碰高清版 | 久久伦理电影网 | 超碰在线97国产 | 狠狠久久| 久久久精品国产免费观看同学 | 欧美在线一级片 | 国产视频一区二区在线 | 成人毛片久久 | 你操综合 | 日韩毛片一区 | 午夜精品久久久久久 | 日韩二区在线 | av福利网址导航大全 | 欧美,日韩 | 天天玩天天操天天射 | 一区二区三区国产欧美 | 久草在线久 | 国产一级在线观看视频 | 亚洲国产日韩一区 | freejavvideo日本免费 | 久久久久久久久久国产精品 | 国产九九精品视频 | 精品一区二区在线看 | 日韩精选在线观看 | 18pao国产成视频永久免费 | 黄色大片日本 | 国产精品成人品 | 欧美日韩国产一二三区 | 超碰在线观看97 | 国产精品久免费的黄网站 | 最近中文字幕久久 | 日韩一级网站 | 日日天天干| www免费网站在线观看 | 久久精品国产免费 | 91在线免费公开视频 | 在线观看av不卡 | 五月黄色 | 97av视频在线观看 | 日韩av网页| 国产高清视频在线免费观看 | 精品久久久久久国产91 | 久久都是精品 | 96超碰在线| 欧美精品被 | 日本精品在线视频 | 97成人精品视频在线播放 | 狠狠色丁香婷婷综合久久片 | 天天爽天天爽夜夜爽 | 在线一级片 | 西西人体4444www高清视频 | 免费色视频网站 | 你操综合| 香蕉在线观看 | 97干com | av中文字幕不卡 | 日本久久久久久 | 国产精品女 | 午夜久久精品 | 欧美日韩高清一区二区 国产亚洲免费看 | 午夜av免费看 | 五月天激情视频 | 97在线看| 亚洲精品日韩在线观看 | 亚洲精品在线资源 | 在线播放一区 | 69亚洲乱 | 亚洲精品中文在线 | 日韩视频1区 | 18国产精品福利片久久婷 | 欧美三级高清 | 看片的网址 | 亚色视频在线观看 | 亚洲手机av | 国产精品一区二区白浆 | 成人在线播放网站 | 久草精品视频在线播放 | 欧美a级在线免费观看 | 亚洲精品99久久久久中文字幕 | 国产黄色精品在线 | 国产黄色精品网站 | 日韩av图片 | 欧美成年人在线观看 | 涩涩网站免费 | 探花系列在线 | 99re6热在线精品视频 | 国产黄在线免费观看 | 激情丁香5月 | 最近免费观看的电影完整版 | 又黄又爽的视频在线观看网站 | 中文字幕在线观看的网站 | www九九热 | 中文字幕成人一区 | 五月天丁香视频 | 五月天最新网址 | 一级特黄aaa大片在线观看 | 成人在线视频在线观看 | 欧美极品少妇xxxx | 蜜桃视频日本 | 综合影视 | 天天撸夜夜操 | 欧美日韩p片 | 久久成人麻豆午夜电影 | 91欧美视频网站 | 国产高清视频在线免费观看 | 午夜性生活 | 黄网站www | 最近久乱中文字幕 | 中文字幕激情 | 91九色国产蝌蚪 | 国产亚洲午夜高清国产拍精品 | 亚洲精品视频在线播放 | 日本69hd | 久久99亚洲精品久久 | 亚洲成人午夜av | 丁香国产视频 | 亚洲黄色app | 日韩成人免费在线观看 | 国产精品女同一区二区三区久久夜 | 久久国产电影 | 久久av观看| 欧美日韩免费视频 | 国产精品一区二区在线观看 | 欧美淫视频 | 色噜噜日韩精品一区二区三区视频 | 国产精品av一区二区 | 97自拍超碰 | 国产麻豆传媒 | 在线观看91久久久久久 | 97视频在线观看网址 | 亚洲精品久久久久中文字幕m男 | www.五月婷 | 久久99精品久久久久久秒播蜜臀 | 日韩精品免费一区二区在线观看 | 视频一区二区在线 | 国产成人精品一区二三区 | 国产三级视频 | 中文字幕在线免费观看视频 | 999抗病毒口服液 | 中文字幕日韩在线播放 | 久久色网站 | 国产又粗又硬又长又爽的视频 | 亚洲精品综合在线 | 亚洲最新av网站 | 欧美日韩在线免费观看视频 | 四虎4hu永久免费 | 天堂久色 | 久久99视频精品 | 日本高清免费中文字幕 | 中文字幕中文字幕在线中文字幕三区 | 美女很黄免费网站 | 国产亚洲人成网站在线观看 | 中文字字幕在线 | 精品福利在线 | 亚洲日韩中文字幕 | 白丝av在线 | 国产1区在线 | 国产网红在线观看 | 中文字幕一区二区三区久久蜜桃 | 天天干天天在线 | 国产涩涩网站 | 久久99国产综合精品免费 | 成人黄色在线看 | 免费国产在线观看 | 国产极品尤物在线 | 亚洲国产成人在线观看 | 久久综合福利 | 国产精品三级视频 | 在线观看麻豆av | 天堂在线免费视频 | 国产在线不卡精品 | 视频在线观看91 | 9幺看片| av丁香| 亚洲干 | 天堂在线一区二区三区 | 最新精品视频在线 | 免费观看一级一片 | 国产精品久久久久久久久久了 | 狠狠色丁香| 丁香婷婷色综合亚洲电影 | 亚洲精品毛片一级91精品 | 97视频在线看 | 日日弄天天弄美女bbbb | 狠狠色丁香婷婷综合最新地址 | 欧美日本不卡视频 | 黄色大片日本免费大片 | 在线观看岛国av | 亚洲国产视频网站 | 一区二区三区精品在线视频 | 国产色综合 | 久久午夜电影网 | 久久久国产一区二区三区 | 成片视频免费观看 | av三级在线免费观看 | 五月导航 | 在线观看av黄色 | 国产精品九九久久久久久久 | 91久久久久久久一区二区 | 亚洲免费av在线播放 | 在线观看岛国av | 国产精品99久久免费黑人 | 女人18毛片a级毛片一区二区 | 中文字幕第一页在线 | 999久久久欧美日韩黑人 | 91精品国产综合久久福利不卡 | 国内精品久久久 | 成人午夜影院在线观看 | 免费大片av| 欧美成人一区二区 | 免费在线观看黄色网 | 亚洲精品视频网址 | 国产99免费视频 | 黄色网址a| 久久久久国产精品一区二区 | 五月天婷婷免费视频 | 97视频在线免费播放 | 99精品成人| 久久精品精品电影网 | 在线亚洲精品 | 精品高清美女精品国产区 | 最新中文字幕在线播放 | 手机在线看a | 日韩成人免费在线电影 | 波多野结衣电影一区 | 国产一级电影 | 992tv人人网tv亚洲精品 | 色激情在线 | 97在线观看免费观看高清 | 夜夜躁日日躁狠狠躁 | 国产1区2区3区在线 亚洲自拍偷拍色图 | 色婷婷狠狠操 | 人人射 | 天天干 夜夜操 | 日韩在线首页 | 日韩三级视频在线看 | 日韩一区二区三区免费电影 | 五月开心激情网 | 国产成人精品一区二区三区福利 | 日韩视频免费观看高清完整版在线 | 精品国产乱码久久久久久1区二区 | 四虎影视成人永久免费观看亚洲欧美 | 99av国产精品欲麻豆 | 中文在线字幕免 | 麻豆视频免费在线 | 99久久夜色精品国产亚洲96 | 国产男女无遮挡猛进猛出在线观看 | 天天人人综合 | 四虎国产视频 | 免费在线成人 | 国产成人一级 | 99性视频| 日韩中文在线视频 | 狠狠操欧美 | 婷婷 中文字幕 | 波多野结衣精品视频 | 色婷婷国产 | 夜夜躁天天躁很躁波 | 91av社区 | 欧洲精品二区 | 国产黑丝袜在线 | 亚洲免费一级 | 中文字幕免费在线看 | 中文字幕视频观看 | 免费看的黄色小视频 | 日韩欧美综合精品 | 亚洲精品伦理在线 | 日韩精品一区二区三区三炮视频 | 久久婷婷开心 | 国产在线看一区 | 91人人插 | 国产区精品在线 | 成人黄色在线 | 国产99久久99热这里精品5 | 久久综合网色—综合色88 | 免费a v观看 | 99视频精品免费观看, | 亚洲三级黄色 | 干干干操操操 | 高清在线一区二区 | 国产在线超碰 | 99re国产 | 91香蕉国产在线观看软件 | 成人一区二区三区在线 | 成人av免费看 | 激情五月看片 | 九九九在线| 中文字幕国产精品一区二区 | 成人作爱视频 | 激情av网| 天天爽夜夜爽精品视频婷婷 | 人人爽人人看 | 91最新中文字幕 | 成年人在线看视频 | 国产亚洲久一区二区 | 干干夜夜 | 在线视频app | 高清不卡免费视频 | 麻豆成人小视频 | 国产成人一区二区三区电影 | 国产成人免费观看久久久 | 中文字幕 91 | 97在线公开视频 | 国产精品免费看久久久8精臀av | 波多野结衣精品在线 | 国产精品视频免费 | 探花视频免费观看 | 99在线免费视频 | 日韩成人邪恶影片 | av在线com|