- 18 May, 2011 1 commit
-
-
danno@chromium.org authored
Better support for 'polymorphic' JS and external arrays Allow keyed store/load stubs to switch between external array and fast JS arrays without forcing a state transition to the generic stub. There CL consists of two pieces of functionality. First, code stubs for fast element arrays don't immediately transition to the MEGAMORPHIC state when there's a map mismatch. Second, two ICs are cached per map for fast elements, the MONOMORPHIC version, and a new MEGAMORPHIC version that handles two or more different maps and dispatches to shared stubs to perform the array operation. Review URL: http://codereview.chromium.org/7036016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2011 2 commits
-
-
danno@chromium.org authored
TBR=danno@chromium.org git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Allow keyed store/load stubs to switch between external array and fast JS arrays without forcing a state transition to the generic stub. There CL consists of two pieces of functionality. First, code stubs for fast element arrays don't immediately transition to the MEGAMORPHIC state when there's a map mismatch. Second, two ICs are cached per map for fast elements, the MONOMORPHIC version, and a new MEGAMORPHIC version that handles two or more different maps. Currently, the only array types supported by the MEGAMORPHIC stub are fast elements for objects and JSArrays. BUG= TEST= Review URL: http://codereview.chromium.org/6894003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 May, 2011 1 commit
-
-
rossberg@chromium.org authored
1) Add new type JSProxy for representing proxy objects. Currently devoid of functionality, i.e., all properties are undefined. 2) Some rudimentary global $Proxy functions to create proxies. Next step: Hook up getProperty and getOwnProperty handlers. Will probably require introducing a new LookupResult type, which is a mixture of INTERCEPTOR (handles any property) and CALLBACK (calls back to JS). Can we unify this somehow? TODO: Should probably rename existing Proxy type to something like "Foreign", to avoid confusion. Review URL: http://codereview.chromium.org/6932068 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 May, 2011 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/6997015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 May, 2011 1 commit
-
-
svenpanne@chromium.org authored
header which uses BASE_EMBEDDED and/or AllStatic. Note that still only 45 out of 135 headers in src/ can be used stand-alone, but at least this is a little bit more than before... Review URL: http://codereview.chromium.org/6931031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Apr, 2011 1 commit
-
-
jkummerow@chromium.org authored
BUG=None TEST=mjsunit/external-arrays.js; updated cctest; existing unit tests Review URL: http://codereview.chromium.org/6879009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Mar, 2011 1 commit
-
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/6670115 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Mar, 2011 1 commit
-
-
vegorov@chromium.org authored
By default use specialized static visitor and fallback to more generic one when one of the isolates with enabled logging/profiling hits GC. Review URL: http://codereview.chromium.org/6777011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Mar, 2011 3 commits
-
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/6685088 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Mar, 2011 1 commit
-
-
mmaly@chromium.org authored
* Reverse order of arguments in-object fields for length and callee. * Introduce arguments ThrowTypeError functions (caller/callee). * Create strict mode arguments boilerplate object. * Strict mode "new arguments object" stub. * Runtime arguments object allocation. * Update es5conform test expectations. Review URL: http://codereview.chromium.org/6698015/ git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Mar, 2011 1 commit
-
-
mikhail.naganov@gmail.com authored
objects retained by object groups and global handles. This information is then used during heap snapshot generation to provide a more complete memory picture. This patch will be needed to fix https://bugs.webkit.org/show_bug.cgi?id=53659. Review URL: http://codereview.chromium.org/6626043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Mar, 2011 2 commits
-
-
danno@chromium.org authored
Worth mentioning: - Specialized versions of pixel array and store/loads inside the generic stubs have been removed, since to have parity for all external arrays, 8 different versions would have to be inlined/checked. - There's a new constant in v8.h for external arrays with pixel array elements. Review URL: http://codereview.chromium.org/6546036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
Non-moveable code-stube are allocated in large object space. They are only required on ARM where the different C-entry stubs are required to never move. This gets rid of pre-computing these stubs and hope that they never move. Also for crankshaft the C-entry stub which saved doubles is not generated in the snapshot so it ends up being generated at runtime and potentially move. Review URL: http://codereview.chromium.org/6626072 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Mar, 2011 1 commit
-
-
lrn@chromium.org authored
Move the value of the root-array register to offset 128 from the start of the root array. This allows indices 16..31 to be reached using only an 8-bit displacement, saving three bytes per access. Review URL: http://codereview.chromium.org/6594115 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Feb, 2011 1 commit
-
-
sgjesse@chromium.org authored
This is so that it can be reused by LOL code later. Patch by Mark Lam from Hewlett-Packard Development Company, LP Review URL: http://codereview.chromium.org/6541044 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Feb, 2011 1 commit
-
-
vegorov@chromium.org authored
in order to not be vulnerable to overflow issues. Patch by Mark Lam of Hewlett-Packard Development Company, LP Review URL: http://codereview.chromium.org/5966001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Feb, 2011 1 commit
-
-
danno@chromium.org authored
Review URL: http://codereview.chromium.org/6478027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Feb, 2011 1 commit
-
-
antonm@chromium.org authored
Direct call api functions (arm implementation) See: http://codereview.chromium.org/6170001/ Review URL: http://codereview.chromium.org/6286078 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Feb, 2011 1 commit
-
-
danno@chromium.org authored
Review URL: http://codereview.chromium.org/6287030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Feb, 2011 1 commit
-
-
ager@chromium.org authored
an error message that needs to be generated and reported. This change hides all of the error information from JavaScript code so user callbacks cannot get hold of it. Review URL: http://codereview.chromium.org/6368051 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Jan, 2011 1 commit
-
-
kbr@chromium.org authored
conversions for external array types, which implement the Typed Array spec. (Revision of http://codereview.chromium.org/6315004 .) Prefer SSE2 code path on x86 processors. Non-SSE2 processors now make a slow runtime call for float-to-int conversions. Use SSE3 for 32-bit signed and unsigned int array types where possible. The movement of code from ic-arm.cc to stub-cache-arm.cc caused the VFP3 code path to be tested for the first time. Fixed bugs in the register usage and in the constant value stored into integer arrays for NaN and +/-Infinity. Added new truncation test to test-api.cc. Storage of NaN and +/-Inf was already covered. Ran unit tests on x86, x64 and ARM simulator. Tested ia32 and x64 code in Chromium on Mac and Linux respectively with Typed Array unit tests and WebGL content. BUG=http://code.google.com/p/chromium/issues/detail?id=50972 TEST=test-api/ExternalArrays Review URL: http://codereview.chromium.org/6303012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Jan, 2011 1 commit
-
-
mmaly@chromium.org authored
- var eval | arguments - catch (eval | arguments) - 'with' is disabled - function can't be named eval or arguments Add FLAG_strict_mode git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Jan, 2011 1 commit
-
-
ager@chromium.org authored
version did not work. TBR=kbr@chromium.org Review URL: http://codereview.chromium.org/6295013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Jan, 2011 3 commits
-
-
mmaly@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kbr@chromium.org authored
conversions for external array types, which implement the Typed Array spec. The new code paths are for SSE3 and SSE2 capable processors. The code for non-SSE2 processors is unchanged for now. The ARM port appears to already be correct. Moved the generation of the external array load and store intrinsics to the stub cache (on all platforms) so that they are generated at run time and can take advantage of CPU features. This functionality is covered by the array-unit-tests.html test in the WebGL conformance test suite: http://khronos.org/webgl/wiki/Testing/Conformance https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/array-unit-tests.html Manually verified all of the SSE3/SSE2/non-SSE2 code paths by enabling each in turn. Tested in Chromium on 32-bit Mac OS X and 64-bit Linux. BUG=http://code.google.com/p/chromium/issues/detail?id=50972 TEST=none (see above) Review URL: http://codereview.chromium.org/6315004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mmaly@chromium.org authored
- var eval | arguments - catch (eval | arguments) - 'with' is disabled - function can't be named eval or arguments - function parameter name cannot be eval or arguments - no duplicate parameter names allowed Add FLAG_strict_mode git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Jan, 2011 1 commit
-
-
erik.corry@gmail.com authored
to add -fno-strict-aliasing. Review URL: http://codereview.chromium.org/6123007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Jan, 2011 1 commit
-
-
fschneider@chromium.org authored
Before we used the hole value for this purpose, but this does not work once we start using the hole value for other purposes in the optimizing compiler. Review URL: http://codereview.chromium.org/6116001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Dec, 2010 1 commit
-
-
lrn@chromium.org authored
Make preparser keep its symbol text itself instead of relying on the scanner. Review URL: http://codereview.chromium.org/6075005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Dec, 2010 3 commits
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/6021004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
The assumption is that most utf8 strings allocated are actually ascii and that if they are not we will encounter a non-ascii char pretty quickly. Review URL: http://codereview.chromium.org/6072004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
I'm using it when creating heap snapshots. I decided that it will be more convenient to have it as a separate piece of code, instead of embedding into the snapshot generator. Review URL: http://codereview.chromium.org/6014004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Dec, 2010 1 commit
-
-
whesse@chromium.org authored
Add untagged double versions of Math.sin and Math.cos. Merge classes TranscendentalCacheStub and TranscendentalCacheSSE2Stub. Review URL: http://codereview.chromium.org/5996002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Dec, 2010 1 commit
-
-
whesse@chromium.org authored
Reapply change 5989, adding untagged double calls to Math.pow, with problem in generated code for TranscendentalCacheSSE2Stub (unguarded SSE 4.1 code) fixed. Review URL: http://codereview.chromium.org/5726008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Dec, 2010 2 commits
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/5804003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/5741003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Dec, 2010 1 commit
-
-
erik.corry@gmail.com authored
This is neutral on in-browser SunSpider, but beneficial on other things, and is likely to lower memory use by collecting earlier. Review URL: http://codereview.chromium.org/5753003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-