- 28 Sep, 2010 1 commit
-
-
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
-
- 23 Sep, 2010 8 commits
-
-
kaznacheev@chromium.org authored
Review URL: http://codereview.chromium.org/3412028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/3442012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5514 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
BUG=876 Review URL: http://codereview.chromium.org/3466013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Add support for index properties with getters, setters or indexed interceptors. For indexed interceptor case only fix crashes, do not guarantee any semantic soundness. Separate issue opened for this http://code.google.com/p/v8/issues/detail?id=877 BUG=http://code.google.com/p/v8/issues/detail?id=874 Review URL: http://codereview.chromium.org/3462005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
erik.corry@gmail.com authored
Review URL: http://codereview.chromium.org/3449004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5511 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
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
-
vegorov@chromium.org authored
We should not allow handle dereference and GC inside the same expression because order of subexpression evalution are not defined. Review URL: http://codereview.chromium.org/3398014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kaznacheev@chromium.org authored
There are 3 methods where early return happen before the miss label is bound. This is harmless in Release mode, in Debug an assertion fails. Review URL: http://codereview.chromium.org/3405022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Sep, 2010 4 commits
-
-
antonm@chromium.org authored
It complaints of type conversions. Review URL: http://codereview.chromium.org/3396015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
antonm@chromium.org authored
strlen returns size_t and VS2008 is now pretty picky about that. Review URL: http://codereview.chromium.org/3384019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
BUG: 52801 Review URL: http://codereview.chromium.org/3389022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/3466009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Sep, 2010 2 commits
-
-
vitalyr@chromium.org authored
TBR=erik.corry Review URL: http://codereview.chromium.org/3446015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5500 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Review URL: http://codereview.chromium.org/3327022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5499 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Sep, 2010 8 commits
-
-
yurys@chromium.org authored
BUG=672 Review URL: http://codereview.chromium.org/3444011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5498 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vitalyr@chromium.org authored
Contextual load requires only a map check followed by a cell hole check so we can generate pretty compact code for that. The fact that we have inlined code is marked by mov ecx, offset instruction after the IC call. Inlining is only enabled inside loops and in non-builtin functions. The generated code size increase is about 3%. This descreased the pc-to-code cache hit rate in some of the benchmarks that trigger GC. To compensate we now have 4 times as much entries in the cache. Review URL: http://codereview.chromium.org/3402014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Test was failing is due to a fact that MSVC in debug mode uses separate instances for identical string literals. TBR=sgjesse@chromium.org Review URL: http://codereview.chromium.org/3381013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
floitschV8@gmail.com authored
Review URL: http://codereview.chromium.org/3471001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
sandholm@chromium.org authored
inputs by scrambling the input strings. Review URL: http://codereview.chromium.org/3435012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
It turns out they were filtered out. But when I unfiltered them, I discovered another issue: when DevTools run, regexp literals get recompiled each time they called (looks like this is concerned with switching to full compiler), so I ended up having multiple entries for the same regexp. To fix this, I changed the way of how code entries equivalence is considered. BUG=crbug/55999 TEST=cctest/test-profile-generator/ProfileNodeFindOrAddChildForSameFunction (the test isn't for the whole issue, but rather for equivalence testing) Review URL: http://codereview.chromium.org/3426008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
floitschV8@gmail.com authored
Review URL: http://codereview.chromium.org/2000004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
BUG=None TEST=compiles Patch from Thiago Farina <tfarina@chromium.org> Review URL: http://codereview.chromium.org/3413015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Sep, 2010 2 commits
-
-
lrn@chromium.org authored
Fix bug in writing symbol ids over 128. Review URL: http://codereview.chromium.org/3416010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
Review URL: http://codereview.chromium.org/3408011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-