Commit Graph

166 Commits

Author SHA1 Message Date
mikhail.naganov@gmail.com
ec58c05f4e Add support for startup data (snapshot) compression.
This is for mobile platforms where application footprint size is
important. To avoid including compression libraries into V8, we assume
that the host machine have them (true for Linux), and rely on embedder
to provide decompressed data.

Currently, only snapshot data can be comressed. It is also possible to
compress libraries sources, but it is more involved and will be
addressed in another CL.

BUG=none
TEST=none

Review URL: http://codereview.chromium.org/6901090

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-29 12:08:33 +00:00
sgjesse@chromium.org
00bc2db28f ARM: Support hardfloat in SCons build and make it a build time setting
Add option armeabi to the SCons build for selecting the floating point variant to use. Also add externally defined CCFLAGS environment for all targets. Run test.py with option -S armeabi=hardfloat to test with hardfloat enabled.

Make selecting hardfloat EABI variant a build-time option instead of a runtime option.

Add a simple check of the EABI variant during V8 initialization to exit if the compilation was not configured correctly. The reason for this is that GCC does not provide a compile time symbol defining the EABI variant. This check is not fool-proof as it cannot check the compilation configuration used for the snapshot if any.

R=karlklose@chromium.org, erik.corry@gmail.com

BUG=none
TEST=none

Review URL: http://codereview.chromium.org//6905098

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-29 08:50:38 +00:00
sgjesse@chromium.org
b7ab8684ca Remove all android references from SCons file
I accidentally left some in r7686.

R=erik.corry@gmail.com

BUG=none
TEST=none

Review URL: http://codereview.chromium.org//6905091

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-28 08:01:13 +00:00
sgjesse@chromium.org
8ef0204ca7 Remove the Android build option from the SCons build
The SCons build for Android has not been maintained for some time and did not work with the latest Android open source version. Android now has its own makefiles for building v8 and the v8_shell.

R=erik.corry@gmail.com

BUG=none
TEST=none

Review URL: http://codereview.chromium.org//6901044

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-27 08:25:23 +00:00
lrn@chromium.org
1c57935a43 Reapply changelist r7436.
Remove test for existence of VM. Not all tests need the VM.

Review URL: http://codereview.chromium.org/6783011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-31 08:12:17 +00:00
vegorov@chromium.org
ed36cde5d0 Autodetect no-strict-aliasing, propagate toolchain option to SCons
Patch by Bert Belder.

BUG=v8:884

Review URL: http://codereview.chromium.org/6539006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-30 17:33:18 +00:00
whesse@chromium.org
8f30d5922c Revert changelist r7436.
BUG=
TEST=

Review URL: http://codereview.chromium.org/6756036

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-30 14:42:47 +00:00
lrn@chromium.org
0a6d586d09 Add test suite for the preparser.
The test suite builds the preparser test program and runs it on each .js file in
the test/preparser directory.
Currently it only checks that preparsing runs without crashing or erroring.
This also implicitly tests that the preparser library can be built.

