- 13 Sep, 2013 5 commits
-
-
titzer@chromium.org authored
BUG= R=verwaest@chromium.org Review URL: https://codereview.chromium.org/23872027 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/22934006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
TEST=/test/mjsunit/lithium/SeqStringSetChar.js R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/23890007 Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/23434008 Patch from Rafael Weinstein <rafaelw@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/23464058 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Sep, 2013 11 commits
-
-
yangguo@chromium.org authored
BUG= R=ulan@chromium.org Review URL: https://codereview.chromium.org/23619036 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16691 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
The previous attempt used Boolean instead of $Boolean. BUG=v8:2745 R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/23622028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
titzer@chromium.org authored
BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/23475038 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
titzer@chromium.org authored
BUG= R=rossberg@chromium.org, verwaest@chromium.org Review URL: https://codereview.chromium.org/23609020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
Instead of overwriting the code entry of the function, we trigger an interrupt to install the code on the main thread. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/23542029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/23600040 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
The algorithm puts elements into correct positions in multiple iterations. On the first iteration it tries to put elements at entries specified by their first hash probe. On the second iteration -- by the second hash probe, and so on. Overall it does O(k*n) memory accesses, where k is the maximum number of probes required for an element and n is the capacity of the hash table. The expectation is that k will be small. R=mstarzinger@chromium.org Review URL: https://chromiumcodereview.appspot.com/23658031 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=jochen@chromium.org BUG=v8:2855 Review URL: https://codereview.chromium.org/22891028 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rodolph.perfetta@gmail.com authored
It is replaced by a mov_label_offset(Register, Label*) instruction. BUG=none TEST=test/cctest/test-assembler-arm.cc R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/23515007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=dslomov@chromium.org Review URL: https://codereview.chromium.org/23604054 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
Makes the whole test-api a non-tree-closer on arm. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/23961006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 11 Sep, 2013 8 commits
-
-
adamk@chromium.org authored
This change is mostly straightforward: for 'normal' sorts of change records, simply don't deliver a changeRecord to a given observer callback if an access the callback's Context is not allowed to "GET" or "HAS" changeRecord.name on changeRecord.object, or if ACCESS_KEYS is disallowed. For 'splice' records, the question of whether to hand it to an observer is trickier, since there are multiple properties involved, and multiple types of possible information leakage. Given that access-checked objects are very rare (only two in Blink, Window and Location), and that they are not normally used as Arrays, it seems better to simply not emit any splice records for such objects rather than spending lots of logic to attempt to avoid information leakage for something that may never happen. BUG=v8:2778 R=rossberg@chromium.org Review URL: https://codereview.chromium.org/22962009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
Original descriptions were: - "Refactor and cleanup VirtualMemory." - "Fix typo." - "Deuglify V8_INLINE and V8_NOINLINE." - "Don't align size on allocation granularity for unaligned ReserveRegion calls." Reasons for the revert are: - Our mjsunit test suite slower by a factor of 5(!) in release mode. - Flaky cctest/test-alloc/CodeRange on all architectures and platforms. - Tankage of Sunspider by about 6% overall (unverified). TBR=bmeurer@chromium.org Review URL: https://codereview.chromium.org/23970004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
BUG=v8:2823 R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/23514050 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16650 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
-
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
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/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
-
- 10 Sep, 2013 7 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
-
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
-
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
-
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
-
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
-
- 09 Sep, 2013 9 commits
-
-
titzer@chromium.org authored
Generate a custom OSR entrypoint for OSR compiles on all platforms, and transition to optimized code using the special entrypoint, instead of through the deoptimizer. Do not install the OSR compiled code as _the_ optimized code for a function. Remove OSR-related stuff from deoptimizer. BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/21340002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=verwaest@chromium.org BUG=287476 Review URL: https://codereview.chromium.org/23480051 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/23816009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
TBR=dslomov@chromium.org BUG= Review URL: https://codereview.chromium.org/24023004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=titzer@chromium.org TEST=mjsunit/compiler/escape-analysis Review URL: https://codereview.chromium.org/23892007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
adds copying and autodispose as traits R=marja@chromium.org, mstarzinger@chromium.org, svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/23401003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
TBR=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/24071002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
TBR=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/23680014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/23561007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-