Commit Graph

17181 Commits

Author SHA1 Message Date
yangguo@chromium.org
3247a71c78 Do not unnecessarily expose execution state in debug event data.
When we fire a debug event, we create duplicate execution state objects,
one as argument for the debug event listener, one as property on the
debug event data object. The latter is never used by chrome.

R=yurys@chromium.org

Review URL: https://codereview.chromium.org/355793002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 09:13:09 +00:00
yangguo@chromium.org
50cc3a5ba8 Suppress ASAN for non-compatible test case.
This test calls quit() to exit d8 without proper tear down.

R=machenbach@chromium.org

Review URL: https://codereview.chromium.org/356623003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@22000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 09:05:28 +00:00
wingo@igalia.com
bf8e802f1a Add @@iterator, .entries(), .values(), .keys() support to typed arrays
R=arv@chromium.org, rossberg@chromium.org
BUG=

Review URL: https://codereview.chromium.org/336403002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:46:53 +00:00
machenbach@chromium.org
52ef087dcf Fix clusterfuzz check in auto-roll.
Minor fixes: Strip new lines from api key. Missing import. Use string query parameters.

BUG=
TBR=jarin@chromium.org

Review URL: https://codereview.chromium.org/353813002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:44:59 +00:00
jochen@chromium.org
c0dd51efdb Remove dependency from platform.h implementations on isolate
BUG=none
R=bmeurer@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/347223004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:20:42 +00:00
machenbach@chromium.org
7833a1321c Add clusterfuzz check to v8 auto-roll script and use CQ.
This adds a check step that makes sure there are no new issues when rolling into chromium.

It also checks the cq bit on roll upload.

BUG=
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/315133003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:17:45 +00:00
yangguo@chromium.org
4fa6a27ae2 Fix mjsunit's assertOptimized and assertUnoptimized.
This was broken some time ago by a refactor.

R=ulan@chromium.org

Review URL: https://codereview.chromium.org/349423003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 08:01:13 +00:00
wingo@igalia.com
699bc8f73d Add @@iterator support for strings
R=rossberg@chromium.org
BUG=

Review URL: https://codereview.chromium.org/335423002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 07:43:14 +00:00
wingo@igalia.com
f6dfa63c9d Add @@iterator to Array.prototype
R=rossberg@chromium.org
BUG=

Review URL: https://codereview.chromium.org/338323003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 07:32:57 +00:00
marja@chromium.org
31ab363c82 Revert "Update survival statistics correctly in the Scavenger."
This reverts r21991.

Reason: lots of test failures.

BUG=
TBR=hpayer@chromium.org

Review URL: https://codereview.chromium.org/352083002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 07:20:13 +00:00
hpayer@chromium.org
661630f589 Update survival statistics correctly in the Scavenger.
BUG=
R=ishell@chromium.org

Review URL: https://codereview.chromium.org/351893003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-25 06:29:36 +00:00
kilvadyb@homejinni.com
1c4621848e MIPS: optimize Lithium Allocate.
Port r21968 (f6c757c)

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 16:53:25 +00:00
rodolph.perfetta@arm.com
83ee347736 ARM64: fix operator precedence issue.
As a result the constant pool marker was always 0.

BUG=
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/350923003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 16:20:44 +00:00
alph@chromium.org
65e585fa38 CPU profiler: increase the max number of captured frames.
LOG=N
R=jkummerow@chromium.org, loislo@chromium.org, yurys@chromium.org

Review URL: https://codereview.chromium.org/357443003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 16:00:51 +00:00
ishell@chromium.org
80e1bf42e5 More Map methods moved to private part.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/350023002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 15:56:36 +00:00
ishell@chromium.org
ae1aaf7c76 Making MigrateToMap() a single bottleneck for all migrations except slow-to-fast case.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/346743005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 15:28:29 +00:00
ishell@chromium.org
220fa8ea08 More set_map() calls replaced with MigrateToMap().
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/338793004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 14:53:48 +00:00
hpayer@chromium.org
776a65684a Promote objects if semi-space copy fails while scavenging.
BUG=388188
LOG=N
R=jarin@chromium.org

