- 25 Jan, 2011 1 commit
-
-
ricow@chromium.org authored
I did not take out the code relating to osr from the generate method since this makes it easier to compare to ia32 (we will abort anyway when we hit the osr code so there should be no issues with having this in) Review URL: http://codereview.chromium.org/6390001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Jan, 2011 1 commit
-
-
sgjesse@chromium.org authored
Review URL: http://codereview.chromium.org/6015011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Dec, 2010 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/5781004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Dec, 2010 3 commits
-
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kasperl@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Sep, 2010 1 commit
-
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/3574002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Sep, 2010 1 commit
-
-
kaznacheev@chromium.org authored
The number of inobject properties used to be derived from the number of this property assignments in the constructor (and increased by 2 to allow for properties added later). This very often leads to wasted inobject slots. This patch reclaims some of the unused inobject space by the following method: - for each constructor function the first several objects are allocated using the initial ("generous) instance size estimation (this is called 'tracking phase'). - during the tracking phase map transitions are tracked and actual property counts are collected. - at the end of the tracking phase instance sizes in the maps are decreased if necessary (starting with the function's initial map and traversing the transition tree). - all further allocation use more realistic instance size estimation. Shrinking generously allocated objects without costly heap traversal is made possible by initializing their inobject properties with one_pointer_filler_map (instead of undefined). The initial slack for the generous allocation is increased from 2 to 6 which really helps some tests. Review URL: http://codereview.chromium.org/3329019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Aug, 2010 1 commit
-
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/3211002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Aug, 2010 1 commit
-
-
kasperl@chromium.org authored
a dummy receiver that we end up ignoring anyway. Review URL: http://codereview.chromium.org/3136032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Aug, 2010 1 commit
-
-
ricow@chromium.org authored
instruction. By changing the pointer to the code object to a pointer to the first instruction we can call directly this instruction directly instead of looking up the address through the code object. Review URL: http://codereview.chromium.org/3156028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Aug, 2010 2 commits
-
-
ricow@chromium.org authored
This change changes the lazy compilation stub to a builtin and eliminates the argc (argument count for the function for which to create a lazy stub) parameter. Review URL: http://codereview.chromium.org/3146008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ricow@chromium.org authored
in allowing more flexible compilation and to simplify builtins lookup. This changes a number of places where code objects are assigned to SharedFunctionInfo objects to also assign this code object to the JSFunction. In addition, the code flushing is changed slightly to accomodate this (we need to flush the code from functions pointing to SharedFunctionInfo objects that has already been flushed). Review URL: http://codereview.chromium.org/3120006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Jul, 2010 1 commit
-
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/3008017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Jul, 2010 1 commit
-
-
lrn@chromium.org authored
Don't use r15 for anything any more. Review URL: http://codereview.chromium.org/2885018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Jun, 2010 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/2470001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 May, 2010 1 commit
-
-
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
-
- 26 May, 2010 1 commit
-
-
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 1 commit
-
-
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
-
- 19 Apr, 2010 1 commit
-
-
erik.corry@gmail.com authored
(remove V8_NATIVE_REGEXP flag, add V8_INTERPRETED_REGEXP flag). Review URL: http://codereview.chromium.org/1635001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 Apr, 2010 1 commit
-
-
lrn@chromium.org authored
Gave the root register a name for reference. Review URL: http://codereview.chromium.org/1539033 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Feb, 2010 1 commit
-
-
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
-
- 17 Feb, 2010 1 commit
-
-
kmillikin@chromium.org authored
Fix for issue 603. Revision r3484 removed the property name from the call stack for call ICs. When a non-function was called via a call IC and Function.prototype.call, an extra value was left on the stack that the caller could not know to clean up. Fix is to change the JS builtin used for calling non-functions. It now gets the callee as receiver, rather than iterating stack frames and finding it on the expression stack of its JS caller. Review URL: http://codereview.chromium.org/604064 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Feb, 2010 2 commits
-
-
sgjesse@chromium.org authored
The porting of array allocation in generated code from ia32 to x64 wrongly assumed that a smi contained the actual number times 2. Removed the constant times_half_pointer_size, as it will probably not be needed. Review URL: http://codereview.chromium.org/596084 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/596036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 Jan, 2010 1 commit
-
-
vitalyr@chromium.org authored
in particular). * Called function is passed on the stack instead of using a static variable. * Builtins that don't need the called function don't get it. * Made is_construct statically known to HandleApiCall by setting custom construct stub for API functions. Review URL: http://codereview.chromium.org/536065 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Nov, 2009 1 commit
-
-
sgjesse@chromium.org authored
In the generated code for function.apply there was a loop checking the stack limit for interruption. This loop would call into the runtime system to handle interuption and keep running until there was no interruption. However if the interuption was debug break the runtime system would never clear the interruption as debug break is prevented in builtins are prevented and the assumption here was that returning with the debug break flag set would move execution forward. Renamed initial_jslimit and initial_climit to real_jslimit and real_climit. Renamed a few external references related to the stack limit as well. Exposed the real stack limit to generated code to make the stack check when entering function.apply use the real stack limit and not the stack limit which is changed to signal interruption. Added the real stack limit to the roots array. BUG=http://code.google.com/p/v8/issues/detail?id=493 TEST=cctest/test-debug/DebugBreakFunctionApply Review URL: http://codereview.chromium.org/345048 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Oct, 2009 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/345007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Oct, 2009 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/338017 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Oct, 2009 1 commit
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/196139 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Sep, 2009 1 commit
-
-
sgjesse@chromium.org authored
These functions just moves forward the new space allocation top, and in some situations they are used to reserve space for several objects. Review URL: http://codereview.chromium.org/219030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Sep, 2009 1 commit
-
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/218025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Sep, 2009 1 commit
-
-
sgjesse@chromium.org authored
Ported the handle array construction in native code to x64. See http://codereview.chromium.org/193125 for details. Please take a closer look of my use of the macro assembler Smi abstractions. Review URL: http://codereview.chromium.org/209048 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Sep, 2009 1 commit
-
-
sgjesse@chromium.org authored
The construction of arrays when using the the Array function either as a constructor or a normal function is now handled fully in generated code in most cases. Only when Array is called with one argument which is either negative or abowe JSObject::kInitialMaxFastElementArray (which is currently 1000) or if the allocated object cannot fit in the room left in new space is the runtime system entered. Two new native code built-in functions are added one for normal invocation and one for the construct call. The existing C++ builtin is renamed, but kept. When the normal invocation cannot be handled in generated code the C++ builtin is called. When the construct invocation cannot be handled in native code the generic construct stub is called (which will end up in the C++ builtin through a construct trampoline). One thing that might be changed is preserving esi (constructor function) during the handling of a construct call. We know precisily what function we where calling anyway and can just reload it. This could remove the parameter construct_call to ArrayNativeCode and remove the handling of this from that function. The X64 and ARM implementations are not part of this changelist. Review URL: http://codereview.chromium.org/193125 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Sep, 2009 1 commit
-
-
lrn@chromium.org authored
First step in changing Smi representation. Review URL: http://codereview.chromium.org/196077 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-