Commit Graph

8843 Commits

Author SHA1 Message Date
yangguo@chromium.org
ee17b195a4 Fix GCC 4.7 (C++11) compilation.
Original patch by Olivier Goffart <ogoffart@kde.org>.

BUG=v8:2136
TEST=

Review URL: https://chromiumcodereview.appspot.com/10387210

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 09:59:28 +00:00
jkummerow@chromium.org
9dedc37b09 Set '-m32' option for host and target platforms
For different host and target archs, try to check whether
their compilers support '-m32' option individually. If yes,
then add this option into cflags and ldflags. The exception is
that both host and target archs are 'x64'.

Review URL: https://chromiumcodereview.appspot.com/10335014
Patch from Yongsheng Zhu <yongsheng.zhu@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 09:01:19 +00:00
mmassi@chromium.org
2fd1e1bbc2 Array index computation dehoisting.
When an array index (in an array access) is a simple "expression + constant", just embed the constant in the array access operation so that the full index expression is (potentially) no longer used and its live range can be much shorter.
This is effective in conjunction with array bounds check removal (otherwise the index is anyway used in the check).

Review URL: https://chromiumcodereview.appspot.com/10382055

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 07:59:50 +00:00
ulan@chromium.org
750e2cda09 Prepare push to trunk. Now working on version 3.11.4.
R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10413005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-18 14:06:49 +00:00
ulan@chromium.org
15b796bec8 Disable optimization for functions that have scopes that cannot be reconstructed from the context chain.
BUG=v8:2071
TEST=mjsunit/regress/regress-2071.js

Review URL: https://chromiumcodereview.appspot.com/10388164

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-18 13:06:16 +00:00
yangguo@chromium.org
4b8d746bd4 Fix shared library build errors.
R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10389203

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-18 11:15:14 +00:00
yangguo@chromium.org
70408d49b1 Define V8_EXPORT to nothing for clients of v8.
This is to make sure that inline functions are only exported by
libv8.so and not also by all clients. This is the v8 version of
https://chromiumcodereview.appspot.com/10386108/

This CL depends on http://codereview.chromium.org/10310156/ landing
first.

BUG=chromium:90078

Review URL: https://chromiumcodereview.appspot.com/10399036

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-18 09:52:09 +00:00
yangguo@chromium.org
cb06ffab5e Correctly check for native error objects.
BUG=2138
TEST=

Review URL: https://chromiumcodereview.appspot.com/10392158

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-18 09:45:10 +00:00
erik.corry@gmail.com
3d45e98b5e Remove %_SwapElements. This inlined runtime contained an optimization that was dangerous in the presence of incremental compaction. It also prevented QuickSort from array.js from being optimized by Crankshaft, so it is probably better to do without it. We have high hopes that this will fix bug=117879.
Review URL: https://chromiumcodereview.appspot.com/10392150

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-17 20:53:32 +00:00
peter.rybin@gmail.com
401fbbaef6 Fix issue 825 (LiveEdit vs. function with no locals) for x64.
Review URL: https://chromiumcodereview.appspot.com/10387116

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 21:15:24 +00:00
yangguo@chromium.org
266c17e5d0 Simplify v8.gyp.
Based on http://codereview.chromium.org/10310156

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10398057

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 15:48:06 +00:00
yangguo@chromium.org
6c6c7d80e0 Prepare push to trunk. Now working on version 3.11.3.
R=ulan@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10332194

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 12:35:01 +00:00
yangguo@chromium.org
81720ffe84 Amend regression test.
R=rossberg@chromium.org
BUG=128146
TEST=

Review URL: https://chromiumcodereview.appspot.com/10382196

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 12:26:11 +00:00
yangguo@chromium.org
62b35e2174 Add missing test for transcendental functions.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10389169

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 11:15:30 +00:00
yangguo@chromium.org
ec1fc618ff Revert r11496.
CL being reverted: https://chromiumcodereview.appspot.com/10238005

BUG=128146
TEST=regress-128146

Review URL: https://chromiumcodereview.appspot.com/10386166

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 11:07:54 +00:00
mstarzinger@chromium.org
f9b93e6cc7 Implement map collection for incremental marking.
This causes map transitions to be treated weakly during incremental
marking and hence allows clearing of non-live transitions. The marking
code is now shared between incremental and non-incremental mode.

R=vegorov@chromium.org
BUG=v8:1465
TEST=cctest/test-heap/Regress1465

