WIPO logo
Mobile | Deutsch | Español | Français | 日本語 | 한국어 | Português | Русский | 中文 | العربية |
PATENTSCOPE

Search International and National Patent Collections
World Intellectual Property Organization
Search
 
Browse
 
Translate
 
Options
 
News
 
Login
 
Help
 
Machine translation
1. (WO2016176058) COMPILER OPTIMIZATION OF COROUTINES
Latest bibliographic data on file with the International Bureau   

Pub. No.:    WO/2016/176058    International Application No.:    PCT/US2016/027645
Publication Date: 03.11.2016 International Filing Date: 15.04.2016
Chapter 2 Demand Filed:    04.07.2016    
IPC:
G06F 9/45 (2006.01), G06F 9/44 (2006.01)
Applicants: MICROSOFT TECHNOLOGY LICENSING, LLC [US/US]; Attn: Patent Group Docketing (Bldg. 8/1000) One Microsoft Way Redmond, Washington 98052-6399 (US)
Inventors: RADIGAN, James J.; (US).
NISHANOV, Gor; (US)
Agent: MINHAS, Sandip; (US).
EICKELKAMP, Thomas; (DE)
Priority Data:
62/153,556 28.04.2015 US
14/751,262 26.06.2015 US
Title (EN) COMPILER OPTIMIZATION OF COROUTINES
(FR) OPTIMISATION DE COMPILATEUR DE COROUTINES
Abstract: front page image
(EN)As a memory usage optimization, a compiler identifies coroutines whose activation frames can be allocated on a caller's stack instead of allocating the frame on the heap. For example, when the compiler determines that a coroutine C's life cannot extend beyond the life of the routine R that first calls the coroutine C, the compiler generates code to allocate the activation frame for C on the stack of R, instead of generating code to allocate C's frame from heap memory. In some cases, as another optimization, code for coroutine C is also inlined with code for the routine R that calls C. Coroutine activation frame content variations and layout variations are also described.
(FR)Selon l'invention, en tant qu'optimisation de l'utilisation de mémoire, un compilateur identifie des coroutines dont les trames d'activation peuvent être attribuées sur un empilement de l'appelant au lieu de les attribuer à la trame sur le tas. Par exemple, lorsque le compilateur détermine que la durée de vie d'une coroutine C ne peut pas être prolongée au-delà de la vie d'une routine R qui appelle la coroutine C en premier, le compilateur génère un code afin d'attribuer la trame d'activation pour C sur l'empilement d'R, au lieu de générer un code pour affecter la trame de C depuis la mémoire du tas. Dans certains cas, en tant qu'autre optimisation, un code pour une coroutine C est également inclus avec un code pour la routine R qui appelle C. L'invention concerne également des variations de contenu de trame d'activation et des variations de disposition de coroutine.
Designated States: AE, AG, AL, AM, AO, AT, AU, AZ, BA, BB, BG, BH, BN, BR, BW, BY, BZ, CA, CH, CL, CN, CO, CR, CU, CZ, DE, DK, DM, DO, DZ, EC, EE, EG, ES, FI, GB, GD, GE, GH, GM, GT, HN, HR, HU, ID, IL, IN, IR, IS, JP, KE, KG, KN, KP, KR, KZ, LA, LC, LK, LR, LS, LU, LY, MA, MD, ME, MG, MK, MN, MW, MX, MY, MZ, NA, NG, NI, NO, NZ, OM, PA, PE, PG, PH, PL, PT, QA, RO, RS, RU, RW, SA, SC, SD, SE, SG, SK, SL, SM, ST, SV, SY, TH, TJ, TM, TN, TR, TT, TZ, UA, UG, US, UZ, VC, VN, ZA, ZM, ZW.
African Regional Intellectual Property Organization (BW, GH, GM, KE, LR, LS, MW, MZ, NA, RW, SD, SL, ST, SZ, TZ, UG, ZM, ZW)
Eurasian Patent Organization (AM, AZ, BY, KG, KZ, RU, TJ, TM)
European Patent Office (AL, AT, BE, BG, CH, CY, CZ, DE, DK, EE, ES, FI, FR, GB, GR, HR, HU, IE, IS, IT, LT, LU, LV, MC, MK, MT, NL, NO, PL, PT, RO, RS, SE, SI, SK, SM, TR)
African Intellectual Property Organization (BF, BJ, CF, CG, CI, CM, GA, GN, GQ, GW, KM, ML, MR, NE, SN, TD, TG).
Publication Language: English (EN)
Filing Language: English (EN)