- 11 Sep, 2013 17 commits
-
-
bmeurer@chromium.org authored
Also add additional ASSERTs to help tracking the flaky test-alloc/CodeRange in Windows. R=verwaest@chromium.org Review URL: https://codereview.chromium.org/23542027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/23883007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/23710025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
titzer@chromium.org authored
Implement simplistic local alias analysis, which will be used in both check elimination and load elimination. BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/23516010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
The spec omits the receiver arg with the idea arrow functions with lexical |this| will obviate the need for it. BUG= R=rossberg@chromium.org Review URL: https://codereview.chromium.org/23727006 Patch from Rafael Weinstein <rafaelw@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/24031003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/24093002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=dslomov@chromium.org Review URL: https://codereview.chromium.org/23494047 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
TBR=verwaest@chromium.org Review URL: https://codereview.chromium.org/23514048 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
titzer@chromium.org authored
BUG= R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/23600023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
TBR=verwaest@chromium.org Review URL: https://codereview.chromium.org/23710023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Remove a lot of platform duplication, and simplify the virtual memory implementation. Also improve readability by avoiding bool parameters for executability (use a dedicated Executability type instead). Get rid of the Isolate::UncheckedCurrent() call in the platform code, as part of the Isolate TLS cleanup. Use a dedicated random number generator for the address randomization, instead of messing with the per-isolate random number generators. TEST=cctest/test-virtual-memory R=verwaest@chromium.org Review URL: https://codereview.chromium.org/23641009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/23494046 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
R=yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/23994004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/23480067 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/23468021 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/23587019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Sep, 2013 22 commits
-
-
adamk@chromium.org authored
This patch implements optimized objectInfo structure which manages the set of observers associated with an object and the changeRecord types which they accept. Observation in the normal case (Object.observe, default accept types, one observer) now allocates fewer objects and unobservation no longer needs to scan and splice an InternalArray -- making the combined speed of observe/unobserve about 200% faster. This patch implements the following optimizations: -objectInfo is initially created without any connected objects or arrays. The first observer is referenced directly by objectInfo, and when a second observer is added, changeObservers converts to a mapping of callbackPriority->observer, which allows for constant time registration/de-registration. -observer.accept and objectInfo.performing are conceptually the same data-structure. This is now directly represented as an abstract "TypeMap" which can later be optimized to be a smi in common cases, (e.g: https://codereview.chromium.org/19269007/). -objectInfo observers are only represented by an object with an accept typeMap if the set of accept types is non-default R=rossberg@chromium.org Review URL: https://codereview.chromium.org/19541010 Patch from Rafael Weinstein <rafaelw@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= R=mstarzinger@chromium.org, mvstanton@chromium.org Review URL: https://codereview.chromium.org/24052003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
BUG= R=ulan@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/23648009 Patch from Weiliang Lin <weiliang.lin2@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/23629031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=danno@chromium.org Review URL: https://codereview.chromium.org/23629040 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/23708030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/23904012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rodolph.perfetta@gmail.com authored
RegExpCEntryStub is therefore removed. BUG=none TEST=none R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/23468015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/23658034 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
olivf@chromium.org authored
BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/23889013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
olivf@chromium.org authored
+ Prevent truncating TaggedToI from bailing out. (This is a port of r16464) BUG= R=titzer@chromium.org Review URL: https://codereview.chromium.org/23938003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
TBR=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/23534052 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/23769008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Introduce a RandonNumberGenerator class. Refactor the random/private_random uses in Isolate/Context. The RandomNumberGenerator is a pseudorandom number generator with 48-bit state. It is properly seeded using either (1) the --random-seed if specified, or (2) the entropy_source function if configured, or (3) /dev/urandom if available, or (4) falls back to Time and TimeTicks based seeding. Each Isolate now contains a RandomNumberGenerator, which replaces the previous private_random_seed. Every native context still has its own random_seed. But this random seed is now properly initialized during bootstrapping, instead of on-demand initialization. This will allow us to cleanup and speedup the HRandom implementation quite a lot (this is delayed for a followup CL)! Also stop messing with the system rand()/random(), which should not be done from a library anyway! We probably re-seeded the libc rand()/random() after the application (i.e. Chrome) already seeded it (with better entropy than what we used). Another followup CL will replace the use of the per-isolate random number generator for the address randomization and thereby get rid of the Isolate::UncheckedCurrent() usage in the platform code. TEST=cctest/test-random-number-generator,cctest/test-random R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/23548024 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
loislo@chromium.org authored
The reason of that is a number of cons strings in the app. The app constructs a json string and as a result v8 heap has a very long chain of cons strings. Profiler counts all these strings as plain String objects and assign the content of the strings as node names. It required O(n^2) time and O(n^2) memory. Solution: I introduced two new types, kConsString and kSliced string. They do not use the content of the string for names. So the problem disappeared. The heap profiler usability problem will be solved on Blink side. BUG=285770 R=yangguo@chromium.org Review URL: https://codereview.chromium.org/23460027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
titzer@chromium.org authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/24087004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
InstallOptimizedCode aquires ownership on the compilation info and deletes it on return, tearing down the attached zone. The OptimizingCompiler object is a zone object allocated in just that zone, so it also gets deleted. Effectively, InstallOptimizedCode cleans up when it's done, so the OptimizingCompiler object it receives is invalidated afterwards. R=titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/23769007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
Add a ResourceConstraint for the embedder to specify that V8 is running on a memory constrained device. This enables us to specialize certain operations such that we limit memory usage on low-memory devices, without reducing performance on devices which are not memory constrained. BUG=chromium:280984 R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/23464022 Patch from Ross McIlroy <rmcilroy@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
BUG= R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/23767009 Patch from Ross McIlroy <rmcilroy@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/23581010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
BUG=chromium:236173 R=bmeurer@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/23530045 Patch from Marja Hölttä <marja@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Up until now we used PAGE_GUARD for guard pages in Windows, which will raise a STATUS_GUARD_PAGE_VIOLATION exception on first access and grant regular access afterwards. This behavior is required to implement automatic stack checking, or more generally to implement applications that monitor the growth of large dynamic data structures. However, this is not what we want for our guard pages, which are used as a security mechanism. What we really want is PAGE_NOACCESS here, which is the Windows-equivalent of PROT_NONE that we use on all other platforms. R=cdn@chromium.org Review URL: https://codereview.chromium.org/23458022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 Sep, 2013 1 commit
-
-
mstarzinger@chromium.org authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/23458036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-