Review URL: https://chromiumcodereview.appspot.com/10310168

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 10:07:50 +00:00
erik.corry@gmail.com
83fbd2b52d MIPS: Fix simplification of DoLoadNamedFieldPolymorphic. This is a commit of https://chromiumcodereview.appspot.com/10391096/ for Akos Palfi
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 09:07:57 +00:00
mstarzinger@chromium.org
18a5298a6c Fix CreateEmptyFunction to not share descriptor array.
R=ulan@chromium.org
BUG=v8:1465

Review URL: https://chromiumcodereview.appspot.com/10388158

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 07:52:41 +00:00
danno@chromium.org
7966fb3d8c Always transition empty FAST_DOUBLE_ARRAYs on push
R=mstarzinger@chromium.org
BUG=chromium:128018
TEST=test/mjsunit/regress/regress-128018.js

Review URL: https://chromiumcodereview.appspot.com/10387130

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 16:17:53 +00:00
mstarzinger@chromium.org
4a7c70de23 Add zapping of Map contents in debug mode.
This zaps the contents of stale descriptor arrays and prototype
transition arrays before overwriting references to them. It should help
to discover accidental sharing early and is needed for the heap verifier
when map collection with incremental marking lands.

R=ulan@chromium.org
BUG=v8:1465

Review URL: https://chromiumcodereview.appspot.com/10383186

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 15:45:38 +00:00
yangguo@chromium.org
5d34345c96 messages.js: Add toString to CallSite (which describes a frame of the stack trace).
This is useful for users who overwrite Error.prepareStackTrace but want to use
this functionality for formatting the individual frames.

BUG=NONE
TEST=NONE

Review URL: https://chromiumcodereview.appspot.com/10388140


Review URL: https://chromiumcodereview.appspot.com/10332172

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 12:24:44 +00:00
yangguo@chromium.org
5cec8ad1e8 Prepare push to trunk. Now working on version 3.11.2.
R=ulan@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10389144

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 12:13:18 +00:00
mstarzinger@chromium.org
88a9350f14 Revert r11556 and r11558 to allow roll.
R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10383182

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 12:01:23 +00:00
rossberg@chromium.org
1016c4a285 Add a readbuffer function to d8, that reads a file into an ArrayBuffer.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10388140

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 11:00:30 +00:00
erik.corry@gmail.com
37ef03758f Add a little more post morten debug info for the minidump.
Review URL: https://chromiumcodereview.appspot.com/10387127

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:54:54 +00:00
yangguo@chromium.org
ea7c5a23a3 Fix freebsd build.
BUG=2126
TEST=

Review URL: https://chromiumcodereview.appspot.com/10381149
Patch from Geoffrey Garside <ggarside@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:21:49 +00:00
rossberg@chromium.org
01dac9a99d Improve typed arrays support in d8.
Add properties buffer, byteLength, and byteOffset to typed arrays.

R=yangguo@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10389140

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:21:18 +00:00
ulan@chromium.org
bd1070b6ad Fix ucontext structure for Android on x86
Review URL: https://chromiumcodereview.appspot.com/10310116
Patch from Lijuan Xiao <lijuan.xiao@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:19:00 +00:00
mstarzinger@chromium.org
731e4ed33b Fix regression test from r11556 for no-snapshot.
R=yangguo@chromium.org
BUG=v8:1465
TEST=cctest/test-heap/Regress1465

Review URL: https://chromiumcodereview.appspot.com/10391136

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:08:31 +00:00
rossberg@chromium.org
a662a25469 Revert flag change for global semantics.
(Still breaks a couple of WebKit tests.)

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10381147

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:01:06 +00:00
mstarzinger@chromium.org
0c54a2371c Implement map collection for incremental marking.
This causes map transitions to be treated weakly during incremental
marking and hence allows clearing of non-live transitions. The marking
code is now shared between incremental and non-incremental mode.

R=vegorov@chromium.org
BUG=v8:1465
TEST=cctest/test-heap/Regress1465

Review URL: https://chromiumcodereview.appspot.com/10386046

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 08:39:25 +00:00
erik.corry@gmail.com
4269fc84f1 Add -f or --full flag to grokdump to dump all available memory areas from the minidump.
Review URL: https://chromiumcodereview.appspot.com/10332137

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-14 07:57:56 +00:00
alexeif@chromium.org
e74b8c0952 Serialize heap snapshot data as an array of unsigned values.
None of the values can in fact be negative, while object IDs
can have the highest bit set which lead to negative values appear
in the snapshot that front-end is unable to parse.

Review URL: https://chromiumcodereview.appspot.com/10356143

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-12 16:41:13 +00:00
jkummerow@chromium.org
3f748cf5da Prepare push to trunk. Now working on version 3.11.1.
R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10389094

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-11 14:57:47 +00:00
jkummerow@chromium.org
db6c266c53 GYP build: Provide automatic host_arch detection on Mac
TEST="make x64.release" works fine on MacOS

