- 01 Oct, 2010 2 commits
-
-
kaznacheev@chromium.org authored
The current parameters (initial slack = 6, kGenerousAllocationsCount = 16) caused 15-20% performance regression on 3d-raytrace on x64 (visible both in standalone shell and in the web harness). This is very likely some kind of an alignment problem (it goes away completely with --prof). A similar problem can be observed on ia32 with initial slack=2. Increased initial slack to 8 and decreased constructions count to 8. This made the regression go away (and did not harm any of the other tests). Review URL: http://codereview.chromium.org/3595002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
during snapshot size optimization. Sorry, now I figured out that the diff implementation itself was also incorrect. Reachable nodes must be filtered from the beginning, otherwise, an object that is already disconnected, but not discarded yet, will not appear as a deleted (thankfully, this bug for some reason had appeared on the x64 port.) BUG=868 TEST=HeapSnapshotRootPreservedAfterSorting Review URL: http://codereview.chromium.org/3531005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Sep, 2010 9 commits
-
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/3537003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
The bug wasn't revealed because the test was disabled. BUG=848 TEST=HeapSnapshotsDiff,HeapSnapshotRootPreservedAfterSorting Review URL: http://codereview.chromium.org/3572003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
mikhail.naganov@gmail.com authored
BUG=868 Review URL: http://codereview.chromium.org/3605001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Review URL: http://codereview.chromium.org/3585003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
The lazy parsing functions took a host of arguments that can all be derived from the SharedFunctionInfo, and the SharedFunctionInfo is always available when parsing lazily. Change the interface to take a single CompilationInfo or SharedFunctionInfo argument. Also remove a flag in the parser that was always false when it was read. Review URL: http://codereview.chromium.org/3538005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
It was a wart that we had three handle fields, exactly one of which was non-null; and that we had three overloaded constructors. Instead, introduce subclasses and virtual methods. Remove some unused fields from class CompilationInfo. Review URL: http://codereview.chromium.org/3566003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
This one has been approved by the 64 bit compiler in MSVC 2005 so I hope it also passes the 2008 version. The --max-new-space-size option is now in kBytes. The --max-old-space-size option is now in MBytes. Some issues remain with 64 bit heaps and the counters. See http://code.google.com/p/v8/issues/detail?id=887 Review URL: http://codereview.chromium.org/3573005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Sep, 2010 7 commits
-
-
antonm@chromium.org authored
Review URL: http://codereview.chromium.org/3546003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
Review URL: http://codereview.chromium.org/3533007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
BUG=https://bugs.webkit.org/show_bug.cgi?id=46689 Review URL: http://codereview.chromium.org/3520006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Add cast to make Win-64 compile without warnings. This is a commit of http://codereview.chromium.org/3521002 for lrn. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Review URL: http://codereview.chromium.org/3586001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Made string search state explicit for repreated calls (a StringSearch class). Review URL: http://codereview.chromium.org/3467010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
When inspecting an AST node in the debugger, it can be difficult to find its concrete type. Add a "node_type" virtual function to all the concrete AST nodes. Use a macro to generate the definition of node_type as well as Accept and the AsXXX type testing/casting functions. Review URL: http://codereview.chromium.org/3431026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Sep, 2010 7 commits
-
-
vitalyr@chromium.org authored
I also added a flag like the ones we have for other SSE versions. Review URL: http://codereview.chromium.org/3505003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
We should use Factory and not Heap there. Review URL: http://codereview.chromium.org/3380031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
be done from Windows where the compiler is stricter about truncating changes. Review URL: http://codereview.chromium.org/3454035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
TBR=vegorov Review URL: http://codereview.chromium.org/3412038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Fix test after 64 bit heap size change. Review URL: http://codereview.chromium.org/3432032 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
removing the 1Gbyte limit. Review URL: http://codereview.chromium.org/3418035 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Reduces size of preparser data significantly when there are nested functions. Also allows us to drop the "skip" fields of function entries, that tells us how much preparse-data to skip when skipping the function source. Review URL: http://codereview.chromium.org/3412034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Sep, 2010 6 commits
-
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/3446024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
podivilov@chromium.org authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/3470016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Review URL: http://codereview.chromium.org/3499001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
whesse@chromium.org authored
Review URL: http://codereview.chromium.org/3496007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Sep, 2010 9 commits
-
-
dimich@chromium.org authored
The object's space in Page starts after Page header and is aligned to kMapAlignment which is 32 bytes on 32-bit and 8 bytes on 64-bit. In case of 64-bit target, the current page header size is exactly 32 bytes so we get the code magically aligned at 32 bytes but it is better to have a separate CODE_POINTER_ALIGN macro to make sure the object space in Page is aligned properly for both maps and code. There could be a small waste of bytes sometimes (since both Page header and Code header sizes are aligned separately) but it seems the optimal one would involve cross-dependencies between .h files and not clear if it's worth it. This is a back-port from Isolates branch. Review URL: http://codereview.chromium.org/3461021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kaznacheev@chromium.org authored
ia32: fld(i), fldpi x64: fld(i), fldpi, cvtsd2si, cvttsd2si Review URL: http://codereview.chromium.org/3471011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
The cause for missing functions is that some of them are created from compiled code (see FastNewClosureStub), and thus not get registered in profiler's code map. My solution is to hook on GC visitor to provide JS functions addresses to profiler, only if it is enabled. BUG=858 TEST= Review URL: http://codereview.chromium.org/3417019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
more compact code. Review URL: http://codereview.chromium.org/3443022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
I noticed we sometimes had extra spaces before and after the "const" keyword. Probably the result of a search and replace gone wrong. This is a whitespace only change. Review URL: http://codereview.chromium.org/3427021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kaznacheev@chromium.org authored
Finally sovles the problem that r5342 attempted to solve. When adding a stub to a map's code cache we need to make sure that this map is not used by object that do not need this stub. Existing solution had 2 flaws: 1. It checked that the map is cached by asking the current context. If the object escaped into another context then NormalizedMapCache::Contains returns false negative. 2. If a map gets evicted from the cache we should not try to modify it even though Contains returns false. This patch implements much less fragile solution of the same problem: A map now has a flag (is_shared) that is set once the map is added to a cache, stays set even after the cache eviction, and is cleared if the object goes back to fast mode. Added a regression test. Review URL: http://codereview.chromium.org/3472006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
For some reason, the scope's arguments and arguments shadow were variable proxies, which resulted in all references to the arguments shadow being shared in the AST. This makes it hard to put per-node state on the AST nodes. I took the opportunity to remove Variable::AsVariable which has confused people in the past, and to rename Variable::slot to the more accurate Variable::AsSlot. Review URL: http://codereview.chromium.org/3432022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-