Review URL: https://codereview.chromium.org/351853006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 14:30:22 +00:00
jochen@chromium.org
0323525d1b Initialize the Isolate's use_counter_callback_ member
BUG=none
R=marja@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/345363003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 14:13:15 +00:00
marja@chromium.org
62ffc7de20 New try: Parser: Delay internalizing strings and values
This is a reincarnation of r21841.

The previous try was https://codereview.chromium.org/314603004/ but it regressed
JSBench and morejs.

BUG=
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/335293004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 14:03:24 +00:00
yangguo@chromium.org
256d406c73 Revert assertion change from r21933 in Isolate::RunMicrotasks().
R=marja@chromium.org

Review URL: https://codereview.chromium.org/357453002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 13:58:56 +00:00
jkummerow@chromium.org
426061d3d0 Sync 'git cl presubmit' and 'tools/presubmit.py'
More precisely, add CheckGeneratedRuntimeTests to checks performed by
'git cl presubmit'.

R=machenbach@chromium.org

Review URL: https://codereview.chromium.org/352583005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 13:56:54 +00:00
machenbach@chromium.org
9d58d1428a Whitespace change to trigger bots.
BUG=
TBR=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/348583004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 13:55:26 +00:00
Jacob.Bramley@arm.com
cb3c7a0db9 ARM: optimize Lithium Allocate
R=ulan@chromium.org, bmeurer@chromium.org

BUG=

Review URL: https://codereview.chromium.org/331993004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 12:54:59 +00:00
jochen@chromium.org
8a21855b7f Don't list platform-posix.cc twice on android
BUG=387326
R=marja@chromium.org
LOG=n

Review URL: https://codereview.chromium.org/350893002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 12:41:17 +00:00
baptiste.afsa@arm.com
f10c5574b0 ARM64: Enable low level profiling.
R=ulan@chromium.org

Review URL: https://codereview.chromium.org/353643003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 12:40:20 +00:00
marja@chromium.org
9e121d0d5d Remove unused variables from assembler-arm.cc.
Local arm.debug build with make fails - not sure why arm build doesn't fail on
the waterfall.

R=rmcilroy@chromium.org
BUG=

Review URL: https://codereview.chromium.org/337273003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 12:20:12 +00:00
Jacob.Bramley@arm.com
63b3d1358c ARM: Fix inline assembly (r21949) for Clang.
Add a 'c' predicate to the immediate syscall number. This tells the
compiler to omit the leading '#' that immediates usually have in ARM.
The GNU assembler tolerates "ldr r7, =#1234" but Clang does not.

BUG=V8:3403
LOG=N
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/356463004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 11:26:48 +00:00
svenpanne@chromium.org
52fa41c3df Make Object::IsFoo const.
Removed a few useless const_casts on the way.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/351573002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 09:47:25 +00:00
yangguo@chromium.org
3563b7095a Fix a potential overflow in SortedListBSearch
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/344513004

Patch from Jianghua Yang <jianghua.jhy@alibaba-inc.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 09:37:51 +00:00
yangguo@chromium.org
58bf19e9d5 Remove bogus assertions in HCompareObjectEqAndBranch.
R=jkummerow@chromium.org, danno@chromium.org
BUG=387636
LOG=Y

Review URL: https://codereview.chromium.org/331863015

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 09:33:05 +00:00
yangguo@chromium.org
438f49a322 Do not eagerly update allow_osr_at_loop_nesting_level.
Having debug break points prevents OSR. That causes
allow_osr_at_loop_nesting_level and the actually patched state
to go out of sync.

R=jkummerow@chromium.org
BUG=387599
LOG=Y

Review URL: https://codereview.chromium.org/346223007

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 09:31:30 +00:00
Jacob.Bramley@arm.com
00617033dd ARM64: Clean up LiveEdit.
BUG=
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/349973007

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 08:16:33 +00:00
jochen@chromium.org
bab70ca936 Set host_arch to ia32 on machines with a 32bit userland but a 64bit kernel.
I don't know if there are any v8 bots with that configuration, but it seems
like a good idea to have v8 be consistent with chromium and nacl here, so that
this works fine if such a bot is ever set up.

This is similar to https://codereview.chromium.org/342493002/ , but with a
detect_v8_host_arch.py script that handles the additional machine types that
standalone.gypi used to handle.

Originally reviewed at https://codereview.chromium.org/346643002/