Review URL: https://chromiumcodereview.appspot.com/10310123

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-11 13:52:16 +00:00
jkummerow@chromium.org
1819105559 Prepare for using GYP build on buildbots
Review URL: https://chromiumcodereview.appspot.com/10383128

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-11 12:18:09 +00:00
erik.corry@gmail.com
423451aed7 Simplify DoLoadNamedFieldPolymorphic
Review URL: https://chromiumcodereview.appspot.com/10386089

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-11 09:13:02 +00:00
erik.corry@gmail.com
f8bdbf1ce1 Fix compose-discard crasher from 11524 - port to x64, ARM, MIPS.
This is now bug 2123.
TBR=mstarzinger
Review URL: https://chromiumcodereview.appspot.com/10391061

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 21:25:49 +00:00
erik.corry@gmail.com
50ecb6f011 Fix compose-discard crasher from 11524. We can't do a call (to a generic
stub) unless there is a pointer map.  This does not fix the 3d-raytrace
regression, that will be in another change.
Review URL: https://chromiumcodereview.appspot.com/10382102

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 20:34:06 +00:00
alexeif@chromium.org
7bf37bc6c6 Set object tags directly to the entry name in heap profiler.
Review URL: https://chromiumcodereview.appspot.com/10382106

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 15:55:19 +00:00
vegorov@chromium.org
818aba70b2 Extend grokdump with basic interactive shell capabilities.
Supported commands:

- dd: to print memory region
- s: to search for a word in available memory regions
- list: to list available memory regions

R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10378087

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 12:44:15 +00:00
rossberg@chromium.org
102de8e2ca Activate new global semantics by default.
R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10383085

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 10:35:42 +00:00
alexeif@chromium.org
4e3c3a9577 Merge SetObjectNames extra pass into the main pass.
Because heap snapshotting is now performed in a single pass
it is safe to make calls to GetConstructorName and further to
LocalLookupRealNamedProperty right within that main pass.

Review URL: https://chromiumcodereview.appspot.com/10332087

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 09:17:32 +00:00
alexeif@chromium.org
f1ff027d3a Fix formatting.
TBR=mnaganov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10356075

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 15:49:03 +00:00
danno@chromium.org
159ee25bbf Properly set ElementsKind of empty FAST_DOUBLE_ELEMENTS arrays when transitioning.
R=jkummerow@chromium.org
BUG=chromium:117409
TEST=test/mjsunit/regress/regress-117409.js

Review URL: https://chromiumcodereview.appspot.com/10386045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 15:18:50 +00:00
fschneider@chromium.org
51b569bd21 Declare more functions returing a MaybeObject* with MUST_USE_RESULT.
No violations found this time.

Additionally I changed one function JSDate::GetField that never returns
a failure to return a Object* instead.
Review URL: https://chromiumcodereview.appspot.com/10383088

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 14:34:27 +00:00
alexeif@chromium.org
132af25697 Split nodes and edges into separate arrays in heap profiler.
This allowed the following changes:
  - heap profiler now makes one pass less over the heap.
  - HeapEntriesMap does not allocate EntryInfo per each entry.
  - there's no need for an extra pass to set indexes before serialization.

As a result snapshot taking time has reduced up to 2x times.

Review URL: https://chromiumcodereview.appspot.com/10353010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 14:34:13 +00:00
fschneider@chromium.org
b28f403cfa Force checking of result on all functions in elements.h that return MaybeObject*.
Add two missing failure checks found by this.
Review URL: https://chromiumcodereview.appspot.com/10356071

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 12:49:56 +00:00
rossberg@chromium.org
9f04d73350 Make Error.prototype.name writable again, as required by the spec and the web.
Address http://code.google.com/p/chromium/issues/detail?id=69187 by instead
ignoring getters on ReferenceError.prototype.name in Error.prototype.toString.

And while we're at it, do the same for SyntaxError and TypeError, and the
properties "message", "type", and "arguments" on all of them, which
potentially have similar issues.

R=danno@chromium.org
BUG=69187
TEST=

Review URL: https://chromiumcodereview.appspot.com/10234004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 12:35:11 +00:00
mstarzinger@chromium.org
526b3f2cac Implement explicit back pointers in transition tree.
This makes back pointers in the map transition tree explicit by having
accurate back pointers throughout the lifetime of maps instead of
establishing and destroying back pointers before and after each marking
phase. This is a prerequisite for being able to clear map transitions
during incremental marking.

R=vegorov@chromium.org
BUG=v8:1465

Review URL: https://chromiumcodereview.appspot.com/10381053

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 07:29:18 +00:00