Commit Graph

11851 Commits

Author SHA1 Message Date
svenpanne@chromium.org
a92d237948 Allow users of the V8 API to distinguish between unset and undefined HiddenValues
BUG=v8:2746
R=svenpanne@chromium.org

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

Patch from Adam Klein <adamk@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-26 08:00:05 +00:00
mvstanton@chromium.org
081134ecd1 Removed flag optimize-constructed-arrays.
This eliminates a large amount of hand-written assembly in the platforms.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 16:31:07 +00:00
loislo@chromium.org
53eb53f4af CPUProfiler: It is not clear why we are using Handle<Object> for scriptId. Lets flip it into Smi/int.
By the nature it is integer. So we can work with it as with Smi internaly and use int in the external API.

BUG=none
TEST=existing tests
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15327 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 14:57:47 +00:00
jkummerow@chromium.org
ebfe1b8eb1 Move C++ specific flags from C flags to C++ flags
This allows to compile non-C++ files in the v8 standalone build, e.g.
assembly files found in ICU.

R=jkummerow@chromium.org
BUG=v8:2745

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

Patch from Jochen Eisinger <jochen@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15326 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 14:39:27 +00:00
peter.rybin@gmail.com
42a10a9dfe Allow debugger evaluate expressions to mute local variables
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 13:48:43 +00:00
prybin@chromium.org
cecbe44e42 Provide list of step-in source positions in JS Debug API
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 13:42:44 +00:00
bmeurer@chromium.org
9f05d61a1d Split HPhase for Lithium and Hydrogen using common CompilationPhase base.
Add new base class CompilationPhase, which is the base for both HPhase, LPhase and LAllocatorPhase. HPhase is now for Hydrogen passes only, LPhase is for Lithium passes and LAllocatorPhase is for LAllocator phases.

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 12:22:26 +00:00
alph@chromium.org
bd5fafd58a Handle AccessorPair struct in heap snapshot.
R=svenpanne@chromium.org, yurys@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 11:55:33 +00:00
olivf@chromium.org
eac9b2191b Fix to_boolean type feedback for unary and binary ops
BUG=
R=jkummerow@chromium.org, rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 11:49:46 +00:00
hpayer@chromium.org
256c136b4f Fixed more gc stress builder tests.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 11:16:13 +00:00
yurys@chromium.org
c846dabcb0 Get rid of Isolate::safe_stack_iterator_counter
This change removes per-isolate counter of active SafeStackFrameIterators. The counter is used by stack frames implementations to avoid accessing pointers to heap objects when traversing stack for CPU profiler (so called "safe" mode). Each StackFrame instance is owned by single iterator and has a pointer to it so we can simply mark the iterator as "safe" or not and read the field in the stack frames instead of going into the isolate.

BUG=None
R=loislo@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 10:09:19 +00:00
bmeurer@chromium.org
477f872c34 Fix GCC error about comma at end of enumerator list.
TBR=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 09:34:22 +00:00
bmeurer@chromium.org
66efb96621 Fix compilation error introduced with r15287.
REGEXP was added to Code::Kind after TO_BOOLEAN_IC, but NUMBER_OF_KINDS,
which is used as array size for table[] in ReportCodeKindStatistics, was
still TO_BOOLEAN_IC + 1 (indirectly via LAST_IC_KIND).

BUG=
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 09:09:25 +00:00
bmeurer@chromium.org
e7adf305fe Cleanup Code::Kind2String().
Use CODE_KIND_LIST() to automatically generate the case statements for
Code::Kind2String().

BUG=
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 08:51:49 +00:00
mstarzinger@chromium.org
6d92511162 Reland "Remove IsInitialized checks from inlined API functions."
The initialization sequence in Blink has been adapted to use explicit
isolate initialization instead of through calling v8::Null() as the
first API call.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 08:11:50 +00:00
hpayer@chromium.org
7ba980f2b1 Added pretenuring support for fast literal allocation in old data space.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 07:47:53 +00:00
yurys@chromium.org
ebdf62c238 Merge SafeStackTraceFrameIterator into SafeStackFrameIterator
SafeStackFrameIterator was used solely to implement SafeStackTraceFrameIterator. This CL simply merges them and updates usage of SafeStackTraceFrameIterator to use SafeStackFrameIterator (a bit shorter name).