TEST=test/preparser/*.js

Review URL: http://codereview.chromium.org/6777010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-30 14:00:36 +00:00
lrn@chromium.org
18c742f1e7 Introduce scons target to build preparser libraray and proof-of-concept command line process.
The target doesn't compile yet, due to v8 dependencies introduced by isolates.

Review URL: http://codereview.chromium.org/6772002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-29 09:21:25 +00:00
sgjesse@chromium.org
2531480d10 Re-establish mips basic infrastructure.
This commit adds current working versions of assembler, macro-assembler,
disassembler, and simulator.

All other mips arch files are replaced with stubbed-out versions that
will build.

Arch independent files are updated as needed to support building and
running mips.

The only test is cctest/test-assembler-mips, and this passes on the
simulator and on mips hardware.

TEST=none
BUG=none

Patch by Paul Lind from MIPS.

Review URL: http://codereview.chromium.org/6730029/


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-28 13:05:36 +00:00
vitalyr@chromium.org
963a75cc09 Fast TLS support.
This patch adds common infrastructure for fast TLS support and
implementation on win32. More implementations will be added soon.

Fast TLS is controlled by V8_FAST_TLS define which is enabled by
default in our gyp and scons builds. The scons build has
fasttls={on,off} option so that we can see the effects of slow TLS
when needed.

Review URL: http://codereview.chromium.org/6696112

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-27 16:14:20 +00:00
dimich@chromium.org
e7fc701109 Fix Win64 build after isolates merge.
Need to add -DWIN32 since the include structure changed.w
Review URL: http://codereview.chromium.org/6712045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-18 21:37:28 +00:00
vitalyr@chromium.org
7976ca2cbc Merge isolates to bleeding_edge.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-18 20:35:07 +00:00
vitalyr@chromium.org
76e226f832 Revert r7268: it borked the history.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-18 19:41:05 +00:00
vitalyr@chromium.org
6ff7fdebd3 Merge isolates to bleeding_edge.
Review URL: http://codereview.chromium.org/6685088

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-18 18:49:56 +00:00
erik.corry@gmail.com
6c6a998e4e * Fix build errors on FreeBSD 8.2
* Fix Crankshaft on FreeBSD.
* Partially fix profiling on FreeBSD.
* Remove bash-isms from tick processor script.
Review URL: http://codereview.chromium.org/6673045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-16 11:15:43 +00:00
vegorov@chromium.org
73c2b84b33 Cygwin support
Patch by Bert Belder.

BUG=v8:64
BUG=v8:964
BUG=v8:1029

Review URL: http://codereview.chromium.org/6525028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-17 16:33:10 +00:00
vegorov@chromium.org
316a12dea9 Added gdb-jit interface support for ARM. Compressed .debug_line table by 1)
removing duplicate adjacent entries having the same line number, and 2) using
special opcodes to encode multiple machine register state changes in one byte.
Also made a fix involving the order in which static initializers are performed.

Patch by Shasank Chavan of Hewlett-Packard Development Company, LP

BUG=none
TEST=Try building for arm

Review URL: http://codereview.chromium.org/6524020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-15 21:11:31 +00:00
mikhail.naganov@gmail.com
efe7129277 removed
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-11 12:25:41 +00:00
sgjesse@chromium.org
d01a45b2b1 Prepend the tools directory to python module path
This works around possible collisions with modules installed in the system 
python directories. 

See Gentoo Linux bug report: 
http://bugs.gentoo.org/349794

Patch by Mike Gilbert <floppymaster@gmail.com>

Review URL: http://codereview.chromium.org/6253009


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-25 12:56:04 +00:00
sgjesse@chromium.org
63378e2e5d Script changes so that we can build debug/release with
liveobjectlist=on/off and objectprint=on/off.

Patch by Mark Lam from Hewlett-Packard Development Company, LP

Review URL: http://codereview.chromium.org/6267007


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-25 12:28:45 +00:00
whesse@chromium.org
6c650cf1c2 Disable MSVC warning that default array initializers now work properly.
Review URL: http://codereview.chromium.org/6272017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-25 11:25:30 +00:00
sgjesse@chromium.org
198bcbaa13 Adding build script changes to support LiveObjectList functionality.
Patch by Mark Lam from Hewlett-Packard Development Company, LP

Review URL: http://codereview.chromium.org/6364002


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-20 08:38:01 +00:00
sgjesse@chromium.org
9e23f65bec Adding inspector module and macro-ized object type list.
Patch by Mark Lam from Hewlett-Packard Development Company, LP

Review URL: http://codereview.chromium.org/6261012


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-19 08:04:48 +00:00
vegorov@chromium.org
3003b2156b Basic GDB JIT Interface integration.
It has certain overheads even when gdb is not attached so it is guarded by ENABLE_GDBJIT_INTERFACE define and --gdbjit flag.

Review URL: http://codereview.chromium.org/5965011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-18 16:11:01 +00:00
erik.corry@gmail.com
3a7c696434 Revert accidental part of http://codereview.chromium.org/6123007/
6281 that causes a performance regression.
Review URL: http://codereview.chromium.org/6106014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-12 14:32:51 +00:00
erik.corry@gmail.com
7846721d96 Fixes needed to compile on gcc-4.4.1 on ARM. It is still necessary
to add -fno-strict-aliasing.
Review URL: http://codereview.chromium.org/6123007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-12 11:56:41 +00:00
erik.corry@gmail.com
ff8ed6b7b6 Fix Solaris build. Patch from Ryan Dahl. See http://codereview.chromium.org/5968004/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-11 11:44:16 +00:00
sgjesse@chromium.org
e21d76a0e3 1. Added support for object printing for release mode using the
objectprint=on (defaults to off) option (which defines OBJECT_PRINT).
2. Added the ability to print objects to a specified file instead of
   just stdout.
3. Added a use_verbose_printer flag (true by default) to allow some
   object printouts to be less verbose when the flag is false.
4. Fixed a bug in VSNPrintF() where it can potentially write into an
   empty char vector.

Patch by Mark Lam from Hewlett-Packard Development Company, LP

Review URL: http://codereview.chromium.org/5998001


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-20 10:38:19 +00:00
kasperl@chromium.org
90b3370374 Update V8 to version 3.0 (re-land r5920).
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 11:31:57 +00:00
kasperl@chromium.org
51b494d096 Revert r5920. Will re-land shortly.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 11:01:02 +00:00
kasperl@chromium.org
e5860bd6a8 Update V8 to version 3.0.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 09:11:56 +00:00
sgjesse@chromium.org
fdca2c3183 nGW build
- add missing functions SignalCodeMovingGC() and MemoryBarrier() 
- avoid pointer conversion/comparison warnings 
- don't attempt to hide symbols with -fvisibility, MinGW doesn't support it 

BUG=http://code.google.com/p/v8/issues/detail?id=949

Patch by Bert Belder <bertbelder@gmail.com>

Review URL: http://codereview.chromium.org/5471001


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-02 15:37:45 +00:00
ager@chromium.org
a894e78654 Clean up definitions in simulator.
Clean up the definition of USE_SIMULATOR and its uses.
Review URL: http://codereview.chromium.org/4044003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-25 16:40:41 +00:00
vitalyr@chromium.org
af95fa6081 SConstruct: make help work even if guesses failed.
Review URL: http://codereview.chromium.org/3811010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-18 14:39:59 +00:00
sgjesse@chromium.org
8e72ab6db9 Added USE_SIMULATOR macro that explicitly indicates that we wish to use the simulator as the execution engine. For example, this allows us to run with the ARM simulator on ARM.
Patch by Mark Lam <mark.lam@palm.com> from Hewlett-Packard Development Company, LP

Review URL: http://codereview.chromium.org/3825001


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-14 11:39:48 +00:00
vegorov@chromium.org
102db47c63 Give correct value ranges to enumeration types used as opaque types.
This allows to remove special handling of GCC 4.4 (disabling of Value Range Propagation) from SConstruct.

BUG=http://code.google.com/p/v8/issues/detail?id=830

Review URL: http://codereview.chromium.org/3135022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-16 17:14:34 +00:00
lrn@chromium.org
abcf1012c6 Allow compiling with strict aliasing enabled on GCC 4.4.
Patch by Jay Freeman.
Fixes issue 463.

Review URL: http://codereview.chromium.org/3117007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-11 10:52:34 +00:00
ager@chromium.org
63503a3fc7 Add ARM_LINK_FLAGS when build d8 with arch=arm to make
cross-compiling d8 easier.

Review URL: http://codereview.chromium.org/3062002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-07-22 12:57:48 +00:00
ager@chromium.org
add41fe16f Allow users to specify a scons build cache directory.
Review URL: http://codereview.chromium.org/2745014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-06-11 11:19:27 +00:00
sgjesse@chromium.org
58ea4c20cd ARM: Default to use unaligned accesses in the simulator
Support building with or without unaligned accesses by using scons flag simulatorunalignedaccesses.

$ scons simulator=arm simulatorunalignedaccesses=off
$ scons simulator=arm simulatorunalignedaccesses=on

If simulatorunalignedaccesses is not specified (or specified as default) the default is to use unaligned accesses.
Review URL: http://codereview.chromium.org/2218003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-05-27 07:31:10 +00:00
erik.corry@gmail.com
d0241c98c5 Remove the fledgling Thumb2 support since we are concentrating
on other ways to make ARM code more compact.
Review URL: http://codereview.chromium.org/2080017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-05-21 09:23:33 +00:00
erik.corry@gmail.com
b8f5c5e1ac Move __C99FEATURES__ define to compile for Solaris
Patch from ry.
http://codereview.chromium.org/1990010/show

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-05-11 07:04:42 +00:00
erik.corry@gmail.com
6a03e12123 Allow unaligned memory accesses on ARM targets that support it.
The build process must add -DCAN_USE_UNALIGNED_ACCESSES=1 to the
C++ flags to activate the support.  This is a commit for
Subrato of CodeAurora.  See http://codereview.chromium.org/1731013
Small edits by Erik Corry to activate unaligned accesses by
default on the simulator and testing Android builds.


git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-05-06 12:49:12 +00:00
erik.corry@gmail.com
e1b3b92a2c Make not sucking at regexp the default
(remove V8_NATIVE_REGEXP flag, add
V8_INTERPRETED_REGEXP flag).
Review URL: http://codereview.chromium.org/1635001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-19 19:30:11 +00:00
ricow@chromium.org
98b8a062bb Fix arm simulator build - arm flags must be a list when compiling for arm when the ARM_TARGET_LIB is not set.
Review URL: http://codereview.chromium.org/1658006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-16 12:20:02 +00:00
ricow@chromium.org
d7a61c279d Change SConstruct to allow for easy specification of target library for arm cross-compilation.
Review URL: http://codereview.chromium.org/1667001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-16 11:47:23 +00:00
mikhail.naganov@gmail.com
c007fd4d15 merged
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 18:48:05 +00:00
erik.corry@gmail.com
8d4019332c Change default Android scons build to suit more modern hardware.
Review URL: http://codereview.chromium.org/1640008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 07:49:30 +00:00
mikhail.naganov@gmail.com
6f3f2f1c42 Allow new CPU profiling subsystem to coexist nicely with the old one.
This is to make possible enabling usage of the new profiling subsystem
in Chromium without much hassle. The idea is pretty simple: unless the
new profiling API is used, all works as usual, as soon as Chromium
starts to use the new API, it will work too.

Review URL: http://codereview.chromium.org/1635005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-12 07:23:43 +00:00