OLD | NEW |
1 // Copyright 2008 the V8 project authors. All rights reserved. | 1 // Copyright 2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 122 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
133 | 133 |
134 // Returns true if --no-crankshaft mode is on. | 134 // Returns true if --no-crankshaft mode is on. |
135 var isNeverOptimize; | 135 var isNeverOptimize; |
136 | 136 |
137 // Returns true if --always-opt mode is on. | 137 // Returns true if --always-opt mode is on. |
138 var isAlwaysOptimize; | 138 var isAlwaysOptimize; |
139 | 139 |
140 // Returns true if given function in interpreted. | 140 // Returns true if given function in interpreted. |
141 var isInterpreted; | 141 var isInterpreted; |
142 | 142 |
143 // Returns true if given function is compiled by a base-line compiler. | |
144 var isBaselined; | |
145 | |
146 // Returns true if given function is optimized. | 143 // Returns true if given function is optimized. |
147 var isOptimized; | 144 var isOptimized; |
148 | 145 |
149 // Returns true if given function is compiled by Crankshaft. | 146 // Returns true if given function is compiled by Crankshaft. |
150 var isCrankshafted; | 147 var isCrankshafted; |
151 | 148 |
152 // Returns true if given function is compiled by TurboFan. | 149 // Returns true if given function is compiled by TurboFan. |
153 var isTurboFanned; | 150 var isTurboFanned; |
154 | 151 |
155 | 152 |
(...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
537 } | 534 } |
538 | 535 |
539 isInterpreted = function isInterpreted(fun) { | 536 isInterpreted = function isInterpreted(fun) { |
540 var opt_status = OptimizationStatus(fun, ""); | 537 var opt_status = OptimizationStatus(fun, ""); |
541 assertTrue((opt_status & V8OptimizationStatus.kIsFunction) !== 0, | 538 assertTrue((opt_status & V8OptimizationStatus.kIsFunction) !== 0, |
542 "not a function"); | 539 "not a function"); |
543 return (opt_status & V8OptimizationStatus.kOptimized) === 0 && | 540 return (opt_status & V8OptimizationStatus.kOptimized) === 0 && |
544 (opt_status & V8OptimizationStatus.kInterpreted) !== 0; | 541 (opt_status & V8OptimizationStatus.kInterpreted) !== 0; |
545 } | 542 } |
546 | 543 |
547 // NOTE: This predicate also returns true for functions that have never | |
548 // been compiled (i.e. that have LazyCompile stub as a code). | |
549 isBaselined = function isBaselined(fun) { | |
550 var opt_status = OptimizationStatus(fun, ""); | |
551 assertTrue((opt_status & V8OptimizationStatus.kIsFunction) !== 0, | |
552 "not a function"); | |
553 return (opt_status & V8OptimizationStatus.kOptimized) === 0 && | |
554 (opt_status & V8OptimizationStatus.kInterpreted) === 0; | |
555 } | |
556 | |
557 isOptimized = function isOptimized(fun) { | 544 isOptimized = function isOptimized(fun) { |
558 var opt_status = OptimizationStatus(fun, ""); | 545 var opt_status = OptimizationStatus(fun, ""); |
559 assertTrue((opt_status & V8OptimizationStatus.kIsFunction) !== 0, | 546 assertTrue((opt_status & V8OptimizationStatus.kIsFunction) !== 0, |
560 "not a function"); | 547 "not a function"); |
561 return (opt_status & V8OptimizationStatus.kOptimized) !== 0; | 548 return (opt_status & V8OptimizationStatus.kOptimized) !== 0; |
562 } | 549 } |
563 | 550 |
564 isCrankshafted = function isCrankshafted(fun) { | 551 isCrankshafted = function isCrankshafted(fun) { |
565 var opt_status = OptimizationStatus(fun, ""); | 552 var opt_status = OptimizationStatus(fun, ""); |
566 assertTrue((opt_status & V8OptimizationStatus.kIsFunction) !== 0, | 553 assertTrue((opt_status & V8OptimizationStatus.kIsFunction) !== 0, |
567 "not a function"); | 554 "not a function"); |
568 return (opt_status & V8OptimizationStatus.kOptimized) !== 0 && | 555 return (opt_status & V8OptimizationStatus.kOptimized) !== 0 && |
569 (opt_status & V8OptimizationStatus.kTurboFanned) === 0; | 556 (opt_status & V8OptimizationStatus.kTurboFanned) === 0; |
570 } | 557 } |
571 | 558 |
572 isTurboFanned = function isTurboFanned(fun) { | 559 isTurboFanned = function isTurboFanned(fun) { |
573 var opt_status = OptimizationStatus(fun, ""); | 560 var opt_status = OptimizationStatus(fun, ""); |
574 assertTrue((opt_status & V8OptimizationStatus.kIsFunction) !== 0, | 561 assertTrue((opt_status & V8OptimizationStatus.kIsFunction) !== 0, |
575 "not a function"); | 562 "not a function"); |
576 return (opt_status & V8OptimizationStatus.kOptimized) !== 0 && | 563 return (opt_status & V8OptimizationStatus.kOptimized) !== 0 && |
577 (opt_status & V8OptimizationStatus.kTurboFanned) !== 0; | 564 (opt_status & V8OptimizationStatus.kTurboFanned) !== 0; |
578 } | 565 } |
579 | 566 |
580 })(); | 567 })(); |
OLD | NEW |