yangguo@chromium.org
1aede5f400
Introduce code serializer/deserializer.
...
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/373713006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-08 09:04:08 +00:00
jochen@chromium.org
abb0ff205c
Buildfix for windows after r22180
...
TBR=yangguo@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/367293002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-03 07:57:29 +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
d8aefde617
Reland^2 r22105 "Remove static initializer from isolate"
...
Make Isolate::UncheckedCurrent() return NULL if Isolate wasn't yet initialized
to avoid reentrancy when running with the profiler
BUG=none
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/365863003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 14:43:54 +00:00
jochen@chromium.org
539c6183e3
Revert "Reland 22105 "Remove static initializer from isolate""
...
BUG=none
TBR=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/362893006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:44:02 +00:00
jochen@chromium.org
8fc4a8e1b3
Reland 22105 "Remove static initializer from isolate"
...
R=dcarney@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/367583003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-02 07:04:44 +00:00
jochen@chromium.org
9acb3bcbb2
Revert 22105 "Remove static initializer from isolate"
...
Fails to run on mac
BUG=none
LOG=n
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/368503003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 07:07:50 +00:00
jochen@chromium.org
bb169b93ae
Remove static initializer from isolate
...
We don't have a default isolate anymore, so we can just create the
thread data and keys on demand
BUG=none
R=dcarney@chromium.org , svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/337603010
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-07-01 06:43:14 +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
vogelheim@chromium.org
7b7bb25a24
Support external startup data in V8.
...
[Re-retry of r21696 and r21739]
If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.
The build-time option is off by default. Nothing should change if
it's not enabled.
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/334913004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 13:52:17 +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
machenbach@chromium.org
6ccf6f8bf8
Revert "Support external startup data in V8."
...
This reverts commit r21696 for breaking chromium windows compilation in the chromium cq.
Conflicts:
src/d8.cc
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/328693003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-10 10:51:33 +00:00
vogelheim@chromium.org
ba9f391bc0
Support external startup data in V8.
...
[Retry of crrev.com/293993021, which caused problems with 'ninja all' in Chromium. First patch set if a clean apply
of crrev.com/293993021. Subsequent sets are the actual fix
for that issue.]
If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.
The build-time option is off by default. Nothing should change if
it's not enabled.
BUG=
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/315033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-05 13:06:21 +00:00
mvstanton@chromium.org
e039477000
Revert "Support external startup data in V8."
...
This reverts commit r21646, as it blocks pushing to chromium.
TBR=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/317633003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-04 08:35:42 +00:00
vogelheim@chromium.org
61509aaea5
Support external startup data in V8.
...
If the embedder chooses, the 'natives' (library sources) and the
precompiled startup blob can be written to files during the build
process and handed over to V8 at startup. The main purpose would be
to reduce the size of the compiled binary for space constrained
platforms.
The build-time option is off by default. Nothing should change if
it's not enabled.
BUG=
R=bmeurer@chromium.org , jochen@chromium.org
Review URL: https://codereview.chromium.org/293993021
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-03 14:38:35 +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
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
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
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
vogelheim@chromium.org
331cc8a278
Implement --omit, --raw_[context_]file=... for mksnapshot tool.
...
These switches are analogous to --omit and --raw for js2c.py.
The goal it to allow embedders to externally load all (or generate) the V8 startup data.
There's a bit of gratuitous refactoring with the writing logic that helped me understand the code. Let me know if it's not an improvement.
BUG=355539
LOG=N
R=jochen@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/249283002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@20941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-04-24 12:31:10 +00:00
svenpanne@chromium.org
eeb1d7020e
Revert "Simplify v8/Isolate teardown."
...
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
2014-04-22 10:45:43 +00:00
svenpanne@chromium.org
618ff3a3f5
Simplify v8/Isolate teardown.
...
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
2014-04-22 09:24:56 +00:00
mvstanton@chromium.org
9ce1c5144a
Serializer enable/disable flags need thread safety.
...
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
2014-04-17 14:45:06 +00:00
svenpanne@chromium.org
a5af872994
Exit mksnapshot cleanly, making LSAN happy.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/137823009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-29 13:30:38 +00:00
jochen@chromium.org
a294defe9b
Remove usage of deprecated APIs from v8 itself
...
Also turn on depreaction warnings
BUG=v8:3023
R=svenpanne@chromium.org , dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/83323003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-22 12:28:58 +00:00
svenpanne@chromium.org
22b9adce49
Have mercy and don't kill the Context::Scope immediately after birth.
...
BUG=v8::2994
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/68693003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-11-12 07:03:59 +00:00
svenpanne@chromium.org
847f4ce616
Removed dead code from mksnapshot.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/28683002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-10-18 09:06:58 +00:00
dcarney@chromium.org
44afd2a5f9
don't use default isolate in mksnapshot
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/24258006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-20 13:19:40 +00:00
jochen@chromium.org
c5b3ce0671
Snapshot i18n Javascript code
...
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
2013-09-12 13:50:38 +00:00
dcarney@chromium.org
cc2257b92a
move HEAP to /test
...
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
2013-09-11 07:14:41 +00:00
dcarney@chromium.org
bb01557abf
remove Isolate::Current from most files starting with 's' through 'v'
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/23549011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 11:54:08 +00:00
svenpanne@chromium.org
625874a48c
Deprecate Persistent functions which were marked to be deprecated.
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/23707009
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-09-03 07:34:34 +00:00
jkummerow@chromium.org
caba24c813
Revert "Snapshot i18n Javascript code" and "Fix mjsunit/debug-script after r16298".
...
This reverts r16298 and r16303 due to ChromeOS browser_tests failures ("Uncaught ReferenceError: Boolean is not defined" in --gtest_filter="FileDisplay/FileManagerBrowserTest.Test/0" and others)
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23414008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-26 17:00:58 +00:00
jochen@chromium.org
064c91be57
Snapshot i18n Javascript code
...
BUG=v8:2745
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/23304005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-08-23 13:24:48 +00:00
jochen@chromium.org
97409c2363
Move InitializeICU() to the V8 API and use it.
...
I can't get rid of the enable_i18n flag yet, as we need to be able to
turn off all extensions for creating the snapshot.
BUG=v8:2745
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/18860007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-11 09:58:54 +00:00
jkummerow@chromium.org
56ab3e3404
Import the v8-i18n extension into v8
...
This adds the gyp flag v8_enable_i18n_support (off by default), and the
v8 flag FLAG_enable_i18n (on by default, but without effect if
v8_enable_i18n_support is off).
BUG=v8:2745
R=cira@chromium.org , danno@chromium.org , jkummerow@chromium.org
Review URL: https://codereview.chromium.org/18487004
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-07-03 11:22:29 +00:00
dcarney@chromium.org
8b2c26d736
remove most uses of raw handle constructors
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15817014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 09:27:09 +00:00
danno@chromium.org
1b89cbf817
Separate Cell and PropertyCell spaces
...
This makes it possible to store additional information on property cells, for example Type and optimized Code dependencies.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/16631002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 15:03:44 +00:00
dcarney@chromium.org
fec64cd698
remove most remaining V8_ALLOW_ACCESS_TO* defines
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15994003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-29 08:39:37 +00:00
dcarney@chromium.org
d4fd9db342
fix nosnapshot test failure in 14793004, do not deprecate function
...
BUG=
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14947005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 07:45:16 +00:00
mstarzinger@chromium.org
04a5b3d6b6
Revert "deprecate Context::New which returns Persistent"
...
This reverts r14573 because of test failures in no-snapshot mode in the
cctest/test-debug/ScriptCollectedEventContext test case.
TBR=dcarney@chromium.org ,svenpanne@chromium.org
TEST=cctest/test-debug/ScriptCollectedEventContext
Review URL: https://codereview.chromium.org/15038002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 16:28:51 +00:00
dcarney@chromium.org
386de8010b
deprecate Context::New which returns Persistent
...
BUG=
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/14793004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 13:29:24 +00:00
dcarney@chromium.org
cf5ff5a14c
first step to remove unsafe handles
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12729023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 20:18:42 +00:00
svenpanne@chromium.org
0c63e8d698
Also print the exception when mksnapshot failed to compile extra code.
...
Before, it would only print the exception when it failed to run the code
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14031036
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-29 11:49:24 +00:00
svenpanne@chromium.org
53310ac152
Added a version of the v8::HandleScope constructor with an Isolate and use that consistently.
...
I tried to limit the use of v8::Isolate::GetCurrent() and v8::internal::Isolate::Current() as much as possible, but sometimes this would have involved restructuring tests quite a bit, which is better left for a separate CL.
BUG=v8:2487
Review URL: https://codereview.chromium.org/12716010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-15 12:06:53 +00:00
svenpanne@chromium.org
52d10a68cb
Add Isolate parameter to Persistent class.
...
BUG=v8:2487
Review URL: https://codereview.chromium.org/12033011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-25 08:31:46 +00:00