- 12 Jan, 2010 1 commit
-
-
erik.corry@gmail.com authored
for partial snapshots. After reserving space we can be sure that allocations will happen linearly (no GCs and no free-list allocation). This change also contains the start of the partial snapshot support, which, however is not yet completed or tested. Review URL: http://codereview.chromium.org/545026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 Jan, 2010 1 commit
-
-
bak@chromium.org authored
Flushed at compacting mark sweep. - Simplified FindEntry by eliminating the counter. Review URL: http://codereview.chromium.org/527006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Dec, 2009 2 commits
-
-
ager@chromium.org authored
that attempt to run with a small heap. Additionally, it can potentially keep a lot of string data alive and it is never flushed. Can we make it grow dynamically if used so that we can still start the VM with a small heap size? Review URL: http://codereview.chromium.org/503081 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bak@chromium.org authored
- Change the instruction order for inlined allocation. Review URL: http://codereview.chromium.org/501170 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Dec, 2009 1 commit
-
-
antonm@chromium.org authored
Force mark sweep instead of compcation if size of map space is too big to allow forward pointers encoding. Review URL: http://codereview.chromium.org/507025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Dec, 2009 2 commits
-
-
kasperl@chromium.org authored
arrays and argument objects on IA-32. Review URL: http://codereview.chromium.org/503042 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sgjesse@chromium.org authored
On 32-bit the maps are now aligned on a 32-byte boundary in order to encode more maps during compacting GC. The actual size of a map on 32-bit is 28 bytes making this change waste 4 bytes per map. On 64-bit the encoding for compacting GC is now using more than 32-bits and the maps here are still pointer size aligned. The actual size of a map on 64-bit is 48 bytes and this change does not intruduce any waste. My choice of 16 bits for kMapPageIndexBits for 64-bit should give the same maximum number of pages (8K) for map space. As maps on 64-bit are larger than on 32-bit the total number of maps on 64-bit will be smaller than on 32-bit. We could consider raising this to 17 or 18. I moved the kPageSizeBits to globals.h as the calculation of the encoding really depended on this. There are still an #ifdef/#endif in objects.h and this constant could be moved to globaks.h as well, but I kept it together with the related constants. All the tests run in debug mode with additional options --gc-global --always-compact as well (except for a few tests on which also fails before this change when run with --gc-global --always-compact). BUG=http://code.google.com/p/v8/issues/detail?id=524 BUG=http://crbug.com/29428 TEST=test/mjsunit/regress/regress-524.js Review URL: http://codereview.chromium.org/504026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Dec, 2009 1 commit
-
-
kasperl@chromium.org authored
functions by allocating them in new space without entering the runtime system. Review URL: http://codereview.chromium.org/506037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Dec, 2009 3 commits
-
-
ager@chromium.org authored
bug just before committing which broke snapshot builds. The code is nearly identical to the previous submit. TBR=erik.corry@gmail.com Review URL: http://codereview.chromium.org/491004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Crashes on Windows. TBR=erik.corry@gmail.com Review URL: http://codereview.chromium.org/488006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Only implemented on ia32 and x64 for now. The generic keyed load stub on arm is falling behind and it is time to fix that, but that will be a separate change. Review URL: http://codereview.chromium.org/460142 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Dec, 2009 1 commit
-
-
vitalyr@chromium.org authored
Instead of weak handles external strings use a separate table. This table uses 5 times less memory than weak handles. Moreover, since we don't have to follow the weak handle callback protocol we can collect the strings faster and even on scavenge collections. Review URL: http://codereview.chromium.org/467037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Dec, 2009 1 commit
-
-
christian.plesner.hansen@gmail.com authored
variables rather than in a stack-allocated struct. The struct field values turned out not to be available in minidumps. Review URL: http://codereview.chromium.org/460069 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 03 Dec, 2009 2 commits
-
-
ager@chromium.org authored
TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/466018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
christian.plesner.hansen@gmail.com authored
struct on fatal out of memory. This should cause the information to be included in minidumps so we can get a better idea of the state of v8 on OOMs. Review URL: http://codereview.chromium.org/462019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Nov, 2009 1 commit
-
-
lrn@chromium.org authored
A few other tweaks. Review URL: http://codereview.chromium.org/435020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Nov, 2009 1 commit
-
-
sgjesse@chromium.org authored
The different length string types was used to encode the string length and the hash in one field. This is now split into two fields one for length and one for hash. The hash field still encodes the array index of the string if it has one. If an array index is encoded in the hash field the string length is added to the top bits of the hash field to avoid a hash value of zero. On 32-bit this causes an additional 4 bytes to be used for all string objects. On 64-bit this will be half on average dur to pointer alignment. Review URL: http://codereview.chromium.org/436001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Nov, 2009 1 commit
-
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/409007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Nov, 2009 1 commit
-
-
sgjesse@chromium.org authored
As a first step to reduce the complexity of the string hierachy the sliced string type is removed. Whenever a sub-string is created it is allocated as a fresh flat string. Review URL: http://codereview.chromium.org/385004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Nov, 2009 2 commits
-
-
christian.plesner.hansen@gmail.com authored
Review URL: http://codereview.chromium.org/355041 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
- 27 Oct, 2009 1 commit
-
-
erik.corry@gmail.com authored
are different). Is able to deserialize the whole heap and run some stuff. Not available as the primary snapshot system yet. Review URL: http://codereview.chromium.org/335009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Oct, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
- account code objects in retainers profile; - differentiate between function boilerplates and closures; - simplify code; Review URL: http://codereview.chromium.org/335016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Oct, 2009 1 commit
-
-
ager@chromium.org authored
when using snapshots. The alignment of new space has to match the alignment in the snapshot, but the max committed amount of memory does not. For now, we assume that the default semispace size is always used in a snapshot. Review URL: http://codereview.chromium.org/300036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Oct, 2009 2 commits
-
-
kbr@chromium.org authored
specification under development. The optimizations are patterned after those previously done for CanvasPixelArray. This CL adds all of the necessary framework but continues to use the generic KeyedLoadIC and KeyedStoreIC code, to create a baseline for benchmarking purposes. The next CL will add the optimized ICs to ic-ia32.cc and ic-x64.cc. These new CanvasArray types have different semantics than CanvasPixelArray; out-of-range values are clamped via C cast semantics, which is cheaper than the clamping behavior specified by CanvasPixelArray. Out-of-range indices raise exceptions instead of being silently ignored. As part of this work, pulled FloatingPointHelper::AllocateHeapNumber up to MacroAssembler on ia32 and x64 platforms. Slightly refactored KeyedLoadIC and KeyedStoreIC. Fixed encoding for fistp_d on x64 and added a few more instructions that are needed for the new ICs. The test cases in test-api.cc have been verified by hand to exercise all of the generated code paths in the forthcoming specialized ICs. Review URL: http://codereview.chromium.org/293023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
Review URL: http://codereview.chromium.org/261037 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Oct, 2009 1 commit
-
-
antonm@chromium.org authored
Typically there is no or few global handles to delete (only manually deleted, but those might be reused). Review URL: http://codereview.chromium.org/274050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 Oct, 2009 1 commit
-
-
whesse@chromium.org authored
Recommit coderanges putting code objects within a 2 GB range, reserving only a 256 MB range of virtual memory for the code range. Review URL: http://codereview.chromium.org/243087 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Oct, 2009 1 commit
-
-
christian.plesner.hansen@gmail.com authored
Review URL: http://codereview.chromium.org/246077 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Oct, 2009 2 commits
-
-
http://codereview.chromium.org/244022whesse@chromium.org authored
Revert change r3004, issue http://codereview.chromium.org/244022, because Linux 64-bit Chrome crashes with more than 10 tabs. Linux may not like 10 processes, each reserving 2 GB of virtual address space. Review URL: http://codereview.chromium.org/246064 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/244022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Sep, 2009 1 commit
-
-
mikhail.naganov@gmail.com authored
The profile is taken together with constructors profile. In theory, it should represent a complete heap graph. However, this takes a lot of memory, so it is reduced to a more compact, but still useful form. Namely: - objects are aggregated by their constructors, except for Array and Object instances, that are too hetereogeneous; - for Arrays and Objects, initially every instance is concerned, but then they are grouped together based on their retainer graph paths similarity (e.g. if two objects has the same retainer, they are considered equal); Review URL: http://codereview.chromium.org/200132 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Sep, 2009 1 commit
-
-
erik.corry@gmail.com authored
have hardware fpu instructions to execute them. Review URL: http://codereview.chromium.org/179059 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 31 Aug, 2009 2 commits
-
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/173567 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
This only wins us around 1% in performance, but it makes the code more compact. We don't currently have a way to represent in the virtual frame that a slot contains a value from the root array. Adding this would probably make the code more compact. Review URL: http://codereview.chromium.org/174639 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 26 Aug, 2009 2 commits
-
-
erik.corry@gmail.com authored
limit in the roots array. Review URL: http://codereview.chromium.org/174517 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ager@chromium.org authored
initialized. Minor cleanups. Review URL: http://codereview.chromium.org/173465 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Aug, 2009 1 commit
-
-
mike@belshe.com authored
after being idle for some time. Remove the default argument from CollectAllGarbage. Review URL: http://codereview.chromium.org/174302 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Aug, 2009 1 commit
-
-
erik.corry@gmail.com authored
by using r10 to point to a list of common root objects. This time we also disable a debugger test on ARM that has never worked, but with this change sometimes crashes. Review URL: http://codereview.chromium.org/174317 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Aug, 2009 1 commit
-
-
ager@chromium.org authored
another post gc processing was trigger because of weak callbacks. Review URL: http://codereview.chromium.org/174141 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-