BUG=368384
LOG=Y
R=jochen@chromium.org

Review URL: https://codereview.chromium.org/349333006

Patch from Nico Weber <thakis@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 07:12:48 +00:00
haitao.feng@intel.com
5970d4fa10 Add X32 port into V8
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/18014003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 05:27:44 +00:00
haitao.feng@intel.com
88e8db4d41 Update GetNextSpillIndex to support x32 port.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/324253004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 03:41:45 +00:00
haitao.feng@intel.com
d8b5940abd Change some cmpq to cmpp, times_8 to times_pointer_size for x32 port.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/334793003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-24 03:39:54 +00:00
adamk@chromium.org
257adcf0ed Map/Set: Implement constructor parameter handling
When an iterable object is passed in as the argument to the Map and Set
constructor the elements of the iterable object are used to populate the
Map and Set.

http://people.mozilla.org/~jorendorff/es6-draft.html#sec-map-iterable
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-set-iterable

BUG=v8:3398
LOG=Y
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/345613003

Patch from Erik Arvidsson <arv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 18:05:57 +00:00
Jacob.Bramley@arm.com
6b264de751 ARM: Clean up FlushICache.
In theory, the Thumb version of FlushICache doesn't have to be any
different from the ARM version: There is no need to switch to ARM mode
for the svc, and r7 can be used just like any other register.

In practice, GCC uses r7 as a frame pointer in Thumb code, and it
refuses to allow it be used in inline assembly. To avoid complicated
checks to determine whether or not it is possible to use it directly,
the FlushICache function explicitly preserves r7.

R=ulan@chromium.org

Review URL: https://codereview.chromium.org/335133002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 17:30:00 +00:00
kilvadyb@homejinni.com
61f2fa88e8 MIPS: Fix comment in r21905: "Support LiveEdit."
BUG=
R=plind44@gmail.com

Review URL: https://codereview.chromium.org/345243005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 17:17:01 +00:00
Jacob.Bramley@arm.com
d8120bbcde Fix #include order in snapshot-external.cc
This corrects a linter complaint.

BUG=
R=mstarzinger@chromium.org, vogelheim@chromium.org

Review URL: https://codereview.chromium.org/351643002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 17:16:07 +00:00
kilvadyb@homejinni.com
6ca66800fd MIPS: Introduce intrinsic to expose debug state to generated code.
Port r21908 (527abba)

BUG=
R=plind44@gmail.com

Review URL: https://codereview.chromium.org/343193005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 16:49:52 +00:00
Jacob.Bramley@arm.com
add767f139 ARM64: Optimize generated code for gaps
R=ulan@chromium.org, jochen@chromium.org

Review URL: https://codereview.chromium.org/268673003

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 16:00:53 +00:00
machenbach@chromium.org
5af69a1bb9 Add PROJECT to v8
BUG=374398
R=machenbach@chromium.org

Review URL: https://codereview.chromium.org/344163005

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 15:33:19 +00:00
mvstanton@chromium.org
41e2dc7063 Revert "Create a RegisterSpec class inside of the IC that provides:"
This reverts commit r21939 due to a static initializer issue.

TBR=marja@chromium.org

Review URL: https://codereview.chromium.org/339663008

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 14:28:38 +00:00
ishell@chromium.org
f73e033be7 Map::MigrateToMap() now supports fast case (transition from a map that has run out of property space).
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/347413002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 14:23:25 +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
ishell@chromium.org
d2f229bf9f Several methods moved from JSObject to Map.
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/349203002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 13:46:49 +00:00
mvstanton@chromium.org
b3f8487726 Create a RegisterSpec class inside of the IC that provides:
1) symbolic names for the register (like, edx == receiver)
2) can return an array of registers
3) defines ordering when passed on the stack

Code that implements or uses the IC should use this RegisterSpec instead of "knowing" what the registers are. Or at least have the RegisterSpec to validate it's assumptions.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/340363002

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 13:42:12 +00:00
jochen@chromium.org
23521436fb Partial revert of r21901 (2nd attempt)
Only disable runtime check for sse2 if __SSE2__ is not defined. This
is required for the x87 port

BUG=none
LOG=n
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/331803006

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@21938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-06-23 13:30:03 +00:00