- 28 Feb, 2012 1 commit
-
-
svenpanne@chromium.org authored
With transitions in AccessorPairs, it is not enough to look at the PropertyType alone to decide whether we look at a property or not: For objects with JavaScript accessors, we have to look into the AccessorPair itself and see if one of its 2 parts is actually a JavaScript accessor. Therefore, a predicate with a PropertyType argument alone doesn't make sense anymore, we might need the associated value, too. Things are complicated by the fact that the holder in a LookupResult can be NULL, so we must be careful to retrieve its value only when it is really needed. To achieve the needed call-by-name semantics, a new Entry is introduced, which is basically a closure over a DescriptorArray and an index into this array (C++0x to the rescue!). GCC is clever enough to inline this class, so we pay no runtime penalty for this abstraction. It's all a bit ugly, but this is caused by the current structure of Descriptor, DescriptorArray and LookupResult: Things would be much easier if DescriptorArray were, well, an array of Descriptors, and LookupResult were a 'Maybe Descriptor' (in Haskell-terms). Review URL: https://chromiumcodereview.appspot.com/9466047 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Feb, 2012 11 commits
-
-
mikhail.naganov@gmail.com authored
This patch changes the signature of the v8::HeapGraphNode::GetRetainedSize method, but it's not used in Chromium, and it should be easy for other clients (if any) to adjust to this change. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/9466014 Patch from Alexei Filippov <alexeif@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Adds a new API where the host can supply a callback function. The callback function can resolve the location of a return address on stack to the location where a return-address rewriting profiler stashed the original return address. Review URL: https://chromiumcodereview.appspot.com/9401019 Patch from Sigurður Ásgeirsson <siggi@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Additionally force increment instruction to use int32 representation. R=fschneider@google.com BUG=http://crbug.com/115646 TEST=test/mjsunit/compiler/optimized-for-in.js Review URL: https://chromiumcodereview.appspot.com/9463052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
Port r10834 (0ce8cc524). Note: this commit is a simple fix-up for FullCodeGenerator::self_optimization_header_size(). BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9466050 Patch from Daniel Kalmar <kalmard@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG=v8:1853 Review URL: https://chromiumcodereview.appspot.com/9460059 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=ulan@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9455087 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
R=yangguo@chromium.org Review URL: https://chromiumcodereview.appspot.com/9463049 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9447098 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
Profiler experiments: Don't add self-optimization headers to functions that can't be optimized anyway Review URL: https://chromiumcodereview.appspot.com/9460058 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10836 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9471008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9466012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 24 Feb, 2012 15 commits
-
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org TEST=test262/S15.10.2.11_A1_T? Review URL: https://chromiumcodereview.appspot.com/9466010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10833 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
Baseline: http://codereview.chromium.org/9401008/ R=lrn@chromium.org,mstarzinger@chromium.org BUG=v8:1957 TEST=mjsunit/harmony/module-parsing Review URL: https://chromiumcodereview.appspot.com/9422001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
As of dominators and retained sizes calculation take quite small time now comparing to the main passes, it is worth to exclude these from progress indicator. Now the indicator smoothly runs to 100%, while previously it ran to 50% and then instantly jumped to 100%. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/9465010 Patch from Alexei Filippov <alexeif@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=jkummerow@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9455059 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This allows elements of the non-strict arguments object to be redefined with custom attributes and still maintain an alias into the context. Such a slow alias is maintained by placing a special marker into the dictionary backing store of the arguments object. R=rossberg@chromium.org BUG=v8:1772 TEST=test262,mjsunit/object-define-property Review URL: https://chromiumcodereview.appspot.com/9460004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9463010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
This reverts commit 630437a0239ce4de029ea367083cb12a8099506c. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Review URL: https://chromiumcodereview.appspot.com/9467005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
As of dominators and retained sizes calculation take quite small time now comparing to the main passes, it is worth to exclude these from progress indicator. Now the indicator smoothly runs to 100%, while previously it ran to 50% and then instantly jumped to 100%. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/9463008 Patch from Alexei Filippov <alexeif@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This fixes Object.getOwnPropertyDescriptor to report string character elements as enumerable in accordance with the spec. BUG=v8:862 TEST=mjsunit/get-own-property-descriptor Review URL: https://chromiumcodereview.appspot.com/9447053 Patch from Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mikhail.naganov@gmail.com authored
Replace timestamps with affected bool vector. Timestamps could cause some entries marked as affected on iteration i, to be recalculated twice on iterations i and i+1. Which is redundant. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/9467002 Patch from Alexei Filippov <alexeif@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9466003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10820 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
The context is only needed in the esi register if there is a call to the generic stub. Review URL: https://chromiumcodereview.appspot.com/9467001 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=yangguo@chromium.org Review URL: https://chromiumcodereview.appspot.com/9465003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9452022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 23 Feb, 2012 13 commits
-
-
yangguo@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9455016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9455015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
a previous change decreased the size of a zone object and it seems that sometimes the OS report more memory used even though there is less zone allocation. Review URL: https://chromiumcodereview.appspot.com/9443019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
TBR=vegorov@chromium.org BUG=v8:1322 Review URL: https://chromiumcodereview.appspot.com/9453012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG=v8:1969 TEST=regress/regress-1969 Review URL: https://chromiumcodereview.appspot.com/9455011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=fschneider@chromium.org,vegorov@chromium.org BUG=v8:1322 TEST=mjsunit/compiler/inline-literals Review URL: https://chromiumcodereview.appspot.com/9453007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10811 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
The previous code relied on the tricky global invariant that there is no map sharing when accessor properties are involved (or in other words: that TransformToFastProperties is dumb enough :-). Although this is not a real problem with the current code, this assumption breaks when map sharing in fast mode is enabled, so we defensively copy an AccessorPair. Review URL: https://chromiumcodereview.appspot.com/9430048 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
vegorov@chromium.org authored
Split executable memory chunks into two pieces: header with all metadata (protection: RW) and body (protection: RWX). Separate header from metadata with a guard page and add a guard page after the page body. R=erik.corry@gmail.com BUG=http://crbug.com/115151 Review URL: https://chromiumcodereview.appspot.com/9452002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This refactors the way we (re)define elements to perform normalization and attribute updating at a much deeper level, thereby removing some bogus special cases in upper runtime layers. Most element setters take an indicator flag that distinguishes between setting and defining. Setting of an element causes attributes to remain unchanged, writability to be checked and callbacks to be called. Defining of an element causes attributes to be updated and callbacks to be overridden. The same approach could be taken for properties. R=svenpanne@chromium.org BUG=v8:1772 TEST=test262,test262/15.2.3.6-4-333-11 Review URL: https://chromiumcodereview.appspot.com/9443014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
TBR=svenpanne@chromium.org Review URL: https://chromiumcodereview.appspot.com/9456006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
fschneider@chromium.org authored
The old HashMap class had an explicit member to determine the allocation policy. The template version matches the approach used already for lists. Cleanup some include dependencies and unnecessary forward declarations. Cleanup some dead code from isolate.h and replace some HEAP macros with GetHeap(). Review URL: https://chromiumcodereview.appspot.com/9372106 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
kmillikin@chromium.org authored
R=jkummerow@chromium.org BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9454009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
lrn@chromium.org authored
Patch from Mathias Bynens <mathias@qiwi.be> BUG=1958 TEST=Try `var a\u200c\u200d;` and confirm it doesn't throw an error. Review URL: https://chromiumcodereview.appspot.com/9433031 Patch from Mathias Bynens <mathias@qiwi.be>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-