jochen
b93e4d2c8b
Initialize fast memmove methods in the Isolate's ctor
...
BUG=v8:2487
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/1480883002
Cr-Commit-Position: refs/heads/master@{#32344}
2015-11-26 14:40:12 +00:00
jochen
ed841139df
Remove custom win64 modulo code
...
Just use the same workaround as on win32.
Also replace fmod calls with modulo() for consistency
BUG=none
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/1479773002
Cr-Commit-Position: refs/heads/master@{#32322}
2015-11-26 10:11:54 +00:00
jochen
27001ca652
Lazily initialize fast_sqrt() and pass an Isolate parameter to it
...
R=jkummerow@chromium.org
BUG=v8:2487
LOG=n
Review URL: https://codereview.chromium.org/1473683004
Cr-Commit-Position: refs/heads/master@{#32287}
2015-11-25 16:37:28 +00:00
jkummerow
81ee94b650
Move Hydrogen and Lithium to src/crankshaft/
...
Review URL: https://codereview.chromium.org/1405363003
Cr-Commit-Position: refs/heads/master@{#31410}
2015-10-20 13:25:55 +00:00
alph
e0606c9f00
Move heap and CPU profilers into a dedicated directory.
...
Drive-by: remove unnecessary includes.
Review URL: https://codereview.chromium.org/1356223004
Cr-Commit-Position: refs/heads/master@{#30987}
2015-09-28 19:34:18 +00:00
ulan
057514d3fa
Use idle task to perform incremental marking steps.
...
This moves incremental marking steps from gc-idle-time-handler and heap to the new incremental marking task.
BUG=chromium:490559
LOG=NO
Review URL: https://codereview.chromium.org/1265423002
Cr-Commit-Position: refs/heads/master@{#30641}
2015-09-08 15:54:37 +00:00
mstarzinger
01579c6ebb
Remove obsolete static methods from V8 class.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/1303873002
Cr-Commit-Position: refs/heads/master@{#30282}
2015-08-21 07:41:33 +00:00
mstarzinger
65c8ecc65e
[heap] Avoid overzealous inclusion of heap internal headers.
...
This is a first step towards constraining down the heap interface to
just the heap.h file. Note that many includes still leak through that
file to the global "src" directory, but there now is a single place
controlling which declarations leak that way. Especially inclusion of
inline header files within "heap" has been limited drastically.
R=hpayer@chromium.org ,mlippautz@chromium.org
Review URL: https://codereview.chromium.org/1281233003
Cr-Commit-Position: refs/heads/master@{#30092}
2015-08-10 16:32:29 +00:00
yangguo
1667c15e37
Debugger: move implementation to a separate folder.
...
R=cbruni@chromium.org
Review URL: https://codereview.chromium.org/1265923002
Cr-Commit-Position: refs/heads/master@{#29951}
2015-07-31 11:08:15 +00:00
jochen
ac1c713646
Delete APIs deprecated since last release
...
BUG=none
R=verwaest@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/1114873002
Cr-Commit-Position: refs/heads/master@{#29720}
2015-07-17 09:27:00 +00:00
erikcorry
4f5337a2b6
Cosmetic changes to tests to make it easier to concatenate them.
...
When compiling on a laptop I like to concatenate the small test files.
This makes a big difference to compile times. These changes make that
easier.
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/1163803002
Cr-Commit-Position: refs/heads/master@{#28742}
2015-06-01 22:47:08 +00:00
mstarzinger
8924a9e1b7
[turbofan] Add single --turbo flag.
...
This flag is intended as a staging flag for TurboFan. It serves as a
single flag that always enables a most recent configuration of TurboFan
for test suites and benchmarks, without needing to update test drivers.
R=titzer@chromium.org ,machenbach@chromium.org
Review URL: https://codereview.chromium.org/1094573002
Cr-Commit-Position: refs/heads/master@{#27896}
2015-04-16 16:28:39 +00:00
yangguo
019096f829
Serializer: move to a subfolder and clean up includes.
...
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/1041743002
Cr-Commit-Position: refs/heads/master@{#27501}
2015-03-27 15:29:07 +00:00
dcarney
996fa7d36e
[turbofan] Remove global InstructionOperand caches.
...
Review URL: https://codereview.chromium.org/904693002
Cr-Commit-Position: refs/heads/master@{#26479}
2015-02-06 09:00:50 +00:00
baixo
0e5c107c66
Ensure external snapshot is only set once.
...
BUG=421063
Review URL: https://codereview.chromium.org/746263002
Cr-Commit-Position: refs/heads/master@{#25481}
2014-11-24 12:44:39 +00:00
jochen@chromium.org
6a14d7d50f
Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created
...
> We also initialize the Isolate on creation.
>
> This should allow for getting rid of the last remaining default isolate
> traces. Also, it'll speed up several isolate related operations that no
> longer require locks.
>
> Embedders that relied on v8::Isolate to return an uninitialized Isolate
> (so they can set ResourceConstraints for example, or set flags that
> modify the way the isolate is created) should either do the setup before
> creating the isolate, or use the recently added CreateParams to pass e.g.
> ResourceConstraints.
>
> BUG=none
> LOG=y
> R=svenpanne@chromium.org
>
> Review URL: https://codereview.chromium.org/469783002
BUG=none
LOG=y
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/583153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 08:01:35 +00:00
jochen@chromium.org
525ed1130e
Revert "Require V8 to be explicitly initialized before an Isolate is created"
...
LOG=n
TBR=svenpanne@chromium.org
BUG=none
Review URL: https://codereview.chromium.org/582953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:57:10 +00:00
jochen@chromium.org
27f3cc1b9c
Require V8 to be explicitly initialized before an Isolate is created
...
We also initialize the Isolate on creation.
This should allow for getting rid of the last remaining default isolate
traces. Also, it'll speed up several isolate related operations that no
longer require locks.
Embedders that relied on v8::Isolate to return an uninitialized Isolate
(so they can set ResourceConstraints for example, or set flags that
modify the way the isolate is created) should either do the setup before
creating the isolate, or use the recently added CreateParams to pass e.g.
ResourceConstraints.
BUG=none
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/469783002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:07:50 +00:00
mstarzinger@chromium.org
88a842d628
Fix and re-enable test-api/InitializeAndDispose.
...
R=svenpanne@chromium.org
TEST=cctest/test-api/InitializeAndDispose
Review URL: https://codereview.chromium.org/504093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:07:18 +00:00
vogelheim@chromium.org
c53097a632
Fix memory leak. Make "V8 Linux - memcheck" build bot happy.
...
Flags::SetFlagsFromCommandLine allocates memory to hold copies of string
arguments when calling Flag::set_string_value(..., true) and presently
noone deallocates this. Resetting the flags will clear this memory.
Since Flags can be used throughout the entire V8 lifetime,
Dispose/Teardown seems like the right location to free this
memory.
This is rarely a problem in practice, but the memcheck buildbot (rightly)
complains.
BUG=
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/505103003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 11:00:57 +00:00
hpayer@chromium.org
24fceeeabb
Move store-buffer to heap and remove some unnecessary includes.
...
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/463523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-11 14:22:24 +00:00
mstarzinger@chromium.org
c503e74181
Prevent direct inclusion of headers from TF.
...
R=jochen@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/438243004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-05 13:20:26 +00:00
bmeurer@chromium.org
d07a2eb806
Rename ASSERT* to DCHECK*.
...
This way we don't clash with the ASSERT* macros
defined by GoogleTest, and we are one step closer
to being able to replace our homegrown base/ with
base/ from Chrome.
R=jochen@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/430503007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-04 11:34:54 +00:00
jochen@chromium.org
932c0a2282
Turn ASSERTs in platform setup releated code into CHECKs
...
This way, we will already catch misconfigurations in release builds,
instead of getting random bug reports way later during runtime.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/429203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-31 08:06:24 +00:00
danno@chromium.org
a1383e2250
Land the Fan (disabled)
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/426233002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-30 13:54:45 +00:00
jochen@chromium.org
ca16bb7ae2
Split out libplatform into a separate libary
...
Also remove the "use default platform" compile flag. Instead, the embedder
has to provide the platform.
Change all binaries to use the default platfrom from libplatform.
Unless --job-based-sweeping is passed, nothing uses the platform yet, so
nothing will break for embedders (yet).
BUG=none
R=jkummerow@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/345903004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 07:37:27 +00:00
jochen@chromium.org
3c62545377
Move libplatform files into v8::platform namespace
...
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/336313017
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 08:15:09 +00:00
jochen@chromium.org
a4506cd3f2
Move platform abstraction to base library
...
Also split v8-core independent methods from checks.h to base/logging.h and
merge v8checks with the rest of checks.
The CPU::FlushICache method is moved to CpuFeatures::FlushICache
RoundUp and related methods are moved to base/macros.h
Remove all layering violations from src/libplatform
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/358363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-30 13:25:46 +00:00
jochen@chromium.org
1600681420
Remove dependency from platform files on v8.h
...
Pass flag values in through a central initialize call.
We still depend on utils.h for RoundUp and IsAligned.
BUG=none
R=bmeurer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/353113003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-27 08:38:56 +00:00
jochen@chromium.org
c0dd51efdb
Remove dependency from platform.h implementations on isolate
...
BUG=none
R=bmeurer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/347223004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:20:42 +00:00
mstarzinger@chromium.org
fec6e62dfb
Check alpha-sorting of includes during presubmit.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/333013002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-20 08:40:11 +00:00
jochen@chromium.org
799fc835f8
Move atomic ops and related files to base library
...
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/316133002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 12:14:47 +00:00
jochen@chromium.org
56a486c322
Use full include paths everywhere
...
- this avoids using relative include paths which are forbidden by the style guide
- makes the code more readable since it's clear which header is meant
- allows for starting to use checkdeps
BUG=none
R=jkummerow@chromium.org , danno@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/304153016
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 08:12:43 +00:00
jochen@chromium.org
84e078e561
Reland 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
Verified that arm builds locally.
BUG=none
TBR=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/306473004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-27 07:57:22 +00:00
jochen@chromium.org
eabd5a19b9
Revert 21502 - "Move OS::MemCopy and OS::MemMove out of platform to utils"
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/297303004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:56:27 +00:00
jochen@chromium.org
a5a21a0da4
Move OS::MemCopy and OS::MemMove out of platform to utils
...
Since both are jitted on some platforms and depend on codegen, they
don't belong to the platform abstraction. At the same time, I can't put
them to codegen.h, as this would introduce cyclic dependencies.
BUG=none
R=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/302563004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-26 19:33:15 +00:00
yangguo@chromium.org
d0398c08ce
Make serializer non-static.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/296853007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-05-22 09:36:20 +00:00
yangguo@chromium.org
fe243379f8
Decouple CpuFeatures from serializer state.
...
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
2014-05-16 15:18:24 +00:00
svenpanne@chromium.org
9e1abe4d68
Reland "Removed default Isolate."
...
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
2014-05-09 08:40:18 +00:00
hpayer@chromium.org
de21c8a245
Simplify ConfigureHeap and change --max_new_space_size to --max_semi_space_size.
...
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
2014-05-09 08:38:27 +00:00
svenpanne@chromium.org
e9e373e8c9
Revert "Removed default Isolate."
...
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
2014-05-06 13:06:12 +00:00
svenpanne@chromium.org
9b4bd33551
Removed default Isolate.
...
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
2014-05-06 11:48:26 +00:00
jochen@chromium.org
0070272321
Move generated math methods from platform to codegen
...
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
2014-05-06 11:14:37 +00:00
hpayer@chromium.org
a35bb7586c
FLAG_max_new_space_size is in MB.
...
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
2014-05-05 16:33:23 +00:00
jochen@chromium.org
4dd8b11171
Introduce a microtask suppression scope and move microtask methods to isolate
...
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
2014-05-02 19:30:54 +00:00
svenpanne@chromium.org
5170a008d3
Generation of our home-grown memmove doesn't depend on serializer state anymore.
...
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
2014-05-02 10:14:37 +00:00
svenpanne@chromium.org
4dca23f825
Added a Isolate* parameter to Serializer::enabled().
...
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
2014-04-30 09:50:58 +00:00
bmeurer@chromium.org
d4b533d41b
Bulk update of Google copyright headers in source files.
...
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
2014-04-29 06:42:26 +00:00
svenpanne@chromium.org
2fe0f48d39
Simplified CPU/CpuFeatures a bit.
...
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
2014-04-28 08:18:38 +00:00
jochen@chromium.org
c27da0c9b2
Remove static CallCompletedCallback handlers
...
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
2014-04-25 13:49:22 +00:00