CN102736943A - Dynamic compiling and executing method of embedded browser engine - Google Patents
Dynamic compiling and executing method of embedded browser engine Download PDFInfo
- Publication number
- CN102736943A CN102736943A CN2012101919936A CN201210191993A CN102736943A CN 102736943 A CN102736943 A CN 102736943A CN 2012101919936 A CN2012101919936 A CN 2012101919936A CN 201210191993 A CN201210191993 A CN 201210191993A CN 102736943 A CN102736943 A CN 102736943A
- Authority
- CN
- China
- Prior art keywords
- bytecode
- compiling
- object code
- abstract syntax
- syntax tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Devices For Executing Special Programs (AREA)
Abstract
The invention belongs a dynamic compiling and executing method of a JavaScript engine of an embedded browser, and the method comprises: creating and expanding a combined cache region, compiling a script hot point and an abstract syntax tree, scanning the abstract syntax tree, compiling byte codes and target codes, executing a script and determining and compiling a hot point region. According to the invention, the hot point scanning process is performed in front of the process of converting the abstract syntax tree into byte codes in a dynamic compiling mode in the JavaScript engine of the embedded browser and the advantages of fast explanation and execution response speed and high JIT execution efficiency are fully combined to further detect the hot point beyond the circulating structure in the explanation and execution process. Therefore, the method has the advantages of effectively improving the synchronism and efficiency of dynamic compiling of the JavaScript engine of the embedded browser and the JavaScript script operation, shortening the delay time between the dynamic compiling and executing, quickly executing the JavaScript script, updating the information displayed on a webpage in time and effectively improving the utilization effect of the user.
Description
Technical field
The invention belongs to the built-in browser technical field; With regard to a kind of JavaScript engine on-the-flier compiler of built-in browser and the disposal route of execution JavaScript script, adopt this method can effectively improve the synchronism and the efficient of on-the-flier compiler of JavaScript engine and JavaScript script executing especially.
Background technology
Browser is a kind of client software based on HTTP; Its major function is to download web page elements such as web document, picture, CSS from the webserver; The factor that influences browser performance has a lot, and the performance of script engine is one of key factor of decision browser performance.The performance competition of browser is said in a sense, is exactly the performance battle of script engine.The client web application that the affairs that script engine mainly need be handled are exactly the parsing dynamic web page, processing is relevant.These use script commonly used is the JavaScript language; The JavaScript language is widely used because it is distinctive based on objectivity, event-driven property, security.Because the JavaScript language itself is an interpreted language,, the JavaScript engine mainly contains executive mode, the instant compile mode of JIT (instant compiler), the on-the-flier compiler mode explained so carrying out the mode of script.The advantage of explaining executive mode is the delay weak point that carries out script executing; Shortcoming be when carrying out repeatedly the circulation script of carrying out efficient low (after explaining one, one of execution; Because of occur in the source program circulation, interpretive program also repeatedly explain afterwards and move this group statement; The speed of service is very slow), just seem unable to do what one wishes when tackling complicated script operation; The instant compile mode of JIT becomes object code to carry out the script compile of integral body again; Explain that relatively its efficient of executive mode has great raising; But the instant compile mode of JIT is to carry out after whole script is compiled again; Thereby thereby the long delay that causes than the length blanking time of front and back compiling; In order to reduce this delay, to improve operational efficiency, when compiling produces object code, can not carry out sufficient compile optimization and handle; The on-the-flier compiler mode is on the basis of the instant compile mode of JIT; Research influences the key area of script executing efficient; And only carry out JIT and compile (selectivity compiles immediately) immediately to these key areas; This mode has more reasonably been used the JIT(instant compiler); And traditional relatively JIT compiles immediately; Its compiling is more flexible; Postpone also shorter; But this on-the-flier compiler mode needed the JavaScript script is all translated into intermediate code before carrying out; Carrying out key area before intermediate code is carried out and in the implementation then surveys; It is improper to cause its key area to survey opportunity, longer to the compiling hysteresis quality of key area; Simultaneously, scanning and record loop code need the labor time, and then influence instantaneity, efficient and user's result of use of the execution of JavaScript script.
Summary of the invention
The objective of the invention is defective, propose a kind of built-in browser engine on-the-flier compiler manner of execution to the background technology existence; With further shortening on-the-flier compiler and the time delay between carrying out, effectively improve synchronism and the efficient that built-in browser JavaScript engine on-the-flier compiler and JavaScript script move; Reach quick execution Javascript script; More the information that shown of new web page Javascript script is timely, and the purposes such as result of use of effectively improving the user.Thereby the instantaneity and the efficient that overcome the current web page page JavaScript script executing that the on-the-flier compiler of background technology built-in browser JavaScript engine exists are poor, and retardance is still longer, defectives such as user's result of use difference.
Solution of the present invention is in the JavaScript of background technology built-in browser engine, to adopt on the basis of on-the-flier compiler; Advance to engine and abstract syntax tree is converted in the process of bytecode the opportunity that will scan (detection) focus; Let like this engine to the processing of focus more early, more abundant; Also avoided the generation of the intermediate code of focus, and the focus direct compilation is become object code, practiced thrift the processing engines time; And the advantage that fully combines explanation execution and JIT to carry out; Promptly through ordinary node is compiled into bytecode, focus (loop structure) is compiled into object code; Engine then uses the former and explain to carry out, improving the response speed of script executing, the efficient that engine finds corresponding object code, carries out with effective raising focus through the redirect mark the latter; In the explanation implementation of engine, further survey the hot spot region beyond the loop structure simultaneously, and it is compiled into object code, to improve the execution efficient of hot spot region; In addition, with the big buffer zone of continuous storage (integral body) formula that background technology adopted, change into adopt a plurality of minibuffers district be combined into the big buffer area of logic, to realize the storage of redirect connection fast and object code, the expense of avoiding the mass data copy to be brought; The present invention promptly realizes its goal of the invention with this.Therefore, the inventive method comprises:
A. the foundation of combined type buffer zone and expansion thereof: adopt the mode in minibuffer district to store object code and bytecode, use the administrative mechanism of combined type buffer zone each minibuffer district to be combined to form a big buffer zone with logical relation through the redirect ways of connecting; When the expansion buffer zone, only needing on basis, existing minibuffer district, to increase one or more corresponding minibuffers district gets final product;
B. script focus and compiling abstract syntax tree, the compiling of scanning abstract syntax tree and bytecode, object code:
B
1. confirming of compiling abstract syntax tree and focus: after engine becomes abstract syntax tree by background technology (background technology conventional method) with the JavaScript script compile, the loop structure abstract syntax subtree in the abstract syntax tree as focus, is changeed step B
2
B
2. scanning abstract syntax tree: in abstract syntax tree is compiled into the process of bytecode, promptly the node to abstract syntax tree scans successively, to determine that it is ordinary node or focus, after having scanned a node, promptly changes steps A
3, until been scanned;
B
3. the compiling of bytecode, object code: to step B
2The focus of confirming when the ordinary node of confirming during the scanning abstract syntax tree is compiled into bytecode or the scanning of byte code stream then direct compilation becomes object code; Meanwhile between bytecode or byte code stream and the object code that is compiled into, insert the redirect mark, then its result is stored in the buffer zone;
C. definite, the compiling of script executing and hot spot region:
C
1. confirming of script executing and hot spot region: the bytecode that step B is compiled into and deposits in the steps A carries out the initialization tag and the execution of execution area; Judge in the implementation whether bytecode is the redirect mark; Directly explain execution if not the redirect mark; If the redirect mark then obtain the object code corresponding with this redirect mark after, carry out; In explaining implementation, the bytecode section of each execution is carried out zone marker, with carried out repeatedly in the implementation zone more than 2 times as the hot spot region, change step C
2, other zone is as non-hot spot region; Finish until script executing;
C
2. the compiling of hot spot region: judge at first whether the bytecode of forming the hot spot region contains the redirect mark, if step C
1The hot spot region that the bytecode by not containing the redirect mark that detects is formed, then directly bytecode is compiled into object code, if step C
1What detect is the hybrid hot spot region that formed by the bytecode that contains the redirect mark, then it is united is compiled into object code; Bytecode that each hot spot region that will detect simultaneously is corresponding or the bytecode that contains the redirect mark are revised as new redirect mark, change step C
1
Comprise object code buffer zone and bytecode buffer zone in the district of minibuffer described in the steps A.And at step C
2Described in the bytecode that contains the redirect mark is formed the Mixed Zone, be compiled into object code through uniting; Its method of uniting compiling is bytecode to be compiled in the process of object code at engine; In case find that the redirect mark is about to the corresponding object code of this redirect mark and is connected to after the current goal sign indicating number, continue the process of associating compiling again.
The present invention because in the JavaScript of built-in browser engine, adopted the on-the-flier compiler mode, the opportunity that will scan (detection) focus advances to engine and abstract syntax tree is converted in the process of bytecode; Allow engine to the processing of focus more early, more abundant; Also omitted the intermediate code of focus generation, the focus direct compilation is become object code, saved the processing engines time; Fully combine simultaneously and explain the fast and high advantage of JIT execution efficient of execution response speed; And in the explanation implementation of engine, further survey the focus beyond the loop structure, not only improved script executing response speed, but also effectively improved the execution efficient of focus and hot spot region; The present invention adopts the minibuffer district to be combined to form a big buffering area with logical relation simultaneously, replaces the big buffering area of continuous storage (integral body) formula that background technology adopted, not only made things convenient for buffering area capacity extension, but also the mass data of having avoided adopting the big buffering area institute of continuous storage mode to carry out copy the expense of bringing.Thereby; The present invention has the synchronism and the efficient that can effectively improve built-in browser JavaScript engine on-the-flier compiler and the operation of JavaScript script; Shortened on-the-flier compiler and carry out between time delay, to carry out the Javascript script quick, more the information that shown of new web page Javascript script in time, and effectively improved user's characteristics such as result of use.
Description of drawings
Fig. 1 is a specific embodiment of the invention schematic flow sheet.
Embodiment
This embodiment is an example with DTV STB processing scripts code: this case script code has comprised and has also comprised the event response processing in loop structure, the script, and the user can constantly trigger this event response.To specifically set forth processing method of the present invention to the processing of this instance according to built-in browser Javascript engine now.
Accompanying drawing 1 is this embodiment schematic flow sheet, and the on-the-flier compiler manner of execution of engine is following:
Steps A: at first set up the minibuffer district be used for bytecode and object code access, be bytecode buffer zone and object code buffer zone; Be used for preserving respectively and calling bytecode, object code, and realize management each minibuffer district object code redirect connection through the administrative mechanism of logical buffers;
Step B1:JavaScript script gets into the JavaScript engine through grammatical and semantic and lexical analysis, is compiled into abstract syntax tree, and the loop structure abstract syntax subtree in the abstract syntax tree is labeled as focus, changes step B then
2-1
Step B
2-1: the scanning abstract syntax tree, judge whether the node of current scanning is focus, if then change step B
3-2, otherwise change step B
3-1
Step B
3-1: after will compiling the bytecode or byte code stream and store byte sign indicating number or byte code stream of present node, change step B
2-2
Step B
2-2: judge whether been scanned of abstract syntax tree, if been scanned, change step C
1-1, otherwise change step B
2-1
Step B
3-2: focus is compiled into object code and stores this object code, change step B simultaneously
3-3
Step B
3-3: after adding the redirect mark that points to the focus object code after the byte code sequence of in steps A, having preserved, change step B
2-2
Step B
2-2: judge whether been scanned of abstract syntax tree, if been scanned, change step C
1-1, otherwise change step B
2-1
Step C
1-1: a bytecode in the byte code sequence of preserving among the extraction step A, if the corresponding zone of this bytecode is not labeled, then its zone marker is initialized as 0 time, change step C
1-2
Step C
1-2: judge whether current bytecode is the redirect mark, if, change step C
1-3, otherwise change step C
1-4
Step C
1-3: according to object code of preserving in the redirect marker extraction steps A and execution, carry out the end back and change step C
1-6:
Step C
1-4: to the bytecode execution that makes an explanation, add 1 on simultaneously that this bytecode is the corresponding former basis of zone marker, executing the back changes step C
1-5
Step C
1-5: judge whether current bytecode zone is performed (being that zone marker is more than or equal to 2) more than 2 times, if, change step C
2-1, otherwise change step C
1-6
Step C
1-6: judge whether the bytecode execution is accomplished, if accomplish, change step C
1-7Finish, otherwise change step C
1-1
Step C
2-1: judge whether the bytecode in the hot spot region contains the redirect mark, if contain, change step C
2-3, otherwise change step C
2-2
Step C
2-2: current hot spot region bytecode is compiled into object code, and stores this object code, change step C simultaneously
2-4
Step C
2-3: the bytecode in the current hot spot region of containing the redirect mark partly is compiled into object code, and with the hot spot region in the corresponding object code of redirect mark connect, and change step C
2-4
Step C
2-4: change bytecode in the current hot spot region or the bytecode that contains the redirect mark into new redirect mark, change step C
1-6Judge that whether the bytecode execution is accomplished, if accomplish, changes step C
1-7, otherwise change step C
1-1
Step C
1-7: script executing finishes.
Claims (3)
1. built-in browser engine on-the-flier compiler manner of execution comprises:
A. the foundation of combined type buffer zone and expansion thereof: adopt the mode in minibuffer district to store object code and bytecode, use the administrative mechanism of combined type buffer zone each minibuffer district to be combined to form a big buffer zone with logical relation through the redirect ways of connecting; When the expansion buffer zone, only need on basis, existing minibuffer district, to increase one or more corresponding minibuffers district;
B. script focus and compiling abstract syntax tree, the compiling of scanning abstract syntax tree and bytecode, object code:
B
1. confirming of compiling abstract syntax tree and focus: after engine becomes abstract syntax tree by background technology with the JavaScript script compile, the loop structure abstract syntax subtree in the abstract syntax tree as focus, is changeed step B
2
B
2. scanning abstract syntax tree: in abstract syntax tree is compiled into the process of bytecode, promptly the node to abstract syntax tree scans successively, to determine that it is ordinary node or focus, after having scanned a node, promptly changes steps A
3, until been scanned;
B
3. the compiling of bytecode, object code: to step B
2The focus of confirming when the ordinary node of confirming during the scanning abstract syntax tree is compiled into bytecode or the scanning of byte code stream then direct compilation becomes object code; Meanwhile between bytecode or byte code stream and the object code that is compiled into, insert the redirect mark, then its result is stored in the buffer zone;
C. definite, the compiling of script executing and hot spot region:
C
1. confirming of script executing and hot spot region: the bytecode that step B is compiled into and deposits in the steps A carries out the initialization tag and the execution of execution area; Judge in the implementation whether bytecode is the redirect mark; Directly explain execution if not the redirect mark; If the redirect mark then obtain the object code corresponding with this redirect mark after, carry out; In explaining implementation, the bytecode section of each execution is carried out zone marker, with carried out repeatedly in the implementation zone more than 2 times as the hot spot region, change step C
2, other zone is as non-hot spot region; Finish until script executing;
C
2. the compiling of hot spot region: judge at first whether the bytecode of forming the hot spot region contains the redirect mark, if step C
1The hot spot region that the bytecode by not containing the redirect mark that detects is formed, then directly bytecode is compiled into object code, if step C
1What detect is the hybrid hot spot region that formed by the bytecode that contains the redirect mark, then it is united is compiled into object code; Bytecode that each hot spot region that will detect simultaneously is corresponding or the bytecode that contains the redirect mark are revised as new redirect mark, change step C
1
2. by the said built-in browser engine of claim 1 on-the-flier compiler manner of execution, it is characterized in that the district of minibuffer described in the steps A comprises object code buffer zone and bytecode buffer zone.
3. by the said built-in browser engine of claim 1 on-the-flier compiler manner of execution, it is characterized in that at step C
2Described in the bytecode that contains the redirect mark is formed the Mixed Zone, be compiled into object code through uniting; Its method of uniting compiling is bytecode to be compiled in the process of object code at engine; In case find that the redirect mark is about to the corresponding object code of this redirect mark and is connected to after the current goal sign indicating number, continue the process of associating compiling again.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210191993.6A CN102736943B (en) | 2012-06-12 | 2012-06-12 | Dynamic compiling and executing method of embedded browser engine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210191993.6A CN102736943B (en) | 2012-06-12 | 2012-06-12 | Dynamic compiling and executing method of embedded browser engine |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102736943A true CN102736943A (en) | 2012-10-17 |
CN102736943B CN102736943B (en) | 2015-06-17 |
Family
ID=46992495
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210191993.6A Expired - Fee Related CN102736943B (en) | 2012-06-12 | 2012-06-12 | Dynamic compiling and executing method of embedded browser engine |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102736943B (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279373A (en) * | 2013-05-31 | 2013-09-04 | 广州市动景计算机科技有限公司 | Method and device for updating browser shell functions |
CN103823694A (en) * | 2014-02-10 | 2014-05-28 | 深圳市同洲电子股份有限公司 | Method and device for updating script file |
CN105589729A (en) * | 2015-12-28 | 2016-05-18 | 北京锐安科技有限公司 | Dynamic compiling method and device based on embedded virtual machine |
CN105608346A (en) * | 2015-12-25 | 2016-05-25 | 北京奇虎科技有限公司 | ELF file protection method and system based on ARM instruction virtualization |
CN110347399A (en) * | 2019-05-31 | 2019-10-18 | 深圳绿米联创科技有限公司 | Data processing method, real time computation system and information system |
CN111176625A (en) * | 2019-12-31 | 2020-05-19 | 杭州趣链科技有限公司 | Method for efficiently compiling identity intelligent contract at browser end |
CN116302221A (en) * | 2023-03-27 | 2023-06-23 | 河南牧业经济学院 | Function graph drawing method and system based on browser |
CN117251553A (en) * | 2023-11-15 | 2023-12-19 | 知学云(北京)科技股份有限公司 | Intelligent learning interaction method based on custom plug-in and large language model |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101231597A (en) * | 2008-02-01 | 2008-07-30 | 东信和平智能卡股份有限公司 | Method for execution of JAVA program instruction in smart card |
US7421687B1 (en) * | 2003-10-08 | 2008-09-02 | Sun Microsystems, Inc. | Optimizing branch condition expressions in a JIT compiler |
CN102202242A (en) * | 2011-05-19 | 2011-09-28 | 广东星海数字家庭产业技术研究院有限公司 | Realization method of JavaScript interpreter based on set-top box browser |
-
2012
- 2012-06-12 CN CN201210191993.6A patent/CN102736943B/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7421687B1 (en) * | 2003-10-08 | 2008-09-02 | Sun Microsystems, Inc. | Optimizing branch condition expressions in a JIT compiler |
CN101231597A (en) * | 2008-02-01 | 2008-07-30 | 东信和平智能卡股份有限公司 | Method for execution of JAVA program instruction in smart card |
CN102202242A (en) * | 2011-05-19 | 2011-09-28 | 广东星海数字家庭产业技术研究院有限公司 | Realization method of JavaScript interpreter based on set-top box browser |
Non-Patent Citations (3)
Title |
---|
CHRISTIAN HAUBL ET AL.: "《ACM Proceedings of the 9th International Conference on Principles and Practice of Programming in Java 》", 31 December 2011, 2011 ACM ISBN 978-1-4503-0935-6 * |
曾亮: "嵌入式浏览器Javascript引擎的分析与优化", 《中国优秀硕士学位论文全文数据库(电子期刊)信息科技辑》 * |
朱晓珺 等: "C/C++程序的运行时优化研究", 《软件导刊》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103279373B (en) * | 2013-05-31 | 2017-09-22 | 广州市动景计算机科技有限公司 | The update method and device of browser case function |
CN103279373A (en) * | 2013-05-31 | 2013-09-04 | 广州市动景计算机科技有限公司 | Method and device for updating browser shell functions |
CN103823694A (en) * | 2014-02-10 | 2014-05-28 | 深圳市同洲电子股份有限公司 | Method and device for updating script file |
CN105608346A (en) * | 2015-12-25 | 2016-05-25 | 北京奇虎科技有限公司 | ELF file protection method and system based on ARM instruction virtualization |
CN105589729A (en) * | 2015-12-28 | 2016-05-18 | 北京锐安科技有限公司 | Dynamic compiling method and device based on embedded virtual machine |
CN110347399B (en) * | 2019-05-31 | 2023-06-06 | 深圳绿米联创科技有限公司 | Data processing method, real-time computing system and information system |
CN110347399A (en) * | 2019-05-31 | 2019-10-18 | 深圳绿米联创科技有限公司 | Data processing method, real time computation system and information system |
CN111176625A (en) * | 2019-12-31 | 2020-05-19 | 杭州趣链科技有限公司 | Method for efficiently compiling identity intelligent contract at browser end |
CN111176625B (en) * | 2019-12-31 | 2023-07-28 | 杭州趣链科技有限公司 | Method for efficiently compiling intelligent contract of solubility at browser end |
CN116302221A (en) * | 2023-03-27 | 2023-06-23 | 河南牧业经济学院 | Function graph drawing method and system based on browser |
CN116302221B (en) * | 2023-03-27 | 2023-10-10 | 河南牧业经济学院 | Function graph drawing method and system based on browser |
CN117251553A (en) * | 2023-11-15 | 2023-12-19 | 知学云(北京)科技股份有限公司 | Intelligent learning interaction method based on custom plug-in and large language model |
CN117251553B (en) * | 2023-11-15 | 2024-02-27 | 知学云(北京)科技股份有限公司 | Intelligent learning interaction method based on custom plug-in and large language model |
Also Published As
Publication number | Publication date |
---|---|
CN102736943B (en) | 2015-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102736943A (en) | Dynamic compiling and executing method of embedded browser engine | |
US8819649B2 (en) | Profile guided just-in-time (JIT) compiler and byte code generation | |
CN100465895C (en) | Compiler, compilation method, and compilation program | |
KR20200043467A (en) | Method and terminal device for extracting web page content | |
CN103282890B (en) | Program executing apparatus and compiler system | |
CN102483700B (en) | Lightweight service based on dynamic binary rewriter framework | |
CN106611044B (en) | SQL optimization method and equipment | |
CN107450928B (en) | Hybrid development method based on cache technology | |
CN102567384A (en) | Webpage multi-language dynamic switching method and system based on webpage browser engine | |
CN102830975A (en) | Method and device for code conversion from assembly language to high-level language | |
KR20120083803A (en) | Extra code generating apparatus and method for virtual machine | |
CN101271398B (en) | Recognition method of multi-path branch structure | |
KR101287371B1 (en) | Method and Device for Collecting Web Contents and Computer-readable Recording Medium for the same | |
CN105022667B (en) | One kind being based on built-in browser CSS engine parallel methods | |
US20220245068A1 (en) | Reduced instructions to generate global variable addresses | |
CN105938496A (en) | Webpage content extraction method and apparatus | |
CN105094941A (en) | Method and device for achieving multiple languages | |
CN105718279B (en) | Generation method and device based on Firefox OS application | |
CN106293862A (en) | A kind of analysis method and device of expandable mark language XML data | |
CN101986303A (en) | Digital television HSML analysis method and system applying DOM analysis engine | |
CN102354318B (en) | Device and method for reducing ad hoc query languages in database system | |
CN109918074A (en) | Compiling link optimization method | |
CN103927384A (en) | Multi-hierarchy data synchronism method and system between heterogeneous systems through HTML script analysis | |
CN102360306A (en) | Method for extracting and optimizing information of cyclic data flow charts in high-level language codes | |
US20170344351A1 (en) | Information processing apparatus, compiling management method, and recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150617 Termination date: 20180612 |