summaryrefslogtreecommitdiffstats
path: root/src/3rdparty/v8/src/x64/lithium-x64.cc
Commit message (Collapse)AuthorAgeFilesLines
* [V8] Introduce a QML compilation modeAaron Kennedy2013-01-091-2/+2
| | | | | | | | | | | | | | | | | In QML mode, there is a second global object - known as the QML global object. During property resolution, if a property is not present on the JS global object, it is resolved on the QML global object. This global object behavior is only enabled if a script is being compiled in QML mode. The object to use as the QML global object is passed as a parameter to the Script::Run() method. Any function closures etc. created during the run will retain a reference to this object, so different objects can be passed in different script runs. Change-Id: I75d6f8173260e0d4933fd33ad16a277542048f09 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* Updated V8 from git://github.com/v8/v8.git to ↵Peter Varga2013-01-091-293/+222
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2215c442af2f0a4fce076e35ea061486d62778a1 Update V8 source to version 3.15.2 * Performance and stability improvements on all platforms. * Avoid overdeep recursion in regexp where a guarded expression with a minimum repetition count is inside another quantifier. * Exposed last seen heap object id via v8 public api. * Implemented heap profiler memory usage reporting. * Preserved error message during finally block in try..finally. * Improved heuristics to keep objects in fast mode with inherited constructors. * Fixed lazy sweeping heuristics to prevent old-space expansion. * Fixed sharing of literal boilerplates for optimized code. * Expose more detailed memory statistics. * Cleaned up hardfp ABI detection for ARM (V8 issue 2140). * Report "hidden properties" in heap profiler for properties case. * Added optimizing compiler support for JavaScript getters. * Fixed computation of call targets on prototypes in Crankshaft. * Fixed ICs for slow objects with native accessor. * Fixed transcendental cache on ARM in optimized code (issue 2234). * New heap inspection tools: counters for object sizes and counts, histograms for external fragmentation. * Added more support for heap analysis. * Interpret negative hexadecimal literals as NaN. (issue 2240) * Improved API calls that return empty handles. * Added checks for interceptors to negative lookup code in Crankshaft. * Introduced global contexts to represent lexical global scope(s). * Allocate block-scoped global bindings to global context. * Add empty-handle checks to API functions (#ifdef ENABLE_EXTRA_CHECKS) * Check the return value of API calls on ia32 and x64. * Activated fixed ES5 readonly semantics by default. * Added validity checking to API functions and calls. * Switched on code compaction on incremental GCs. * ARM: allowed VFP3 instructions when hardfloat is enabled. (Chromium issue 152506) * Killed off the SCons based build. (relevant for testing) * Added a faster API for creating v8::Integer objects. * Speeded up function deoptimization by avoiding quadratic pass over optimized function list. (Chromium issue 155270) * ES6: Added support for size to Set and Map (issue 2395) * ES6: Added support for Set and Map clear method (issue 2400) * Made formatting error message side-effect-free. (issue 2398) * Fixed V8 issues: 915, 1374, 1465, 1569, 1591, 1609 1645, 1804, 1914, 1981, 1991, 2016, 2017, 2034, 2077, 2087, 2094, 2119, 2120, 2133, 2134, 2139, 2143, 2151, 2156, 2166, 2170, 2172, 2177, 2179, 2185, 2193, 2194, 2201, 2210, 2212, 2219, 2220, 2225, 2239, 2245, 2252, 2260, 2261, 2294, 2297, 2308, 2312, 2313, 2317, 2318, 2322, 2326, 2364, 2372, 2380 Change-Id: Ifa82ec37b6150fdf1c4364c93987a32bbbf6bfd1 Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
* [V8] Introduce a QML compilation modeAaron Kennedy2012-06-131-2/+2
| | | | | | | | | | | | | | | | | In QML mode, there is a second global object - known as the QML global object. During property resolution, if a property is not present on the JS global object, it is resolved on the QML global object. This global object behavior is only enabled if a script is being compiled in QML mode. The object to use as the QML global object is passed as a parameter to the Script::Run() method. Any function closures etc. created during the run will retain a reference to this object, so different objects can be passed in different script runs. Change-Id: I86851683200d02208379744c887dfebc010a7ccc Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Updated V8 from git://github.com/v8/v8.git to ↵Peter Varga2012-06-131-41/+37
| | | | | | | | | | | | | | | | | | | | | | | | 3e6ec7e018bbf2c63ef04b85ff688198ea204c04 Update V8 source to version 3.11.4 * Performance and stability improvements on all platforms. * Fixed native ARM build (issues 1744, 539) * Fixed several bugs in heap profiles (including issue 2078). * Throw syntax errors on illegal escape sequences. * Made handling of const more consistent when combined with 'eval' and 'with'. * Fixed V8 on MinGW-x64 (issue 2026). * Put new global var semantics behind a flag until WebKit tests are cleaned up. * Enabled inlining some V8 API functions. * Enabled MIPS cross-compilation. * Implemented clearing of CompareICs (issue 2102). * Fixed python deprecations. (issue 1391) * Fixed GCC 4.7 (C++11) compilation. (issue 2136) Change-Id: I72594bd22356391dd55e315c022d0c9f3fd5b451 Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* [V8] Introduce a QML compilation modeAaron Kennedy2012-04-261-2/+2
| | | | | | | | | | | | | | | | | In QML mode, there is a second global object - known as the QML global object. During property resolution, if a property is not present on the JS global object, it is resolved on the QML global object. This global object behavior is only enabled if a script is being compiled in QML mode. The object to use as the QML global object is passed as a parameter to the Script::Run() method. Any function closures etc. created during the run will retain a reference to this object, so different objects can be passed in different script runs. Change-Id: Id3753db6f5723f6d624bd497d6f606244a4ff09a Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* Updated V8 from git://github.com/v8/v8.git to ↵Peter Varga2012-04-261-237/+362
| | | | | | | | | | | | | | | | | | | | | | | | | 57f8959fb264354ba1a2e5118db512f588917061 Update V8 source to version 3.10.1. * Added optimizations and stability improvements on all platforms. * Various performance improvements. * Cleanup ScopeInfo and SerializedScopeInfo. * Introduce extended mode. * Implemented performance improvements to the incremental garbage collector. * Fixed handling of arrays in DefineOwnProperty. (issue 1756) * Fixed GCC 4.7 warnings. * Performance improvements for large Smi-only arrays. * Reduce the space used by the stack for the profiling thread. * Reduced memory use immediately after starting V8. * Fixed VFP detection through compiler defines. (issue 1996) * Remove static initializers in v8. (issue 1859) * Optimized boot-up memory use. * Optimized regular expressions. Change-Id: I2dad3092612de279179950dae4dd43daf0463a9f Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
* [V8] Introduce a QML compilation modeAaron Kennedy2012-03-011-2/+2
| | | | | | | | | | | | | | | | | In QML mode, there is a second global object - known as the QML global object. During property resolution, if a property is not present on the JS global object, it is resolved on the QML global object. This global object behavior is only enabled if a script is being compiled in QML mode. The object to use as the QML global object is passed as a parameter to the Script::Run() method. Any function closures etc. created during the run will retain a reference to this object, so different objects can be passed in different script runs. Change-Id: Ib6b4ed363b7e8089d38a9cdcfb0d3b314dc333ca Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* Updated V8 from git://github.com/v8/v8.git to ↵Peter Varga2012-03-011-38/+23
| | | | | | | | | | | | | 06e55bc22bcb8ddb0a602e54e11971576f2d9d8a * Implement VirtualMemory on FreeBSD to fix build (issue 1807). * Fix error handling in Date.prototype.toISOString (issue 1792). * Crankshaft for MIPS * Bug fixes (mostly for MIPS) * Use placement-new for zone-allocation in the Lithium classes. Change-Id: I70ceacc4f7010cec58f73eb1826cbc06dd31149e Reviewed-by: Simon Hausmann <simon.hausmann@nokia.com>
* [V8] Introduce a QML compilation modeAaron Kennedy2012-01-051-2/+2
| | | | | | | | | | | | | | | | In QML mode, there is a second global object - known as the QML global object. During property resolution, if a property is not present on the JS global object, it is resolved on the QML global object. This global object behavior is only enabled if a script is being compiled in QML mode. The object to use as the QML global object is passed as a parameter to the Script::Run() method. Any function closures etc. created during the run will retain a reference to this object, so different objects can be passed in different script runs. Change-Id: I4950562d455074578c372d8e0e3089887b06e0a1
* Imported v8 version 3.7.3 from https://github.com/v8/v8.gitSimon Hausmann2012-01-051-0/+2218
Change-Id: I152648081e46f599c2bb88eaaf67034fa5daac3a