mstarzinger@chromium.org
622d35dc0e
Implement Harmony sets and maps.
...
This implementation extends the internal ObjectHashTable to be able to
hold arbitrary objects (e.g. Smis, Strings, ...) as keys by applying
specialized hashing functions to primitive types. Equality of keys is
defined using the internal SameValue function.
R=rossberg@chromium.org
BUG=v8:1622
TEST=mjsunit/harmony/collections
Review URL: http://codereview.chromium.org/8372027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-25 14:14:56 +00:00
jkummerow@chromium.org
6112eb9bda
Change type=settings to type=none for gyp targets
...
TEST=Compiling Chromium with -Duse_system_v8 no longer prints a GYP warning about "invalid type 'settings'".
Review URL: http://codereview.chromium.org/8256008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-10-13 07:30:54 +00:00
vegorov@chromium.org
ac36cb4504
Merge experimental/gc branch to the bleeding_edge.
...
Review URL: http://codereview.chromium.org/7945009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-19 18:36:47 +00:00
jkummerow@chromium.org
5a33daf643
Add solaris support to gyp build.
...
Patch by Ben Noordhuis <info@bnoordhuis.nl>. I don't have a Solaris box around to test this myself.
BUG=v8:1684
Review URL: http://codereview.chromium.org/7889038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-15 08:13:39 +00:00
mikhail.naganov@gmail.com
f8e5c71e18
Rename SmartPointer to SmartArrayPointer.
...
As pointed out in: http://codereview.chromium.org/7754007/#msg5
"SmartPointer should have been named SmartArrayPointer as it expects an input
allocated using new[] and deallocates it using delete[]. Using it as a simple
scoped pointer for a single object is incorrect."
R=mnaganov@chromium.org
Review URL: http://codereview.chromium.org/7860011
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 22:39:47 +00:00
jkummerow@chromium.org
6dcf7cc4a7
Add "soname_version" parameter to common.gypi, v8.gyp, Makefile
...
TEST=compile with component=shared_library and soname_version=1.2.3 and find "libv8-1.2.3.so" in the output.
Review URL: http://codereview.chromium.org/7848017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 13:20:49 +00:00
lrn@chromium.org
689f3cb314
Rename scanner.* to scanner-character-streams.*. and scanner-base.* to scanner.*
...
R=lrn@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/7739020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 13:06:44 +00:00
lrn@chromium.org
81e7f597b0
Reintroduce duplicate identifier detection in preparser.
...
Duplicate identifier detection must be an early syntax error in strict code,
so errors in otherwise lazily compiled functions must be caught in the
preparser.
Originally introduced in r8541 and reverted in r8542.
Now really compiles on Windows.
Review URL: http://codereview.chromium.org/7782023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 12:39:53 +00:00
mikhail.naganov@gmail.com
458cdd6d8b
Add a dependency of v8_base on WinSocket2 Windows library.
...
v8_base depends on ws2_32.lib for accept() and some of the
other socket used for the debugger.
Patch by Ryan Dahl <ry@tinyclouds.org>
R=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7806011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 11:10:09 +00:00
jkummerow@chromium.org
dda2889ba1
Refactor .gyp files:
...
common.gypi now contains global target defaults and is included by all .gyp files;
standalone.gypi contains definitions for stand-alone v8 builds.
This fixes d8 for the ARM simulator.
TEST=compiles and tests pass on all platforms
Review URL: http://codereview.chromium.org/7740020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-25 14:50:09 +00:00
jkummerow@chromium.org
3b82bc9691
GYP fixes: -Werror, snapshot.log, want_separate_host_toolset detection
...
Review URL: http://codereview.chromium.org/7658011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 15:56:54 +00:00
iposva@chromium.org
6fb9140be9
Landing change for bradnelson@google.com from http://codereview.chromium.org/7616013/ :
...
Dropping removed source file from the gyp build description.
BUG=None
TEST=None
R=iposva@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-11 22:41:07 +00:00
jkummerow@chromium.org
64bd51b8dd
Third attempt to fix ARM cross-compile build
...
Review URL: http://codereview.chromium.org/7620009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-11 13:58:28 +00:00
jkummerow@chromium.org
0b5f61cd37
Revert some .gyp refactoring to fix ARM cross-compilation
...
Review URL: http://codereview.chromium.org/7623009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-11 12:07:37 +00:00
jkummerow@chromium.org
3c1b45b5d7
Fix cross-compilation for ARM (hopefully)
...
TEST=Arm builder on Chromium waterfall successfully compiles
Review URL: http://codereview.chromium.org/7607032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 14:07:26 +00:00
jkummerow@chromium.org
8e62a1c72c
Remove orphaned file src/shell.h
...
This has nothing to do with the sample shell.
Review URL: http://codereview.chromium.org/7541078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-08 14:31:47 +00:00
jkummerow@chromium.org
d64950982f
Add lost -O3 flag when building inside Chromium
...
TEST=WebKit layout tests no longer timeout
Review URL: http://codereview.chromium.org/7582003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 12:05:23 +00:00
yangguo@chromium.org
57bd101494
Specify stack size for win64 when linking d8.
...
Review URL: http://codereview.chromium.org/7574008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 10:00:35 +00:00
jkummerow@chromium.org
1a849d2754
Make GYP build usable for day-to-day work (second attempt)
...
- Introduce a global Makefile that triggers GYP-based building
- Some fixes to .gyp[i] files to make everything work
- tools/test-wrapper-gypbuild.py as a temporary solution for easy testing
Original review URL: http://codereview.chromium.org/7383006/
Review URL: http://codereview.chromium.org/7550030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-05 09:44:30 +00:00
danno@chromium.org
bdf6895bb3
Encapsulate element handling into a class keyed on ElementsKind
...
Advantage is that it's much easier to add new element types (like FAST_SMI_ELEMENTS), and that handling logic for each element kind is (more) consolidated.
Currently, only GetElementsWithReceiver uses the new encapsulation, but the goal is to move much more element functionality into the class incrementally.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7527001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-03 11:12:46 +00:00
jkummerow@chromium.org
7ac9dfcc81
Revert "Make GYP build usable for day-to-day work"
...
This reverts r8674 due to failures on the buildbots.
Review URL: http://codereview.chromium.org/7396022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-18 16:39:41 +00:00
jkummerow@chromium.org
93c5c5fa23
Make GYP build usable for day-to-day work
...
- Introduce a global Makefile that triggers GYP-based building
- Some fixes to .gyp[i] files to make everything work
- tools/test-wrapper-gypbuild.py as a temporary solution for easy testing
Review URL: http://codereview.chromium.org/7383006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-18 14:19:48 +00:00
sgjesse@chromium.org
8b684b9a08
Make fast tls the default
...
Now V8_NO_FAST_TLS needs to be defined to switch off fast tls access on platform which supports it.
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7350017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-13 10:00:33 +00:00
sgjesse@chromium.org
8a6108de95
Remove the ability to compile without logging and profiling
...
The preprocessor defines ENABLE_LOGGING_AND_PROFILING and ENABLE_VMSTATE_TRACKING has been removed as these where required to be turned on for Crankshaft to work. To re-enable reducing the binary size by leaving out heap and CPU profiler a new set of defines needs to be created.
R=ager@chromium.org
BUG=v8:1271
TEST=all
Review URL: http://codereview.chromium.org//7350014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-13 09:09:04 +00:00
mikhail.naganov@gmail.com
b978b87533
Align host and target architectures when building v8_shell.
...
This is a fix after r8356. Otherwise, shell can't be built
on a 64-bit host.
R=ager@chromium.org
Review URL: http://codereview.chromium.org/7328016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-08 13:37:19 +00:00
lrn@chromium.org
798009cf1a
Add new files to gyp.
...
Review URL: http://codereview.chromium.org/7278035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-07-05 13:33:51 +00:00
ager@chromium.org
31ce5cca07
Allow compiling v8_shell with the 'host' toolset.
...
BUG=82437
TEST=Compile browser_tests for Arm against http://codereview.chromium.org/7087014/
Review URL: http://codereview.chromium.org/7212014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-22 05:53:40 +00:00
sandholm@chromium.org
b5144668cd
Specialize JSON parser to only check for SequentialAsciiString once.
...
Review URL: http://codereview.chromium.org/7134010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-08 08:09:48 +00:00
mikhail.naganov@gmail.com
f1309b0417
Compress sources of JS libraries in addition to the snapshot.
...
This saves ~170K on current sources.
R=sgjesse@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7066048
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-06 20:47:30 +00:00
sgjesse@chromium.org
fb22bcc926
Platform and build updates for Android build
...
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7059015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-24 14:49:02 +00:00
ricow@chromium.org
0305b6e8ba
Update gyp files with json parser.
...
Review URL: http://codereview.chromium.org/7066019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-24 13:02:01 +00:00
svenpanne@chromium.org
edac3d93c2
Remove more dead code.
...
Review URL: http://codereview.chromium.org/7013045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-13 09:25:05 +00:00
vitalyr@chromium.org
73c809bb0e
Isolates cleanup: move top.cc to isolate.cc.
...
Review URL: http://codereview.chromium.org/6969042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-13 08:54:16 +00:00
lrn@chromium.org
1a169aa3f0
Strict mode detection in preparser.
...
Handle octal escapes in everything but RegExps.
Extend preparser test suite to test whether the preparser reports
exceptions to throw.
TEST=preparser/*
Review URL: http://codereview.chromium.org/6927075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7804 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-06 11:41:15 +00:00
sgjesse@chromium.org
34174f3899
ARM: Add GYP variables to control V8 code generation
...
Added the GYP variables:
v8_can_use_unaligned_accesses
v8_use_arm_eabi_hardfloat
Refer to the comments in v8.gyp on their uses.
R=karlklose@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//6910025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-04 06:18:49 +00:00
kmillikin@chromium.org
d0fcbb4ece
Simplify include dependencies.
...
Try to make sure that accessors.h, data-flow.h, list-inl.h, and
scopeinfo.h are included only where needed, but without introducing
implicit dependencies.
Review URL: http://codereview.chromium.org/6903175
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-03 08:23:58 +00:00
sgjesse@chromium.org
01707c7106
ARM: Changed the handling of compiletime CPU feature detection
...
Always use CpuFeaturesImpliedByCompiler() when selecting CPU features. This checks both for CAN_USE_ARMV7_INSTRUCTIONS and CAN_USE_VFP_INSTRUCTIONS and for GCC preprocessor symbols. This will support using the CAN_USE_XXX for a simulator build used for generating a snapshot followed by a crosscompile using -march= and -mfpu= for selecting the (minimal) target device CPU features. The snapshot will use instructions based on the CAN_USE_XXX whereas the target will at least use features based on both CAN_USE_XXX and -march= and -mfpu=, but will try runtime CPU feature detection a well looking for somethis better.
Remove the compiler based CPU feature detection from the OS::CpuFeaturesImpliedByPlatform() as it did not belong there. Also was already in the CpuFeaturesImpliedByCompiler().
Add the variable 'v8_can_use_vfp_instructions' to the GYP file which can be used to turn on CAN_USE_VFP_INSTRUCTIONS when building V8. I did not add any -mfpu= cflags for this, as there are several options here (e.g. vfp and neon).
R=erik.corry@gmail.com , karlklose@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//6904164
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-03 06:51:59 +00:00
ager@chromium.org
4f8dc51e34
Make component=shared_library gyp build work for Linux.
...
Review URL: http://codereview.chromium.org/6902128
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-05-02 15:06:49 +00:00
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
ager@chromium.org
5fd4fa2a9e
Introduce experimental natives that are enabled by a runtime flag.
...
Clean up the use of js2c. We generated two identical files.
R=sgjesse@chromium.org ,rossberg@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6865013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-15 12:31:03 +00:00
ager@chromium.org
02bf484bb5
Fix v8.gyp.
...
R=kmillikin@chromium.org
BUG=
TEST=
TBR=
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-07 15:02:38 +00:00
vitalyr@chromium.org
7a74560fcc
Fast TLS support on mac.
...
Review URL: http://codereview.chromium.org/6724028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-27 18:40:48 +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
sgjesse@chromium.org
b05152a2a4
Make V8 build with the chromium shared library build
...
Fix the shell to not use functions from the v8::internal namespace when building with V8 in a shared library.
Remove the v8_preparser library. The dependencies for this target needs to be resolved after isolates have landed.
Review URL: http://codereview.chromium.org/6696067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-24 10:54:23 +00:00
vitalyr@chromium.org
1dc8f7edb3
Store HValue uses in a custom small list structure.
...
This saves about 700K of zone allocation when compiling the V8
benchmark suite.
Review URL: http://codereview.chromium.org/6707001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-23 14:44:19 +00:00
sgjesse@chromium.org
63867eea60
Rename memory.h to v8memory.h
...
This is to avoid name collision with system include file named memory.h causing problems on some platforms.
Review URL: http://codereview.chromium.org/6716020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-22 11:50:39 +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
whesse@chromium.org
3245a23de0
ARM: Port new version of ParallelMove's GapResolver to ARM. Fix error in vstr(DoubleRegister, MemOperand), where it was implemented as a vldr, in r6830.
...
Review URL: http://codereview.chromium.org/6311010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-17 15:25:38 +00:00