jkummerow@chromium.org
2fb7ab5530
Introduce a notion of "v8_code" in gyp config files.
...
This allows for compiling third-party code (such as ICU) with less
strict flags.
BUG=v8:2745
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/18181006
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 15:22:46 +00:00
bmeurer@chromium.org
f11af230e8
Refactor HInferRepresentation into an HPhase and use the phase zone.
...
Rename HInferRepresentation to HInferRepresentationPhase,
following naming scheme suggested by danno@chromium.org in
https://codereview.chromium.org/17458002
The HInferRepresentationPhase now uses the phase zone for all its
allocations.
Depends on https://codereview.chromium.org/17587008
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/18054002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 07:40:35 +00:00
ulan@chromium.org
50b59eeb72
Fix Android V8 path for testing on devices.
...
This allows to run tests in production Android builds.
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/18087002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-28 07:31:23 +00:00
machenbach@chromium.org
f3f14fc7ed
Migrate blink tests that are not relevant to blink into a new V8 test suite called 'blink'.
...
This initial CL contains the new test suite code and two tests for demonstration.
Other tests will follow in a separate CL.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/17260002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-26 14:23:30 +00:00
yangguo@chromium.org
3aec8269f9
Add v8.log visualizer page.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/17592002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 13:25:58 +00:00
loislo@chromium.org
1a15f8f768
CPUProfiler: Simplify logging part of CreateCodeEvent functions.
...
We have 5 overloaded functions with name CreateCodeEvent.
All these functions have many common parts. I'd like to eliminate the difference between them.
TEST=existing tests
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/16901014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 12:55:19 +00:00
mstarzinger@chromium.org
6e5c8fe803
Make sure GCMole pukes when Clang invocation fails.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/16878003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 18:00:23 +00:00
machenbach@chromium.org
a340036e3a
This test fails sometimes on all platforms.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/17030010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 15:58:44 +00:00
machenbach@chromium.org
6a6790be37
HasUnexpectedOutput() is evaluated two times for each test run.
...
This fix removes the redundant call to allow heavy text comparisons through overwriting of that method.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/17089003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:57:14 +00:00
verwaest@chromium.org
41068422be
Add sample usage / output and -u option
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16802003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 15:36:11 +00:00
verwaest@chromium.org
af2c736cb8
Print v8 revision rather than branches/$branch.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16814003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 11:18:45 +00:00
verwaest@chromium.org
dac82c5650
Adding useful scripts to parse revision info.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16812003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 10:39:52 +00:00
machenbach@chromium.org
1bf85abffc
Fixed typo in test expectations SKIP -> Skip
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 18:34:24 +00:00
machenbach@chromium.org
5160d982ac
Lists tests to skip. The test expectations file will be assigned to the run_webkit_tests script using the additional expectations flag.
...
The tests listed in this file will be maintained manually. The list contains tests that typically fail on the V8 waterfall.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/16634005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 15:59:10 +00:00
rossberg@chromium.org
9e8279e952
New unified type representation
...
Not used yet, only unit tests.
R=jkummerow@chromium.org , svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16154027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 15:43:53 +00:00
jkummerow@chromium.org
20cedf9a4b
Liveness analysis for environment slots in Hydrogen
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/15533004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-04 16:41:24 +00:00
yangguo@chromium.org
7f8a3d803c
Make assertion scopes thread safe.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/15691017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-03 15:32:22 +00:00
rossberg@chromium.org
6fda4e4c28
Collect type feedback in separate pass and store it in AST
...
Notes:
- For now, just adds the missing type info fields to the AST nodes directly.
I'd like to factor that out more nicely in a follow-up CL.
- All type feedback now is uniformly collected through AST nodes'
RecordTypeFeedback functions. At some point, this logic should be moved
out of ast.cc.
- The typing pass currently simulates the exact same conditions under
which feedback was collected in Hydrogen before. That also should be
made more generic in the future.
- Type information itself is unchanged. Making it more regular is
yet more future work.
Some additional cleanups:
- Lifted out nested class ObjectLiteral::Property, to enable forward declaration.
- Moved around some auxiliary enums.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14990014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 13:59:20 +00:00
titzer@chromium.org
0a4289618d
Extract GlobalValueNumberer and helper classes from hydrogen.cc and move to hydrogen-gvn.cc.
...
BUG=
Review URL: https://codereview.chromium.org/16095004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-27 12:45:46 +00:00
dcarney@chromium.org
881476a7af
new style of property/function callbacks
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12494012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-21 06:36:24 +00:00
jkummerow@chromium.org
3e3cd01c95
Remove use_system_v8 logic from the mainline gyp file
...
Re-upload of https://codereview.chromium.org/14872005/
BUG=chromium:226860
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/15001031
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-15 13:09:57 +00:00
mstarzinger@chromium.org
d898bded39
Prevent grokdump from crying about invalid input.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/14660012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 13:24:04 +00:00
dslomov@chromium.org
9b45b71d5a
Added an extra flag that enables only ArrayBuffer.
...
This makes Blink experimentation easier.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14884012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 16:19:27 +00:00
yangguo@chromium.org
d1df0e631d
Clean up VMState a little bit.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/14139033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 14:44:08 +00:00
mstarzinger@chromium.org
c46cbccefd
Make it clear that GCMole depends on Clang 2.9 currently.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/13950017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-23 12:48:59 +00:00
mstarzinger@chromium.org
d352df8131
Change deprecated comments that still talk about SCons.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14404012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-23 08:58:23 +00:00
mstarzinger@chromium.org
d1942e1431
Make Clang plugins directory configurable for GCMole.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/13956027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-22 12:49:08 +00:00
mstarzinger@chromium.org
6654cbeb7d
Switch GCMole to use GYP build file instead of SCons.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14320024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-19 12:46:32 +00:00
yurys@chromium.org
c0fca4e8c8
Revert r14252 as it broke --prof for some cases
...
R=jkummerow
BUG=v8:2642
Review URL: https://codereview.chromium.org/14367020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-19 11:55:01 +00:00
jkummerow@chromium.org
5eadc1a428
Remove SCons related files
...
Review URL: https://codereview.chromium.org/14348002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-18 11:01:14 +00:00
rodolph.perfetta@gmail.com
caa37597ad
ARM: Makefile/gyp update allowing better control of ARM specific options.
...
This patch defines new makefile command line paramaters to better control the
ARM specific options. The new paramters are
* armfpu = vfp, vfpv3-d16, vfpv3, neon.
* armfloatabi = softfp, hard
* armneon = on
* armthumb = on, off
* armtest = on
One existing paratemer has been modified:
* armv7 = true, false
A number of parameters have been deprecated (but are still working):
* hardfp = on, off
* vfp2 = off
* vfp3 = off
the armtest paratmer when set to "on" will lock the options used during compile
time at runtime. This allows for example to easily test the ARMv6 build on an
ARMv7 platform without having to worry about features detected at runtime. When
not specified the compiler default will be used meaning it is not necessary
anymore to specify hardfp=on when natively building on an hardfp platform.
The shell help now prints the target options and features detected.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/14263018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 14:39:48 +00:00
jkummerow@chromium.org
2df1620c28
Make gyp work with Cygwin
...
Review URL: https://codereview.chromium.org/13760003
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-16 12:36:44 +00:00
yurys@chromium.org
1596afa7f9
Move *BSD and Solaris Sampler implementation into sampler.cc
...
This is a first step to having profiler sampler implementation in one file with platform capabilities guarded with #ifdef. Otherwise we have very similar implementations scattered over platform-*.cc files which makes it hard to see differences and make changes.
The next steps will be to merge win32, Mac OS X and Cygwin implementations into sampler.cc They suspend profiled thread instead of sending a signal but apart from that the logic is pretty much the same. Then I'm going to move sampler-related code from log.* into sampler.*
BUG=None
Review URL: https://codereview.chromium.org/13852005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 13:57:41 +00:00
yangguo@chromium.org
55b2391857
Fix so that you can run presubmit.py in Windows.
...
presubmit.py tried to execute cpplint.py directly, but in Windows it's the shell that connects that to the python binary so the execution (subprocess.Popen) needs to be told how to find python. An alternative would be to call subprocess.Popen with shell=True but this is less dangerous.
Review URL: https://chromiumcodereview.appspot.com/13849008
Patch from Daniel Bratell <bratell@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 12:21:05 +00:00
jkummerow@chromium.org
f0579acab6
MinGW: Add Cygwin-free Makefile generation script
...
Review URL: https://codereview.chromium.org/14046009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 08:43:18 +00:00
jkummerow@chromium.org
1d541a309d
Make gyp work with MingW32
...
Review URL: https://codereview.chromium.org/13468015
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-15 08:33:31 +00:00
yurys@chromium.org
5206b08451
Remove code that analyzes tos values from tickprocessor
...
Assuming that the value on top of stack is return address for a frameless invocation is error-prone. Corresponding logic was removed from profile-generator.cc in r14205 (see https://code.google.com/p/v8/source/diff?spec=svn14205&r=14205&format=side&path=/branches/bleeding_edge/src/profile-generator.cc ) and now it is time to remove it from the tick processor.
Since the tos is not used anymore by profiler it is also removed from TickSample.
BUG=None
Review URL: https://codereview.chromium.org/13873009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 11:20:22 +00:00
jkummerow@chromium.org
a183e52085
Remove preparser library; link preparser executable against full V8
...
Review URL: https://codereview.chromium.org/13880018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-12 09:05:49 +00:00
rossberg@chromium.org
8e8bbc0e6c
* src/generator.js: Add methods and intialization for generator meta-objects.
...
* src/contexts.h:
* src/bootstrapper.cc (InitializeExperimentalGlobal): Make generator
meta-objects, and store maps for constructing generator functions
and their prototypes.
* src/factory.h:
* src/factory.cc (MapForNewFunction): New helper.
(NewFunctionFromSharedFunctionInfo): Use the new helper.
* src/heap.cc (AllocateFunctionPrototype, AllocateInitialMap): For
generators, allocate appropriate prototypes and maps.
* src/code-stubs.h:
* src/arm/code-stubs-arm.h:
* src/arm/full-codegen-arm.h:
* src/ia32/code-stubs-ia32.h:
* src/ia32/full-codegen-ia32.h:
* src/x64/code-stubs-x64.h:
* src/x64/full-codegen-x64.h: Allow fast closure creation for generators,
using the appropriate map.
* test/mjsunit/harmony/builtins.js: Add a special case for
GeneratorFunctionPrototype.prototype.__proto__.
BUG=
TEST=mjsunit/harmony/generators-runtime
Review URL: https://codereview.chromium.org/13192004
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-11 16:28:19 +00:00
palfia@homejinni.com
17f2177cb3
Add support for JUnit compatible XML output in the new test runner.
...
Implement a new output method in run-tests.py which
outputs JUnit compatible XML status information.
BUG=
Review URL: https://codereview.chromium.org/13813003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-11 00:22:26 +00:00
jkummerow@chromium.org
5dfe7e6828
Rename target-specific binaries built for host.
...
Rename v8_base, v8_nosnapshot, and mksnapshot to include a suffix of
.<(v8_target_arch). This allows multiple target architectures to be
built in the Android build system, which uses a single shared directory
structure for building host binaries.
BUG=
Review URL: https://codereview.chromium.org/12790011
Patch from Richard Coles <torne@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-10 10:42:54 +00:00
ulan@chromium.org
74839e86d7
Modifications to tests and test tools for Native Client V8.
...
BUG=2614
Review URL: https://chromiumcodereview.appspot.com/13638013
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 08:39:01 +00:00
jkummerow@chromium.org
e5b6a125fa
A helper script for testing Native Client builds of V8.
...
This is modeled after tools/android-run.py. It is meant to be used
as a --command-prefix argument to tools/run-tests.py
BUG=2614
Review URL: https://codereview.chromium.org/13619011
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-09 08:31:17 +00:00
dslomov@chromium.org
944c577c7b
First steps towards implementing ArrayBuffer &co in V8
...
BUG=
Review URL: https://codereview.chromium.org/13064003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-28 12:50:18 +00:00
verwaest@chromium.org
a23caf9f71
Explicitly pass the isolate to create handles in ic.cc
...
Review URL: https://chromiumcodereview.appspot.com/12704015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 13:12:33 +00:00
verwaest@chromium.org
91d8d9dbab
Update instance types in grokdump.
...
Review URL: https://chromiumcodereview.appspot.com/12720008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-20 10:22:49 +00:00
mstarzinger@chromium.org
cc38e56fdf
Disable grokdumps module decoding temporarily.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/12755031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-19 14:57:42 +00:00
verwaest@chromium.org
294af3a563
Fix linebreak in grokdump
...
Review URL: https://chromiumcodereview.appspot.com/12433006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 17:13:48 +00:00
verwaest@chromium.org
a090ea6a15
Extend grokdump with support for maps, transition and descriptor arrays.
...
Review URL: https://chromiumcodereview.appspot.com/12389077
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-06 17:06:48 +00:00
jkummerow@chromium.org
db7591e403
Linux: for use_system_v8=1, use all_dependent_settings
...
instead of direct_dependent_settings - with V8 headers
being included in other headers, the former works much better.
This is a configuration that is not used for Google Chrome
neither V8 buildbot, and has been tested for its intended
use case (Linux distributions).
BUG=none
Review URL: https://codereview.chromium.org/12378092
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-05 09:49:54 +00:00
rossberg@chromium.org
090d09d685
ES6 symbols: Implement Symbol intrinsic and basic functionality
...
- Add --harmony-symbols flag.
- Add Symbol constructor; allow symbols as (unreplaced) return value from constructors.
- Introduce %CreateSymbol and %_IsSymbol natives and respective instructions.
- Extend 'typeof' code generation to handle symbols.
- Extend CompareIC with a UNIQUE_NAMES state that (uniformly) handles internalized strings and symbols.
- Property lookup delegates to SymbolDelegate object for symbols, which only carries the toString method.
- Extend Object.prototype.toString to recognise symbols.
Per the current draft spec, symbols are actually pseudo objects that are frozen with a null prototype and only one property (toString). For simplicity, we do not treat them as proper objects for now, although typeof will return "object". Only property access works as if they were (frozen) objects (via the internal delegate object).
(Baseline CL: https://codereview.chromium.org/12223071/ )
R=mstarzinger@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/12296026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-01 13:28:55 +00:00
ulan@chromium.org
0184fe5149
[Android] Fix v8_shell compilation for Android component build.
...
r12883 was in complete because the library was included for host and
target. Restrict to just target.
BUG=chromium:158821
Review URL: https://chromiumcodereview.appspot.com/12314118
Patch from Yaron Friedman <yfriedman@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-26 15:41:04 +00:00
loislo@chromium.org
ea0817c7d4
Split profile-generator
...
CPU profile code and Heap Snapshot code are completely unrelated to each other.
So we can extract heap snapshot part into separate file.
No functional changes.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/12314027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-21 12:10:40 +00:00
yangguo@chromium.org
0d63cef35b
Constant fold math and string operations.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12315005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-21 11:40:37 +00:00
yangguo@chromium.org
af5eed104c
Handlify escape and unescape.
...
R=mvstanton@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12326015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-21 09:49:23 +00:00
mstarzinger@chromium.org
f31a50dc10
Update grokdump to reflect current heap layout.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/12303009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-19 09:01:25 +00:00
dcarney@chromium.org
0da6e525b7
Split AccessorInfo into DeclaredAccessorInfo and ExecutableAccessorInfo
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12213012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-12 14:33:08 +00:00
yangguo@chromium.org
4ccaefb097
Inline some regexp code.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12184015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-02-06 12:58:09 +00:00
hpayer@chromium.org
7fe9f3b05c
Added parallel marking threads.
...
BUG=
Review URL: https://codereview.chromium.org/12047044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-31 14:23:36 +00:00
hpayer@chromium.org
44caabb1cd
Parallel and concurrent sweeping.
...
Sweep old pointer space and old data space concurrently to the main mutator thread and in parallel.
BUG=
Review URL: https://codereview.chromium.org/11782028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 12:19:32 +00:00
mstarzinger@chromium.org
a6c4edaf8b
Update grokdump to reflect current heap layout.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/12094038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-30 10:07:47 +00:00
yangguo@chromium.org
c5883d442e
Add option to limit tick processor to a time range.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12077043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 14:41:02 +00:00
mstarzinger@chromium.org
366bf736d6
Fix test harness to correctly split extra flags.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12094032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 13:27:23 +00:00
jkummerow@chromium.org
6948fece08
Unify the shebang line of python scripts
...
Review URL: https://codereview.chromium.org/12095012
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-29 10:40:43 +00:00
yangguo@chromium.org
048b86d697
Log event start and event end separately when using --log-timer-events.
...
R=haraken@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12040075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-28 13:55:40 +00:00
ulan@chromium.org
bed569b548
ARM: Make use of d16-d31 when available.
...
Review URL: https://chromiumcodereview.appspot.com/11428137
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 16:29:48 +00:00
jkummerow@chromium.org
5318c181cf
tools/run-tests.py: shlex.split() the value of --command-prefix
...
BUG=171553
Review URL: https://codereview.chromium.org/12049034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-23 11:41:56 +00:00
jkummerow@chromium.org
9e3166ea5b
Remove <(library) usage from v8.gyp.
...
BUG=111541
R=danno@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: https://codereview.chromium.org/12022021
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-21 14:14:28 +00:00
jkummerow@chromium.org
7924492ce3
tools/run-tests.py: Fixes for Windows
...
Review URL: https://codereview.chromium.org/11926015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 14:55:23 +00:00
jkummerow@chromium.org
900720454d
tools/runtests.py: Fix cctests on Windows; properly return error code when there were Python exceptions
...
Review URL: https://codereview.chromium.org/11929020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 12:44:36 +00:00
mstarzinger@chromium.org
70c95681e1
Fix test harness to accept camel-case modes.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12026018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-18 12:20:59 +00:00
yangguo@chromium.org
86078dfd7b
Add a percentage to each metric in the V8 timeline plot
...
With the percentage, we can easily figure out how much execution time is spent in what metric.
c.f. https://docs.google.com/a/google.com/file/d/0B7GPzKNdEGeQU04ySy1qOWNuLWs/edit
BUG=
Review URL: https://chromiumcodereview.appspot.com/11975045
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 15:29:36 +00:00
yangguo@chromium.org
1074e1f558
Fix the xrange calculation of the V8 timeline plot
...
Currently an xrange is calculated by V8.Execution. This would be fine for JavaScript benchmarks in which everything happens inside of V8.Execution. On the other hand, in Chrome profiling, events can happen outside of V8.Execution. To visualize such outside events, we need to calculate an xrange so that the xrange covers all events.
BUG=
Review URL: https://chromiumcodereview.appspot.com/11973028
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-17 14:45:58 +00:00
yangguo@chromium.org
5da9e75670
Remove support for Live Object List and inspector module.
...
These were introduced in r7012 and r6379.
The reason for this is that both features are not being maintained.
They have been out-of-date for a while. Test cases do not exist.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11975012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 15:44:26 +00:00
jkummerow@chromium.org
b5767291bc
Generate shim headers when using system v8.
...
BUG=chromium:165264
Review URL: https://codereview.chromium.org/11642006
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-16 10:16:46 +00:00
ulan@chromium.org
c4bed03342
Add ARM support to tools/grokdump.py
...
R=svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11565014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-07 09:48:04 +00:00
svenpanne@chromium.org
b74f1b8b4a
Synched postmortem script with not-so-recent changes.
...
Review URL: https://codereview.chromium.org/11744019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-01-03 13:11:47 +00:00
danno@chromium.org
2e6a7c733b
postmortem: export kSmiShiftSize
...
Right now it's impossible to figure out from headers that smis are left shifted
by 31 bit on x64, and only then tagged.
R=erik.corry@gmail.com
Review URL: https://codereview.chromium.org/11676005
Patch from Fedor Indutny <fedor@indutny.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-28 13:06:08 +00:00
danno@chromium.org
1f4b4625ff
Re-land Crankshaft-generated KeyedLoad stubs.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11528003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-18 16:25:45 +00:00
jkummerow@chromium.org
13a0b6bfa8
Add HTML-based tick processor
...
Review URL: https://codereview.chromium.org/11442055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-12 15:06:50 +00:00
yangguo@chromium.org
9e8fc0e820
Find plot range with only sampling ticks (profiling with only --prof).
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11543019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-12 14:54:35 +00:00
danno@chromium.org
64fc1f99cb
Revert 13157, 13145 and 13140: Crankshaft code stubs.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/11498006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-10 11:09:12 +00:00
jkummerow@chromium.org
125b1c29cd
llprof improvements
...
Review URL: https://codereview.chromium.org/11444031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-07 12:51:33 +00:00
yangguo@chromium.org
424a492dde
Take instrumentation overhead into account when plotting.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11348298
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-05 16:22:14 +00:00
danno@chromium.org
f19959cd22
Enable stub generation using Hydrogen/Lithium (again)
...
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure.
Committed: https://code.google.com/p/v8/source/detail?r=13105
Committed: https://code.google.com/p/v8/source/detail?r=13117
Review URL: https://codereview.chromium.org/10701054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-05 11:04:10 +00:00
danno@chromium.org
66f6a8182c
Revert 13117: "Enable stub generation using Hydrogen/Lithium (again)"
...
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/11415261
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 17:16:51 +00:00
danno@chromium.org
78b09625d5
Enable stub generation using Hydrogen/Lithium (again)
...
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure.
Committed: https://code.google.com/p/v8/source/detail?r=13105
Review URL: https://codereview.chromium.org/10701054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-12-03 15:51:05 +00:00
danno@chromium.org
0a3bcc8c05
Revert 13105: "Enable stub generation using Hydrogen/Lithium."
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/11414262
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-30 17:45:45 +00:00
danno@chromium.org
c115ff4e33
Enable stub generation using Hydrogen/Lithium.
...
This initial implementation generates only KeyedLoadICs using the new Hydrogen stub infrastructure.
Review URL: https://codereview.chromium.org/10701054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-30 17:31:30 +00:00
yangguo@chromium.org
028f85a244
Include more information in --prof log.
...
Main changes:
- include timestamps in profile ticks
- include code kind in code create events
- time execution in external code
- changed plot-timer-events.js to show the code kind being executed
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11428025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-28 11:01:10 +00:00
yangguo@chromium.org
72db2287c3
Add parallel recompilation time to histogram and plot execution pause times.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11412125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-22 13:04:11 +00:00
yangguo@chromium.org
3699616609
Rename SeqAsciiString
...
This is a straight rename:
NewRawAsciiString -> NewRawOneByteString
SeqAscii -> SeqOneByte
SeqOneByteString cannot yet take non-ascii data.
R=yangguo@chromium.org ,
BUG=
Review URL: https://chromiumcodereview.appspot.com/11411005
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-15 13:31:27 +00:00
svenpanne@chromium.org
673924413f
Re-land rev. 12849 and 12868 (Heavy cleanup of the external pointer API + related fix).
...
Review URL: https://codereview.chromium.org/11365224
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-13 12:27:03 +00:00
svenpanne@chromium.org
09666b60b8
Rollback of r12868, r12849 on bleeding_edge.
...
Fixed visibility attribute for GetPointerFromInternalField
Heavy cleanup of the external pointer API.
Review URL: https://codereview.chromium.org/11359125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 10:07:54 +00:00
yangguo@chromium.org
943c10bb87
Rename kAsciiStringTag to kOneByteStringTag
...
This is just a rename. After commit, I'll begin with the semantic changes.
Until those are complete, kOneByteStringTag will have the same meaning as
kAsciiStringTag.
BUG=
Review URL: https://chromiumcodereview.appspot.com/11293168
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 12:14:29 +00:00
ulan@chromium.org
8a3f19f720
Support shared library build of Android for v8.
...
v8 depends on the system log library. If we built it as a separate so,
log needs to be included in the link step.
BUG=chromium:158821
Review URL: https://chromiumcodereview.appspot.com/11369081
Patch from Yaron Friedman <yfriedman@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-07 12:22:48 +00:00
svenpanne@chromium.org
f3807ca17b
Heavy cleanup of the external pointer API.
...
Added highly efficient Object::SetAlignedPointerInInternalField and
Object::GetAlignedPointerFromInternalField functions for 2-byte-aligned
pointers. Their non-aligned counterparts Object::GetPointerFromInternalField and
Object::SetPointerInInternalField are now deprecated utility functions.
External is now a true Value again, with New/Value/Cast using a JSObject with an
internal field containing a Foreign. External::Wrap, and External::Unwrap are now
deprecated utility functions.
Added Context::GetEmbedderData and Context::SetEmbedderData. Deprecated
Context::GetData and Context::SetData, these are now only wrappers to access
internal field 0.
Added highly efficient Context::SetAlignedPointerInEmbedderData and
Context::GetAlignedPointerFromEmbedderData functions for 2-byte-aligned
pointers.
Review URL: https://codereview.chromium.org/11190050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 10:25:32 +00:00
yangguo@chromium.org
d2dc5ff546
Fix tick processor to correctly handle the 'parallel-compiler' tick.
...
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/11347043
Patch from Rajeev Krithivasan <rkrithiv@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-31 11:43:13 +00:00
rossberg@chromium.org
cd9029a502
Initial JS stub implementation of Object.observe. Adds support for .object/.unobserve/.notify/.deliverChangeRecords. No delivery mechanism is implemented for end-of-microtask.
...
Review URL: https://codereview.chromium.org/11225058
Patch from Rafael Weinstein <rafaelw@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-25 14:53:26 +00:00
yangguo@chromium.org
7fe6eb5c8e
Add json-stringifier.h to v8.gyp.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11267006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-24 09:56:01 +00:00