- 16 May, 2014 1 commit
-
-
yangguo@chromium.org authored
Traditionally, we cross compile a snapshot iff the serializer is enabled. This will change in the future. Changes: - CpuFeatures probing is done once per process, depending on whether we cross compile. - CpuFeatures are consolidated into the platform-independent assembler.h as much as possible. - FLAG_enable_<feature> will only be checked at probing time (already the case for ARM). - The serializer state is cached by the MacroAssembler. - PlatformFeatureScope is no longer necessary. - CPUFeature enum values no longer map to CPUID bit fields. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/285233010 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 09 May, 2014 2 commits
-
-
svenpanne@chromium.org authored
Changes compared to original CL: Until the Serializer/Isolate chaos is cleaned up, we can't initalize/dispose cctests in a tidy way, see cctest.cc. BUG=359977 LOG=y R=dcarney@chromium.org Review URL: https://codereview.chromium.org/267383002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/271843005 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 06 May, 2014 3 commits
-
-
svenpanne@chromium.org authored
This reverts commit r21167, cctest/test-serialize has to be fixed first. TBR=dcarney@chromium.org Review URL: https://codereview.chromium.org/267163002 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
There is probably room for more cleanup after this... BUG=359977 LOG=y R=dcarney@chromium.org Review URL: https://codereview.chromium.org/262163006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
BUG=none R=mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/269823006 git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 05 May, 2014 1 commit
-
-
hpayer@chromium.org authored
Plus, cleanup of the space - generation mess. More to do there... BUG= R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/268073004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 May, 2014 2 commits
-
-
jochen@chromium.org authored
BUG=369503 R=adamk@chromium.org LOG=y TEST=cctest/test-api/SetAutorunMicrotasks Review URL: https://codereview.chromium.org/263933002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
The serializer state has to be per-Isolate, but at the point where we generate our memmoves we don't really have an Isolate. Furthermore, there was no fundamental reason why we shouldn't use our home-grown memmove during mksnapshot time. Perhaps we can totally remove our own memmove nowadays, but this would be a separate CL. BUG=359977 LOG=y R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/261903002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Apr, 2014 1 commit
-
-
svenpanne@chromium.org authored
This parameter will soon be used when a few pseudo-classes like Serializer are turned into real classes. The current CL is already big enough, untying our Gordian knot called "startup" will continue... BUG=359977 LOG=y R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/260003006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 29 Apr, 2014 1 commit
-
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/259183002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 28 Apr, 2014 1 commit
-
-
svenpanne@chromium.org authored
This is a necessary intermediate step to disentangle the startup. In the long run CPU and CpuFeatures should probably be merged, and Serializer::enabled usage should be radically reduced, but we're not there yet. BUG=359977 LOG=y R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/258993002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@21001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 25 Apr, 2014 1 commit
-
-
jochen@chromium.org authored
BUG=none R=svenpanne@chromium.org LOG=y Review URL: https://codereview.chromium.org/249313002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Apr, 2014 2 commits
-
-
svenpanne@chromium.org authored
This reverts commit r20876, it broke non-snapshot tests. TBR=bmeurer@chromium.org git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
This implies that one better has a v8::V8::Initialize when v8::V8::Dispose is used. BUG=359977 LOG=y R=jochen@chromium.org Review URL: https://codereview.chromium.org/238353015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Apr, 2014 1 commit
-
-
mvstanton@chromium.org authored
BUG= R=hpayer@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/240193002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 Apr, 2014 1 commit
-
-
svenpanne@chromium.org authored
BUG=359977 LOG=y R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/240213002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 04 Mar, 2014 1 commit
-
-
ishell@chromium.org authored
We don't need it because 1) hash randomization uses random generator whose results depend on --random-seed option which is set in predictable mode. 2) disabling hash randomization triggers assert in snapshot mode. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/171813015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Feb, 2014 1 commit
-
-
jochen@chromium.org authored
BUG=none R=hpayer@chromium.org LOG=n Review URL: https://codereview.chromium.org/170483002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 12 Feb, 2014 1 commit
-
-
rafaelw@chromium.org authored
This patch generalizes Object.observe callbacks and promise resolution into a FIFO queue called a "microtask queue". It also exposes new V8 API which exposes the microtask queue to the embedder. In particular, it allows the embedder to -schedule a microtask (EnqueueExternalMicrotask) -run the microtask queue (RunMicrotasks) -control whether the microtask queue is run automatically within V8 when the last script exits (SetAutorunMicrotasks). R=dcarney@chromium.org, rossberg@chromium.org, dcarney, rossberg, svenpanne BUG= Review URL: https://codereview.chromium.org/154283002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jan, 2014 1 commit
-
-
svenpanne@chromium.org authored
Removes the embarrassing "static"s, shuffles some code around, doing various cleanups on the way. R=dcarney@chromium.org Review URL: https://codereview.chromium.org/130213009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 20 Dec, 2013 1 commit
-
-
jochen@chromium.org authored
We don't use the worker pool yet, however, there are tests. Yay. The next step is to use the worker pool for parallel sweeping. I've also started to move the platform related files into a sub directory. The goal is to eventually build all the platform stuff as a separate library which is used by d8 and cctest (and other embedders that wish to use the default implementation) but not by chromium. BUG=v8:3015 R=hpayer@chromium.org, svenpanne@chromium.org LOG=n Review URL: https://codereview.chromium.org/104583003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Dec, 2013 1 commit
-
-
ishell@chromium.org authored
R=hpayer@chromium.org Review URL: https://codereview.chromium.org/93633008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 27 Nov, 2013 1 commit
-
-
rossberg@chromium.org authored
Based on prototype at https://github.com/rossberg-chromium/js-promise which informed the latest spec draft version at https://github.com/domenic/promises-unwrapping/blob/master/README.md Activated by --harmony-promises. Feature complete with respect to the draft spec, plus the addition of .when and .deferred methods. Final naming and other possible deviations from the current draft will hopefully be resolved soon after the next TC39 meeting. This CL also generalises the Object.observe delivery loop into a simplistic microtask loop. Currently, all observer events are delivered before invoking any promise handler in a single fixpoint iteration. It's not clear yet what the final semantics is supposed to be (should there be a global event ordering?), but it will probably require a more thorough event loop abstraction inside V8 once we get there. R=dslomov@chromium.org, yhirano@chromium.org BUG= Review URL: https://codereview.chromium.org/64223010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 22 Nov, 2013 1 commit
-
-
svenpanne@chromium.org authored
The main change is that a bit has been added to array buffers to signal that the backing store has to be freed when the buffer dies. BUG=316359 LOG=Y R=yangguo@chromium.org Review URL: https://codereview.chromium.org/82763005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 21 Nov, 2013 3 commits
-
-
danno@chromium.org authored
Revert 17966, 17965 also as collateral damage: Embed trigonometric lookup table. Due to Heapcheck and valgrind failures that are not yet fixed. TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/80513004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17981 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
Over the initial commit, this CL moves the lifetime management of the default platform to v8.cc from api.cc R=bmeurer@chromium.org, svenpanne@chromium.org BUG=v8:3015 LOG=n Review URL: https://codereview.chromium.org/78453003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
This removes tons of architecture-specific code and makes it easy to experiment with other pseudo-RNG algorithms. The crankshafted code is extremely good, keeping all things unboxed and doing only minimal checks, so it is basically equivalent to the handwritten code. When benchmarks are run without parallel recompilation, we get a few percent regression on SunSpider's string-validate-input and string-base64, but these benchmarks run so fast that the overall SunSpider score is hardly affected and within the usual jitter. Note that these benchmarks actually run even faster when we don't crankshaft at all on the main thread (the regression is not caused by bad code, it is caused by Crankshaft needing a few hundred microsecond for compilation of a trivial function). Luckily, when parallel recompilation is enabled, i.e. in the browser, we see no regression at all! R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/68723002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Nov, 2013 4 commits
-
-
jochen@chromium.org authored
This also reverts 17879 and 17880. BUG=v8:3015 TBR=svenpanne@chromium.org LOG=n Review URL: https://codereview.chromium.org/76323002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
TBR=svenpanne@chromium.org BUG=none LOG=n Review URL: https://codereview.chromium.org/67463003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
Also provide a default implementation to use in cctests. For now, there are just two thread releated callbacks. In future CLs, I will move callbacks registered e.g. via V8::SetFooCallback over. BUG=v8:3015 R=svenpanne@chromium.org, danno@chromium.org LOG=no Review URL: https://codereview.chromium.org/75283002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=svenpanne@chromium.org BUG=v8:2991 LOG=Y Review URL: https://codereview.chromium.org/68203029 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 08 Nov, 2013 1 commit
-
-
svenpanne@chromium.org authored
Removed a useless test case along the way. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/65143007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 07 Nov, 2013 1 commit
-
-
yangguo@chromium.org authored
Also introduce a flag for a quick check that concurrency is on. R=jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/64543004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 02 Oct, 2013 1 commit
-
-
jkummerow@chromium.org authored
This reverts r17049 and r17060. TBR=dcarney@chromium.org Review URL: https://codereview.chromium.org/25697002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 01 Oct, 2013 1 commit
-
-
dcarney@chromium.org authored
this cl also moves all accesses to the default isolate behind EnsureDefaultIsolate R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/24999002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 30 Sep, 2013 1 commit
-
-
jochen@chromium.org authored
The framework isn't used, and won't be used in the near future R=hpayer@chromium.org Review URL: https://codereview.chromium.org/25260003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 Sep, 2013 1 commit
-
-
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
-
- 06 Sep, 2013 2 commits
-
-
mstarzinger@chromium.org authored
TBR=jkummerow@chromium.org Review URL: https://codereview.chromium.org/23522022 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=svenpanne@chromium.org BUG=v8:2744 TEST=cctest/test-api/InitializeAndDisposeMultiple Review URL: https://codereview.chromium.org/23775007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-