BUG=None
R=loislo@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 07:14:06 +00:00
palfia@homejinni.com
63eff64fd5 MIPS: Fix mjsunit/regress/regress-2653.
Insert proper padding after lazy deoptimization points. This change
makes sure, that patching does not overwrite the code after the
lazy deoptimization point.

TEST=mjsunit/regress/regress-2653

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 00:09:32 +00:00
palfia@homejinni.com
55dbbbfd72 MIPS: Fix Kraken gaussian blur test regression.
The regression was introduced in r13848 by accidental removal of one
additional line.

TEST=
BUG=

Review URL: https://codereview.chromium.org/17570007
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 18:33:42 +00:00
palfia@homejinni.com
a24617a945 MIPS: Rename Literal::handle to Literal::value
Port r15280 (1a287b2)

Original commit message:
Just a completely mechanical change...

BUG=

Review URL: https://codereview.chromium.org/17583011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 18:28:06 +00:00
mstarzinger@chromium.org
bd90e71b01 Fix ugly typo in HValue::UpdateRepresentation.
R=jkummerow@chromium.org
TEST=mjsunit/math-min-max --extra-flags="--gc-interval=500"

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 14:34:07 +00:00
svenpanne@chromium.org
6c879c8a30 Removed some useless/dead code regarding CompileTimeValues.
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 14:26:32 +00:00
danno@chromium.org
a0f41ad31a In revision 15142, the V8_USE_UNSAFE_HANDLES define is removed.
So in the vtune support code ( in vtune-jit.cc file)v8::Handle<T* value> consturctor cannot be invoked directly.
We use "->ToString()" to create the Handle<String> object  to fix the compilation error.

R=danno@chromium.org

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

Patch from Chunyang Dai <chunyang.dai@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 14:21:14 +00:00
dslomov@chromium.org
e6e0ee0708 Update typed arrays behavior to match ES6 rev 15. Remove TO_POSITIVE_INTEGER and throw on negative length arguments.
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 13:58:52 +00:00
yangguo@chromium.org
8db56239a0 Correcting mime type of tools/profviz/profviz.css.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 13:55:36 +00:00
yangguo@chromium.org
239fffdb6d Changing mime type of tools/profviz/profviz.css.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 13:53:17 +00:00
yangguo@chromium.org
64cdd5e42c Changing mime type of tools/profviz/profviz.html.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 13:52:09 +00:00
bmeurer@chromium.org
13a7c993d0 Add phase zone to CompilationInfo and use it in GVN pass.
The phase_zone of CompilationInfo is intended for local allocations that
are freed at the end of the phase.

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 13:37:46 +00:00
yurys@chromium.org
264b7255e1 Move ExitFrame::ComputeStackPointer from frames-<arch>.cc to frames.cc
The method has identical implementation for all architectures. Moved it into frames.cc

Drive-by: deleted SafeStackFrameIterator::is_working_iterator_, SafeStackFrameIterator::iteration_done_ is used instead.

BUG=None
R=loislo@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 13:27:48 +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
bmeurer@chromium.org
3481344df8 Drop (mis)use of HPhase in full code gen.
The full code generator is not a proper Hydrogen phase. The full code
gen ticks are tracked in a special member of HStatistics, so HPhase is
most probably misused at this point.

