- 07 Jun, 2010 1 commit
-
-
kaznacheev@chromium.org authored
This speeds up constructs like this: var zz='replace'; '123'[zz]('3','4'); Review URL: http://codereview.chromium.org/2280007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Jun, 2010 2 commits
-
-
vitalyr@chromium.org authored
As most of call IC code is tied to a context anyway we can save a few dependent loads by having a direct reference to an initial map of a global function. Review URL: http://codereview.chromium.org/2239009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Add test_b(Operand, immediate) to ia32 assembler, and use it where possible. Improve comparison to a constant one-character string. Use CmpInstanceType in more places on ia32. Add IsObjectJSObjectType and IsInstanceJSObjectType to ia32 macro assembler, using a single branch for a range test. Review URL: http://codereview.chromium.org/2586001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 May, 2010 3 commits
-
-
whesse@chromium.org authored
Refactor GenerateLoadInterceptor, removing LoadInterceptorCompiler class and CompileLoadInterceptor static function. All platforms (x64, ia32, and ARM) changed. Review URL: http://codereview.chromium.org/2251003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Reapply r4715 with fixes reviewed in http://codereview.chromium.org/2276002. Review URL: http://codereview.chromium.org/2255004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/2279005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 May, 2010 3 commits
-
-
vitalyr@chromium.org authored
These string methods can be composed from two basic blocks: charCodeAt and fromCharCode, both of which have fast cases for certain types of inputs. In this patch these two blocks are refactored to allow generating the fast cases without having to jump around the slow cases. In the slow cases since they can now be invoked both from inline runtime functions and from IC stubs we either have to save/restore state of the current frame or enter/leave a new internal frame. This is handled by new RuntimeCallHelper interface. Its implementation for virtual frame is based on FrameRegisterState class extracted from DeferredCode class. Review URL: http://codereview.chromium.org/2087009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
1) do not push receiver early---that simplifies tail call preparation on ia32/x64 and renders special cleanup unnecessary; 2) do not do second map check if interceptor's and cached holder are the same; 3) do not push/pop receiver if receiver and holder registers are the same (means that receiver is interceptor's holder); 4) do batch pushes on arm; 5) minor cosmetic improvements. Review URL: http://codereview.chromium.org/2282001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/2274001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 May, 2010 2 commits
-
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/2124021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
- New сardmarking write barrier handles large objects and normal objects in a similar fashion (no more additional space for pointer tracking is required, no conditional branches in WB code). - Changes to enable oldspaces iteration without maps decoding: -- layout change for FixedArrays: length is stored as a smis (initial patch by Kevin Millikin) -- layout change for SharedFunctionInfo: integer fields are stored as smi on arm, ia32 and rearranged on x64. -- layout change for String: meaning of LSB bit is fliped (1 now means hash not computed); on x64 padding is added. -- layout of maps is _not_ changed. Map space is currently iterated in a special way. Review URL: http://codereview.chromium.org/2144006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 May, 2010 2 commits
-
-
vegorov@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/2073018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Reapplication of r4685 (reviewed http://codereview.chromium.org/2101002) with minor modifications: - Fix compilation problems on Win64. - Improve heap verification pass: search for garbage pointers to new space not only in dirty regions but in all regions. Review URL: http://codereview.chromium.org/2114015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 May, 2010 2 commits
-
-
vegorov@chromium.org authored
TBR=ager@chromium.org Review URL: http://codereview.chromium.org/2071020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
-- layout change for FixedArrays: length is stored as a smis (initial patch by Kevin Millikin) -- layout change for SharedFunctionInfo: integer fields are stored as smi on arm, ia32 and rearranged on x64. -- layout change for String: meaning of LSB bit is fliped (1 now means hash not computed); on x64 padding is added. -- layout of maps is _not_ changed. Map space is currently iterated in a special way. - Cardmarking write barrier. New barrier handles large objects and normal objects in a similar fashion (no more additional space for pointer tracking is required, no conditional branches in WB code). Review URL: http://codereview.chromium.org/2101002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2010 1 commit
-
-
mark@chromium.org authored
Chromium build. v8.gyp no longer sets any V8_TARGET_ARCH_* macro on the Mac. Instead, the proper V8_TARGET_ARCH_* macro will be set by src/globals.h in the same way as the V8_HOST_ARCH_* macro when it detects that no target macro is currently defined. The Mac build will attempt to compile all ia32 and x86_64 .cc files. #ifdef guards in each of these target-specific source files prevent their compilation when the associated target is not selected. For completeness, these #ifdef guards are also provided for the arm and mips .cc files. BUG=706 TEST=x86_64 Mac GYP/Xcode-based Chromium build (still depends on other changes) Review URL: http://codereview.chromium.org/2133003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 May, 2010 1 commit
-
-
vitalyr@chromium.org authored
* All generators are listed in a single place. * Generators are installed as a separate pass in the bootstrapper. * Replaced pointers to generator functions with integer ids. Review URL: http://codereview.chromium.org/1981002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 May, 2010 2 commits
-
-
serya@chromium.org authored
Changing string length field type from int to SMI. It will make it be a regular field. Code generated in EmitNamedLoad could be patched for faster access to string.length. Review URL: http://codereview.chromium.org/1706013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Also snuck in an intended optimization for fast api call preparation and a few indentation fixes. Review URL: http://codereview.chromium.org/1689010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Apr, 2010 1 commit
-
-
podivilov@chromium.org authored
Review URL: http://codereview.chromium.org/1650011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Apr, 2010 1 commit
-
-
antonm@chromium.org authored
Add a support for bailout from custom call generators (just return undefined). BUG=684 Review URL: http://codereview.chromium.org/1699005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Apr, 2010 1 commit
-
-
ager@chromium.org authored
Add regression test. BUG=v8:681 Review URL: http://codereview.chromium.org/1673005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Apr, 2010 1 commit
-
-
ager@chromium.org authored
We need to be careful to check global property cells for the property encountered during lookup. Therefore, the ICs have to be specific to the name of the property if global objects are involved. In principle, this means that we could get a large number of monomorphic ICs for the same map if there is a global object in the prototype chain. However, since this is only done for normal load ICs and not for keyed load ICs I do not expect this to be a problem. I will experiment with it once this goes in. BUG=675 Review URL: http://codereview.chromium.org/1559033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 Apr, 2010 2 commits
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/1589035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/1539034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Mar, 2010 2 commits
-
-
vitalyr@chromium.org authored
* Use slots on the native stack when possible instead of Relocatable. * Got rid of a gap in AccessorInfo fields. * Added test for non-cacheable post-interceptor lookup. Review URL: http://codereview.chromium.org/1327002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/1265003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Mar, 2010 2 commits
-
-
erik.corry@gmail.com authored
registration of external references in Proxy objects). I moved the declaration of the two functions to stub-cache.h because with all the types they use it's hard to declare them anywhere else. But the actual definition is still in runtime.cc near to the place where they are used. Review URL: http://codereview.chromium.org/1079012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
now, the custom call generator stuff is disabled. Review URL: http://codereview.chromium.org/1094014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Mar, 2010 1 commit
-
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/945002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Mar, 2010 2 commits
-
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/903004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/870007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Mar, 2010 2 commits
-
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/669061 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/857002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Mar, 2010 1 commit
-
-
ager@chromium.org authored
It causes regressions on test shell tests. TBR=antonm@chromium.org Review URL: http://codereview.chromium.org/819001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Mar, 2010 1 commit
-
-
antonm@chromium.org authored
Now this builtin checks if it should go into fast case or resort to JS ArrayPush builtin. Review URL: http://codereview.chromium.org/660298 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Feb, 2010 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/608031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Feb, 2010 3 commits
-
-
vitalyr@chromium.org authored
BUG=http://crbug.com/36604 Review URL: http://codereview.chromium.org/660004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
BUG=http://crbug.com/36602 Review URL: http://codereview.chromium.org/657081 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
http://codereview.chromium.org/652118serya@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-