Commit Graph

18545 Commits

Author SHA1 Message Date
alph@chromium.org
ec8f976113 Add AccessorInfo handling into heap profiler.
BUG=
R=svenpanne@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:08:40 +00:00
marja@chromium.org
61c9683d71 Add script streaming API.
Blink will use this API to stream script data into V8 as the scripts
load. During loading, V8 can already parse the scripts. They will be then
compiled and executed when the loading is complete.

BUG=
R=jochen@chromium.org, rossberg@chromium.org, svenpanne@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 11:06:26 +00:00
bmeurer@chromium.org
bfa3884ae0 [turbofan] Machine operators are globally shared singletons.
TEST=compiler-unittests,cctest
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23864 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 10:37:49 +00:00
jkummerow@chromium.org
11f7584d0a Fix ElementsKind handling of prototypes in Array.concat
Double elements, typed elements, and sloppy arguments elements were all erroneously marked UNREACHABLE.

BUG=chromium:412203
LOG=n
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 10:04:13 +00:00
jkummerow@chromium.org
bf7b4c12c3 Add a script that can generate simple test cases for user-exposed JS builtins
(we won't check in any such tests; they can be generated on the fly when needed)

R=mbarbella@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 09:58:58 +00:00
marja@chromium.org
503eb3cd03 Parser cleanup: less member variables.
Parser had unnecessary member pointers to stuff stored in the
CompilationInfo (which Parser also points to).

As we add more parsing code paths (in particular, script streaming), this gets
confusing and Parser and CompilationInfo can get out of sync.

BUG=
R=jochen@chromium.org, rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 09:52:36 +00:00
yangguo@chromium.org
a311c26d4d Expect requiring access check on objects with hidden properties.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 09:48:56 +00:00
mstarzinger@chromium.org
a2add48b86 Enable typed pipeline for TurboFan (again).
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 09:44:44 +00:00
aandrey@chromium.org
95260f66d0 Fix crash in ScriptDebugServer::wrapCallFrames
The crash happens in DebugEventListener that gets called for an unhandled exception thrown by TryCatch.ReThrow().

In DevTools some parts of DebugEventListener are implemented in JavaScript, thus we should allow JavaScript execution while handling ReThrow exception in debugger.

BUG=411196
LOG=Y
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 09:43:30 +00:00
svenpanne@chromium.org
a1337ae567 Make --turbo-inlining available on the command line.
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 09:02:18 +00:00
baptiste.afsa@arm.com
d2c2efcebe ARM64: Change some incorect uses of ptrdiff_t to int64_t.
R=bmeurer@chromium.org, ulan@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 08:50:48 +00:00
jochen@chromium.org
02213097cf Improve x32 detection macro.
When targeting the Microsoft ABI in 64bit mode, clang defines __x86_64__ but
doesn't define __LP64__ (Microsoft uses LLP64), so it would fall down the x32
path. cl.exe doesn't define __x86_64__ in the first place, so it didn't have
this problem.

Rather than trying to guess pointer size by looking at __x86_64__ and __LP64__,
check for pointer size directly using __POINTER_SIZE__. This is defined by both
gcc and clang, and eliminiates this problem.

This should fix hundreds of "error(clang): unknown type name 'Atomic64'" when
compiling v8 on Windows with clang for 64 bit.

BUG=chromium:82385
LOG=n
R=haitao.feng@intel.com, jochen@chromium.org

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 08:01:24 +00:00
mvstanton@chromium.org
febf84a333 Added CallInterfaceDescriptors to all code stubs. A handful
of code stubs are too complex to be described this way, and
they are encoded with the macro
DEFINE_NULL_CALL_INTERFACE_DESCRIPTOR().

Along the way:
* allowed inheritance of CallInterfaceDescriptors.
* Defined static Register methods for some of the new
  CallInterfaceDescriptors. We could go a lot further here, but
  it doesn't have to be done immediately.
* Added Representation arrays to some CallInterfaceDescriptors,
  especially where future hydrogen versions of the stubs could
  benefit from this knowledge.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 07:11:10 +00:00
weiliang.lin@intel.com
ca2d970a45 X87: Do not cache CodeStubInterfaceDescriptor on the isolate.
port r23744.

original commit message:

  Do not cache CodeStubInterfaceDescriptor on the isolate.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-11 05:30:19 +00:00
v8-autoroll@chromium.org
64392f2ca6 [Auto-roll] Bump up version to 3.29.56.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 23:01:28 +00:00
paul.lind@imgtec.com
a7d4f2fda1 MIPS: Rename ascii to one-byte where applicable.
Port r23840 (5463c43)

BUG=
R=paul.lind@imgtec.com

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

Patch from Balazs Kilvady <balazs.kilvady@imgtec.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 19:18:28 +00:00
arv@chromium.org
bd01c1df61 Remove runtime test for concise methods
The runtime tests have been removed.

LOG=N
BUG=None
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 17:36:00 +00:00
arv@chromium.org
45d8e74cd6 ES6: Add support for method shorthand in object literals
This is governed by the harmony-object-literals flag.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 16:39:42 +00:00
ulan@chromium.org
9261c44fd4 Fix status file after r23840.
TBR=yangguo@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 16:19:42 +00:00
mstarzinger@chromium.org
9b274b0b69 Fix awesomeness in X64 assembler.
R=ulan@chromium.org
TEST=mjsunit --turbo-types

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 15:58:23 +00:00
ulan@chromium.org
2a084bddd3 [turbofan] Save OOL constant pool pointer in CodeGenerator::AssemblePrologue.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 14:40:59 +00:00
mstarzinger@chromium.org
1f4f9eed2a Actually disabled typed pipeline after r23830.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 13:41:09 +00:00
yangguo@chromium.org
c71976d55a Also rename ascii to one-byte in tool scripts.
TBR=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:56:19 +00:00
yangguo@chromium.org
4e670fd05e Rename ascii to one-byte where applicable.
R=dcarney@chromium.org, marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:38:12 +00:00
yangguo@chromium.org
d3af5b67d2 Fix JSReceiver::HasHiddenProperties wrt access-checked objects.
R=jkummerow@chromium.org
BUG=chromium:411877
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:31:13 +00:00
bmeurer@chromium.org
cf293f7780 [turbofan] Lower JSStoreProperty during JS typed lowering.
Note that we cannot yet emit a diamond here (patch is ready), because
the scheduler is still broken wrt. free floating control (seems related
although this diamond is not free floating).

TEST=cctest
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:29:48 +00:00
bmeurer@chromium.org
6bb08db27e [turbofan] Next step towards shared operators.
TEST=compiler-unittests,cctest
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:23:45 +00:00
mstarzinger@chromium.org
8d35f22795 Disabled typed pipeline because of 64-bit failures.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 12:07:39 +00:00
mstarzinger@chromium.org
daa9aa5553 Fix blacklist of 'array-functions-prototype-misc' after r23830.
R=ulan@chromium.org
TEST=mjsunit/array-functions-prototype-misc

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 10:31:59 +00:00
v8-autoroll@chromium.org
0a7a925e4f [Auto-roll] Bump up version to 3.29.55.0
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23831 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 10:01:20 +00:00
mstarzinger@chromium.org
13f01e65c4 Enable typed pipeline for TurboFan.
R=danno@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 09:52:50 +00:00
mstarzinger@chromium.org
de0b213cf2 Switch inlining to use simplified instead of machine loads.
R=sigurds@chromium.org
TBR=bmeurer@chromium.org
TEST=cctest/test-run-inlining --turbo-types

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 09:48:03 +00:00
ulan@chromium.org
d66ed1176f Don't inline Array functions if receiver map is not extensible.
BUG=405517
LOG=N
TEST=mjsunit/regress/regress-crbug-405517.js
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 09:22:13 +00:00
ulan@chromium.org
99301fc8c5 Fix regress-411210 after r23824.
BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 08:48:40 +00:00
yangguo@chromium.org
4948c064b2 Allow externalizing cons and sliced string.
Fulfill overdue TODO.

R=mstarzinger@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=23058

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 08:47:16 +00:00
bmeurer@chromium.org
0e42316deb [turbofan] Correctly use bit_cast instead of static_cast.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 08:32:23 +00:00
hpayer@chromium.org
ed37edc5c0 Remove guard page mechanism from promotion queue.
BUG=chromium:411210
LOG=n
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23824 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 07:51:29 +00:00
machenbach@chromium.org
d579836b9a Make merge script bypass hooks on upload.
TEST=script_test.py
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23823 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 07:51:13 +00:00
hpayer@chromium.org
68b309ede8 Split up marking step and marking speed up functionality.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 07:23:38 +00:00
weiliang.lin@intel.com
d79d1f782f X87: Unify JSEntryStub and JSConstructEntryStub, and some more code stub cleanups.
port r23742.

original commit message:

  Unify JSEntryStub and JSConstructEntryStub, and some more code stub cleanups.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23821 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 07:17:23 +00:00
bmeurer@chromium.org
4f5b0911db Revert "Switch inlining to use simplified instead of machine loads.", "Fix size_t to int conversion compile error." and "Add copy support in inliner.".
This reverts commits r23813, r23805 and r23804 for Windows breakage.

TBR=mstarzinger@chromium.org,sigurds@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23816 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 06:39:25 +00:00
weiliang.lin@intel.com
850580317b X87: Introduce code stub constructors for stub keys.
port r23716.

original commit message:

  Introduce code stub constructors for stub keys.

BUG=
R=weiliang.lin@intel.com

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

Patch from Jing Bao <jing.bao@intel.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23815 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-10 02:44:43 +00:00
vegorov@chromium.org
a57c7ab69c Fix perf jitdump integration.
When emitting JIT_CODE_LOAD for Crankshafted code exclude Safepoint Table from the size of the code.

This cleans up perf annotate output - because otherwise it confusingly tries to disassemble safepoint table.

R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 17:35:51 +00:00
mstarzinger@chromium.org
947726a79c Switch inlining to use simplified instead of machine loads.
R=sigurds@chromium.org
TEST=cctest/test-run-inlining --turbo-types

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 15:55:47 +00:00
mstarzinger@chromium.org
6034230db7 Some follow-up fixes after r23801.
R=rossberg@chromium.org
TEST=mjsunit --turbo-types

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 14:48:16 +00:00
yangguo@chromium.org
8d6f9811da Do not force interrupt in test-debug/ProcessDebugMessagesThreaded.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23810 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 14:31:49 +00:00
bmeurer@chromium.org
bbd96b97e4 [turbofan] Add support for overflow add/sub to the MachineOperatorReducer.
TEST=base-unittests,compiler-unittests,cctest
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23809 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 14:18:17 +00:00
m.m.capewell@googlemail.com
cb6ea19859 [turbofan] ARM64 branch selector additions
Add support for selecting Cmp and Cmn instructions, and tests for branching on
the result of arithmetic or logical operations.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 14:13:51 +00:00
balazs.kilvady@imgtec.com
48a91826e4 MIPS: Do not use CodeStub::FindInCache if not necessary.
Port r23795 (b41f4a7)

Original commit message:
GetCode does the FindInCache check as well.

BUG=
R=akos.palfi@imgtec.com, dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23807 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 14:11:18 +00:00
svenpanne@chromium.org
f8ff071006 Use locale-independent predicates.
TBR=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23806 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-09 13:51:03 +00:00