R=danno@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 13:25:44 +00:00
yangguo@chromium.org
c63a5255b4 Do not use deprecated MakeWeak in d8.
R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 13:15:07 +00:00
bmeurer@chromium.org
00f6a8903b Fix HStatistics::Print() output to fit into 80 columns.
BUG=
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 13:07:20 +00:00
loislo@chromium.org
e04a874edd CPUProfiler: fix for test.
TBR= yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 13:03:19 +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
b632a4be86 Deprecate one virtual marking visitor for mark-compact GC.
R=hpayer@google.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 12:39:02 +00:00
dslomov@chromium.org
4308fb462d API for DataView.
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 11:23:50 +00:00
mstarzinger@chromium.org
48c16454b1 Revert "Remove IsInitialized checks from inlined API functions."
This reverts r15277 due to failures in layout tests. Apparently Blink
still initializes the Isolate by calling v8::Null() as the first API
function on some paths.

TBR=svenpanne@chromium.org
TEST=webkit:crypto/worker-random-values-concurrent.html

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 11:10:40 +00:00
rossberg@chromium.org
007837365d Rename Literal::handle to Literal::value
Just a completely mechanical change...

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 10:37:59 +00:00
yurys@chromium.org
a8a9fa807a Update the TSan-specific atomics implementation to match the current API.
BUG=128314

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

Patch from Alexander Potapenko <glider@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 09:35:30 +00:00
mstarzinger@chromium.org
1c22b2cd98 Make a Persistent ctor take const Persistent& instead of Persistent&.
BUG=
R=mstarzinger@chromium.org, svenpanne@chromium.org

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

Patch from Marja Hölttä <marja@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 09:34:56 +00:00
mstarzinger@chromium.org
9ef18efff6 Remove IsInitialized checks from inlined API functions.
R=marja@chromium.org, svenpanne@chromium.org
TEST=cctest/test-api

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 08:58:01 +00:00
loislo@chromium.org
9d95db6fad CPUProfiler: remove copy&paste from CodeCreateEvent.
This is the next patch on the way of simplifying profiler API.
It is extracting the common parts of the serialization process.

TEST=current test set
R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 08:40:38 +00:00
yurys@chromium.org
f830fbea3c Simplify stack iterators implementation
In order to fix https://code.google.com/p/chromium/issues/detail?id=252097 I
need to change SafeStackTraceFrameIterator. Stack iterators hierarchy looks
excessively complicated and I'd like to flatten it a bit by removing some
intermediate classes. In particular there are two hierarchies sharing
JavaScriptFrameIteratorTemp<T> template for no good reason.

This change extracts some of JavaScriptFrameIteratorTemp functionality directly
into SafeStackTraceFrameIterator. This made it obvious that a few checks were
performed twice.

The rest of JavaScriptFrameIteratorTemp<T> is merged with
JavaScriptFrameIterator. Now that the class is not a template some of its
implementation is moved from frames-inl.h into frames.cc

So in this change I removed JavaScriptFrameIterator and
SafeJavaScriptFrameIterator. As the next step I'm going to merge
SafeStackFrameIterator into SafeStackTraceFrameIterator.

BUG=None
R=loislo@chromium.org, svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 08:38:37 +00:00
dslomov@chromium.org
b05628f540 Update boot-up memory use limit after adding DataView.
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 07:02:53 +00:00
palfia@homejinni.com
ed4d3c8c66 MIPS: Use AST's type field and merge types for unary, binary & compare ICs.
Port r15264 (d4c3767)

Missing fixed_right_arg().has_value cases added also.

BUG=

Review URL: https://codereview.chromium.org/17552008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-21 20:31:06 +00:00
jkummerow@chromium.org
96e818136c Use kPointerSize to compute the size of StubCache::Entry for X64
R=jkummerow@chromium.org

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

Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-21 16:19:51 +00:00
dslomov@chromium.org
91eb5f8d25 DataView implementation.
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-21 13:02:38 +00:00
jkummerow@chromium.org
a4d2759d49 Distinguish times_8 and times_pointer_size for X64
R=jkummerow@chromium.org

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

Patch from Haitao Feng <haitao.feng@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-21 12:57:19 +00:00
jkummerow@chromium.org
cbc8ed7110 HBoundsCheck shouldn't ignore Tagged input representations unconditionally
BUG=v8:2740
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-21 12:50:02 +00:00