Commit Graph

15808 Commits

Author SHA1 Message Date
yangguo@chromium.org
6b1dd6b268 Fix rare access violation during JS heap serialization.
R=yangguo@chromium.org

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

Patch from Slava Chigrin <vchigrin@yandex-team.ru>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 11:45:20 +00:00
balazs.kilvady@imgtec.com
0b1e18c231 MIPS: Fix [de]serialize problem of root objects.
BUG
TEST=mjsunit/deserialize-reference
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 11:27:21 +00:00
yangguo@chromium.org
0c38c7df64 Fix serialization references to Cell objects.
R=yangguo@chromium.org

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

Patch from Slava Chigrin <vchigrin@yandex-team.ru>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 10:51:43 +00:00
machenbach@chromium.org
514fcde2a3 Revert "Revert "Remove C++11-ism, until all bots support it.""
This reverts commit 1f07f57a4a13985f3a48b06d2848dd3bff165b4f.

AOSP bot is still not ready.

TBR=svenpanne@chromium.org,vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 09:20:49 +00:00
sigurds@chromium.org
e7817a9e54 Remove dependency from generic lowering on compilation info for determining strictness and builtins.
This makes the graphs compositional for inlining (i.e. we can now inline a strict function into a non-strict function, or vice versa).

1) Store strict mode as parameter in StoreNamed/StoreProperty.

R=mstarzinger@chromium.org, titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 08:39:24 +00:00
svenpanne@chromium.org
a0d5fa72c5 Fix disassembly redirection from stdout into a file.
Pass \n, \r and \t through OStream without escaping.

BUG=
R=svenpanne@chromium.org

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

Patch from Vyacheslav Egorov <vegorov@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 07:30:58 +00:00
yangguo@chromium.org
0748ee42db Sub-minor-key-ify seven HydrogenCodeStubs.
- FastCloneShallowObjectStub
- StringAddStub
- LoadFastElementStub
- StoreFastElementStub
- TransitionElementsKindStub
- ArrayConstructorStubBase
- InternalArrayConstructorStubBase

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 07:12:16 +00:00
yangguo@chromium.org
3cfef1e09e Sub-minor-key-ify four HydrogenCodeStubs.
- FastNewContextStub
- FastCloneShallowArrayStub
- ToBooleanStub
- ElementsTransitionAndStoreStub.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 07:02:53 +00:00
machenbach@chromium.org
28e95981ba Revert "Remove C++11-ism, until all bots support it."
This reverts commit r23463 as by now >> shouldn't be a syntax error anymore in chromium.

TBR=vogelheim@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 06:56:00 +00:00
weiliang.lin@intel.com
425568d616 X87: Minor-key-ify BinaryOpICWithAllocationSiteStub.
port r23444.

original commit message:
  Minor-key-ify BinaryOpICWithAllocationSiteStub.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-28 03:24:49 +00:00
jarin@chromium.org
8eb5c1524d Unit test of instruction selection for calls with deoptimization.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 15:56:11 +00:00
adamk@chromium.org
71fbe7d4ec Ensure that JSProxy::Fix gives the generated JSObject map a constructor
All JSObjects in V8 either have a map()->constructor() field or are
JSFunctions. JSProxy::Fix, however, was not enforcing this, and
Object.observe's use of JSObject::GetCreationContext() exposed this.

Note that this is not Object.observe-specific: the API call
v8::Object::CreationContext() also would have revealed this bug.

This patch chooses Object as a reasonable constructor to put on the
newly-fixed object's map. Note that this has no effect on the "constructor"
property in JS. In doing so, I've also tightened up the code underlying
JSProxy::Fix to only support JSObject and JSFunction as possible output
types.

BUG=405844
LOG=N
R=rossberg@chromium.org, verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 15:54:23 +00:00
vogelheim@chromium.org
887ba6c133 Remove C++11-ism, until all bots support it.
R=machenbach@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 14:51:28 +00:00
titzer@chromium.org
79c8cfe2a8 Fix expectations of lowering tests.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 14:47:50 +00:00
balazs.kilvady@imgtec.com
14e190bb48 MIPS: Minor-key-ify BinaryOpICWithAllocationSiteStub.
Port r23444 (0331267)

BUG=
R=dusan.milosavljevic@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 14:22:48 +00:00
titzer@chromium.org
fa34ea60c4 Disable some changes tests on ARM64. Also, fix the changes lowering to not use the more expensive TruncateFloat64ToInt32, but to use ChangeFloat64ToInt32/ChangeFloat64ToUint32, as it was before.
R=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 13:49:30 +00:00
svenpanne@chromium.org
ac8eb91185 Some PNaCL compatibility fixes.
* Removed a few useless and non-standard #includes.
* Made OS::GetCurrentProcessId compile without syscall.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 13:47:19 +00:00
titzer@chromium.org
d806fef193 Fix >> versus > > for stupid C++ compilers.
R=vogelheim@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 13:12:56 +00:00
bmeurer@chromium.org
7fb56e2e71 Add Flags<T> class as a type-safe way of storing OR-combinations of enums.
TEST=base-unittests
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 12:16:36 +00:00
verwaest@chromium.org
7f64aa017f Remove false checks since GetOwnProperty now throws an exception on access check violation.
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 11:42:17 +00:00
machenbach@chromium.org
2dbdd41388 [Auto-roll] Bump up version to 3.29.22.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 11:34:31 +00:00
titzer@chromium.org
5bf4c830dd Remove old changes lowering code and convert test to use new changes lowering code.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 11:14:10 +00:00
yangguo@chromium.org
a81ab7af48 Introduce sub minor key to remove NotMissMinorKey in hydrogen stubs.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 10:27:52 +00:00
yangguo@chromium.org
545c04b9bd Minor-key-ify BinaryOpICWithAllocationSiteStub.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 10:00:06 +00:00
mstarzinger@chromium.org
5b253766f1 Wire up simplified and change lowering in pipeline.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 09:52:32 +00:00
yangguo@chromium.org
327d843d59 fix and update debug-debugger.js
added `switch` statement is missing `break`s

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 09:51:51 +00:00
yangguo@chromium.org
c49aa16fdf Slightly simplify Math.sign and Math.trunc.
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 09:49:38 +00:00
bmeurer@chromium.org
b8b9d10590 Sync our homegrown SysInfo replacement with the one in Chrome base.
Also fix several inconsistencies/bugs on the way.

TEST=base-unittests
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 08:29:22 +00:00
weiliang.lin@intel.com
18235ae336 X87: Minor-key-ify new LoadICTrampolineStub.
port r23409.

original commit message:
  Minor-key-ify new LoadICTrampolineStub.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 08:15:14 +00:00
weiliang.lin@intel.com
eab8bdde23 X87: Added vector-based loadic hydrogen stubs. Not yet callable.
port r23405.

original commit message:
  Added vector-based loadic hydrogen stubs. Not yet callable.
  The next step is to integrate the use of vector[slot] into the IC
  infrastructure so it can do the right thing for a vector-based ic.
   Then these stubs can be installed. For now, they immediately bail
   out to the miss handler.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 07:58:51 +00:00
machenbach@chromium.org
19a4571681 [Auto-roll] Bump up version to 3.29.21.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 07:34:34 +00:00
weiliang.lin@intel.com
24b5e5063b X87: Minor-key-ify CallICStub and CallIC_ArrayStub.
port r23403.

original commit message:
  Minor-key-ify CallICStub and CallIC_ArrayStub.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 07:33:29 +00:00
weiliang.lin@intel.com
246b01efdc X87: Change more PlatformCodeStubs to encode properties in the minor key.
port r23394.

original commit message:
  Change more PlatformCodeStubs to encode properties in the minor key.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 06:33:40 +00:00
bmeurer@chromium.org
b1e9d99bb2 [turbofan] Refactor code generation for calls.
R=jarin@chromium.org
TEST=cctest

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 06:25:02 +00:00
weiliang.lin@intel.com
ef21aa93b7 X87: Move register conventions out of the IC classes.
port r23391.

original commit message:
  Move register conventions out of the IC classes.
  A change to a convention shouldn't require recompilation of ic.h/.cc.

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-27 04:49:41 +00:00
machenbach@chromium.org
37f220c27f [Auto-roll] Bump up version to 3.29.19.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 22:34:12 +00:00
akos.palfi@imgtec.com
b9e0b90612 MIPS: Minor-key-ify new LoadICTrampolineStub.
Port r23409 (31a0d5ae)

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 19:35:48 +00:00
akos.palfi@imgtec.com
4f4e209fca MIPS: Added vector-based loadic hydrogen stubs. Not yet callable.
Port r23405 (12573f34)

Original commit message:
The next step is to integrate the use of vector[slot] into the IC
infrastructure so it can do the right thing for a vector-based ic.
Then these stubs can be installed. For now, they immediately bail out
to the miss handler.

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 19:34:15 +00:00
balazs.kilvady@imgtec.com
6ff7b9ab0f MIPS: Move register conventions out of the IC classes.
Port r23391 (c3bf1dc)

Original commit message:
A change to a convention shouldn't require recompilation of ic.h/.cc.

BUG=
R=paul.lind@imgtec.com, vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 17:57:18 +00:00
balazs.kilvady@imgtec.com
6d08761317 MIPS: Minor-key-ify CallICStub and CallIC_ArrayStub.
Port r23403 (553b376)

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 17:43:13 +00:00
balazs.kilvady@imgtec.com
597a49ae51 MIPS: Change more PlatformCodeStubs to encode properties in the minor key.
Port r23394 (6366610)

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 17:38:41 +00:00
mstarzinger@chromium.org
f097880c12 Make filter for optimized code sharing finer.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 17:04:34 +00:00
rmcilroy@chromium.org
defea14cfb Fix external snapshot reading by removing an assumption that strings in the snapshot file are null-terminated.
R=vogelheim@chromium.org

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

Patch from André Baixo <baixo@google.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 16:56:49 +00:00
verwaest@chromium.org
fa70f154b7 Remove dead code from LookupResult
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 16:32:51 +00:00
titzer@chromium.org
9a9f95f4e4 Try again to fix Win32.
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 16:23:37 +00:00
titzer@chromium.org
dbe2a0665b Fix win32.
TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 15:35:26 +00:00
titzer@chromium.org
6bbf6c5cb0 Schedule floating control.
This CL makes several changes to the scheduling algorithm to handle control
flow that is not connected to End. Such control nodes constitute "floating
control islands" that must be linearized by the schedule. This is done
by considering such nodes to be schedulable, and then editing the control
dependencies after a first pass of scheduling. Then a subsequent pass of
scheduling will place all nodes correctly into the fully connected graph.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 15:25:07 +00:00
mstarzinger@chromium.org
ecca77ce76 Move context specialization flag into CompilationInfo.
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 15:17:57 +00:00
mvstanton@chromium.org
d8b48c0a1d Minor-key-ify new LoadICTrampolineStub.
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 14:56:35 +00:00
titzer@chromium.org
a4cdbfc43a Use an enum of Flags internally in CompilationInfo.
This is a first step in cleaning up CompilationInfo; a subsequent logical step
would be to inline most is_* and Set* and Mark* calls so that most callers
can use call info.SetFlag(CompilationInfo::kMyFlag), or at the very least,
rename them all to be consistent with their enum flag names.

R=yangguo@chromium.org, bmeuer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 14:41:58 +00:00
ulan@chromium.org
102b3bdad4 Fix ASAN after r23404.
TBR=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 14:35:54 +00:00
mvstanton@chromium.org
5becf4b20d Compilation fix.
Unnecessary assert irritated builder.

TBR=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 14:26:10 +00:00
mvstanton@chromium.org
76e22ca629 Added vector-based loadic hydrogen stubs. Not yet callable.
The next step is to integrate the use of vector[slot] into the IC
infrastructure so it can do the right thing for a vector-based ic.
Then these stubs can be installed. For now, they immediately bail out
to the miss handler.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 14:12:47 +00:00
ulan@chromium.org
939f24b817 Handle empty allocation list in CodeRange properly.
BUG= 407566,v8:3540
LOG=Y
TEST=cctest/test-spaces/Regress3540
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:14:46 +00:00
yangguo@chromium.org
2e42f62981 Minor-key-ify CallICStub and CallIC_ArrayStub.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:10:01 +00:00
titzer@chromium.org
261b142fc0 Introduce subclass wrappers for STL containers that make them a lot easier
to use with Zone. For example, subclasses add constructors that wrap a Zone
in a zone_allocator to save clients this verbosity.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:09:08 +00:00
mstarzinger@chromium.org
88a842d628 Fix and re-enable test-api/InitializeAndDispose.
R=svenpanne@chromium.org
TEST=cctest/test-api/InitializeAndDispose

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:07:18 +00:00
loislo@chromium.org
7e6f653792 HeapProfiler: remove obsolete AddImplicitReferences
it hasn't been used since r149579. More than one year ago.

BUG=
R=marja@chromium.org, yurys@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:05:54 +00:00
verwaest@chromium.org
5164b9a473 Delete unused DescriptorArray::Append with whitenesswitness
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 13:01:55 +00:00
verwaest@chromium.org
2a37ab79ad Fixed inlining of constant values
Use CopyToRepresentation to elide HForceRepresentation of HConstant

BUG=v8:3529
LOG=y
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 11:34:25 +00:00
machenbach@chromium.org
f5af44f44f [Auto-roll] Bump up version to 3.29.18.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 11:04:37 +00:00
vogelheim@chromium.org
c53097a632 Fix memory leak. Make "V8 Linux - memcheck" build bot happy.
Flags::SetFlagsFromCommandLine allocates memory to hold copies of string
arguments when calling Flag::set_string_value(..., true) and presently
noone deallocates this. Resetting the flags will clear this memory.
Since Flags can be used throughout the entire V8 lifetime,
Dispose/Teardown seems like the right location to free this
memory.

This is rarely a problem in practice, but the memcheck buildbot (rightly)
complains.

BUG=
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 11:00:57 +00:00
yangguo@chromium.org
a6e503ad92 Change more PlatformCodeStubs to encode properties in the minor key.
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 10:39:20 +00:00
bmeurer@chromium.org
630a8a7038 Next attempt to fix NaCl build.
TBR=yangguo@chromium.org

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 10:29:51 +00:00
mvstanton@chromium.org
295448a4ea Move register conventions out of the IC classes.
A change to a convention shouldn't require recompilation of ic.h/.cc.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:50:09 +00:00
bmeurer@chromium.org
6ef5474c49 Fix build with ancient NaCl toolchain.
TBR=yanggou@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:48:46 +00:00
bmeurer@chromium.org
90c8932596 Replace our homegrown ARRAY_SIZE() with Chrome's arraysize().
Our own ARRAY_SIZE() was pretty bad at error checking. If you use
arrasize() in a wrong way, the compiler will issue an error instead of
silently doing the wrong thing. The previous ARRAY_SIZE() macro is still
available as ARRAYSIZE_UNSAFE() similar to Chrome.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 09:19:24 +00:00
bmeurer@chromium.org
279d74d3cf [turbofan] Get rid of DefineAsDoubleRegister() and friends.
TEST=compiler-unittests,cctest,mjsunit
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 08:30:18 +00:00
bmeurer@chromium.org
3e188ace5c [turbofan] Add backend support for load/store float32 values.
This is the bare minimum required to support typed arrays. Support for
working with float32 values will be added based on this.

TEST=compiler-unittests,cctest
R=svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 08:29:12 +00:00
weiliang.lin@intel.com
beec274d40 X87: Eliminate code duplication in lithium calls to vector-based LoadICs
port r23359.

original commit message:
  Eliminate code duplication in lithium calls to vector-based LoadICs

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 06:16:14 +00:00
weiliang.lin@intel.com
b5972802b1 X87: Move "slow handler" compiler code to handler-compiler
port r23347.

original commit message:

 Move "slow handler" compiler code to handler-compiler

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 05:25:36 +00:00
weiliang.lin@intel.com
8681a11022 X87: Move handler compilers to handler-compiler
port r23346.

original commit message:
  Move handler compilers to handler-compiler

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-26 03:56:24 +00:00
balazs.kilvady@imgtec.com
62c53bcedd MIPS: Eliminate code duplication in lithium calls to vector-based LoadICs.
Port r23359 (2e682e9)

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 18:25:58 +00:00
balazs.kilvady@imgtec.com
0a67c5b85b MIPS: Encode CEntryStub properties in the minor key.
Port r23355 (1be1443)

Original commit message:
Eventually, all stubs should encode its properties in the minor key
so that stubs can be restored directly from the stub key.

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 18:07:09 +00:00
mstarzinger@chromium.org
0bf838456f Fix continue statements within for-in loops.
R=titzer@chromium.org
TEST=cctest/test-run-jsbranches/ForInContinueStatement
BUG=v8:3522
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 16:32:35 +00:00
balazs.kilvady@imgtec.com
d69d25d759 MIPS: Move "slow handler" compiler code to handler-compiler.
Port r23347 (e4cba22)

BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 16:15:50 +00:00
vegorov@chromium.org
f42f4b6490 Move kGroupCount out of DependencyGroup enum.
BUG=
R=svenpanne@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 15:41:09 +00:00
mvstanton@chromium.org
983aa69aa1 Introduce two new symbols for vector based ICs.
Vector based load ics need a premonomorphic and generic symbol.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 15:17:06 +00:00
balazs.kilvady@imgtec.com
22d9cd21a9 MIPS: Move handler compilers to handler-compiler.
Port r23346 (fd75a28)

BUG=
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 15:15:26 +00:00
jarin@chromium.org
fe20b89e68 Fix int comparison with vector::size.
TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 15:00:35 +00:00
yangguo@chromium.org
a53b7ff6b3 Use correct BitField arguments in CEntryStub.
R=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 14:44:06 +00:00
jarin@chromium.org
d90290bdae Revert a mistake in Node::CollectProjections.
Fix for a bug I introduced in r23270.

BUG=
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 14:28:15 +00:00
mvstanton@chromium.org
40d581f7f1 Eliminate code duplication in lithium calls to vector-based LoadICs
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 14:12:12 +00:00
yangguo@chromium.org
fb2ac081f5 Correctly return value. Fix for r23355.
TBR=vogelheim@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 13:47:14 +00:00
yangguo@chromium.org
899fe964ad Encode CEntryStub properties in the minor key.
Eventually, all stubs should encode its properties in the minor key
so that stubs can be restored directly from the stub key.

R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23355 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 13:09:02 +00:00
mstarzinger@chromium.org
9fcbeb4a8e Bring back test coverage for baseline TurboFan.
R=sigurds@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 13:07:09 +00:00
weiliang.lin@intel.com
c69a9409a0 X87: Move PropertyAccessCompiler and CallOptimization to their own files
port r23320.

orginal commit message:

  Move PropertyAccessCompiler and CallOptimization to their own files

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 12:40:11 +00:00
paul.lind@imgtec.com
d650d9995f MIPS: Add owners files to src/ic/mips*
Also remove old addresses from owners files.

BUG=
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 12:26:44 +00:00
verwaest@chromium.org
46ac7c2cc1 Remove HolderIsNonGlobalHiddenPrototype since OWN* now also checks globals
BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 11:47:31 +00:00
balazs.kilvady@imgtec.com
be0d658d61 MIPS: Move PropertyAccessCompiler and CallOptimization to their own files.
Port r23320 (ae06749)

BUG=
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 11:35:22 +00:00
verwaest@chromium.org
01cfeb1205 Clean up LookupIterator::Configuration naming
BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 11:34:43 +00:00
verwaest@chromium.org
79b539877e Minor LookupIterator cleanups
BUG=
R=mvstanton@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 11:31:38 +00:00
verwaest@chromium.org
e6995a01f4 Move "slow handler" compiler code to handler-compiler
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 11:20:43 +00:00
verwaest@chromium.org
2803733a3b Move handler compilers to handler-compiler
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 11:17:37 +00:00
bmeurer@chromium.org
66dd869980 [turbofan] Add backend support for signed loads.
Also rename the arch opcodes to match their native counterparts.

TEST=compiler-unittests,cctest
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 10:35:38 +00:00
weiliang.lin@intel.com
e6a8544a6b X87: Remove KeyedStoreIC::GenerateRuntimeSetProperty and move Store::GenerateRuntimeSetProperty to the PropertyICCompiler
port r23311.

original commit message:
  Remove KeyedStoreIC::GenerateRuntimeSetProperty and move Store::GenerateRuntimeSetProperty to the PropertyICCompiler

x

BUG=
R=verwaest@chromium.org, weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:57:11 +00:00
balazs.kilvady@imgtec.com
aff1fefe1d MIPS: Remove KeyedStoreIC::GenerateRuntimeSetProperty and move Store::GenerateRuntimeSetProperty to the PropertyICCompiler.
Port r23311 (654ca86)

BUG=
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:55:41 +00:00
weiliang.lin@intel.com
7db82e0de4 X87: Add owners files to src/ic/x87/
BUG=
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:52:21 +00:00
wingo@igalia.com
32d9aea9d8 Arguments object has @@iterator
R=arv@chromium.org, verwaest@chromium.org, rossberg@chromium.org
BUG=v8:3391
LOG=N
TEST=mjsunit/harmony/arguments-iterator.js

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:12:22 +00:00
balazs.kilvady@imgtec.com
1cdd7f5074 MIPS: Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler.
Port r23306 (b95f295)

BUG=
R=paul.lind@imgtec.com, verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:09:25 +00:00
weiliang.lin@intel.com
d171b9d535 x87: Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler
port r23306.

original commit message:
   Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler.

BUG=
R=verwaest@chromium.org, weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 09:00:04 +00:00
aandrey@chromium.org
6190ac0882 Expose Value::IsMap, IsSet, IsWeakMap, IsWeakSet in V8 API.
These checks will be needed for DevTools.

R=yangguo@chromium.org, svenpanne@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 08:56:31 +00:00
yangguo@chromium.org
b0e2cb14fa Remove mention of RegExp.$input
R=yangguo@chromium.org, arv@chromium.org
BUG=v8:3486
LOG=N

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

Patch from Mathias Bynens <mathias@qiwi.be>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 07:48:58 +00:00
yangguo@chromium.org
8357e02f3c Fix GC mole warning.
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 07:04:21 +00:00
jarin@chromium.org
d8295050d2 Fix deoptimization address patching in Turbofan to use safepoints.
Since the deopt patch address needs to be available during GC to
resolve safepoints, we need to move it to the code object (instead of
the deoptimization input data) - accessing a separate fixed array
is not safe during GC. This CL adds a deoptimization_pc field to
each safepoint. The fields points to the deoptimization block.

The CL also fixes wrong register allocator constraints for
frame states on calls. These should always live on the stack
because registers are not preserved during a call.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 07:02:19 +00:00
yangguo@chromium.org
3a1c55590f Correctly forward-declare inline function headers in generic-node.h
R=bmeurer@chromium.org, jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 06:57:13 +00:00
bmeurer@chromium.org
e9ac0fe7c8 Rename CountSetBits32 to CountPopulation32 for consistency.
R=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-25 04:24:39 +00:00
machenbach@chromium.org
2299242dd1 Revert "Enable out-of-line constant pool for Arm."
This reverts commit r23323 for letting arm timeout.

Bisect build without the CL:
http://build.chromium.org/p/client.v8/builders/V8%20Arm/builds/94

Build with the CL:
http://build.chromium.org/p/client.v8/builders/V8%20Arm/builds/95

TBR=rmcilroy@chromium.org, ulan@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-23 18:38:37 +00:00
rmcilroy@chromium.org
9133df88de Enable out-of-line constant pool for Arm.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 15:18:41 +00:00
arv@chromium.org
74a0d0f373 Fix issue with numeric property names
We were not correctly treating 1.0 as 1, nor 1.20 as 1.2 in accessors.

BUG=v8:3507
LOG=Y
R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23321 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 14:40:38 +00:00
verwaest@chromium.org
50ea93c614 Move PropertyAccessCompiler and CallOptimization to their own files
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 14:36:54 +00:00
ulan@chromium.org
ac4c14eb73 First tests for GCIdleTimeHandler.
BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 13:26:29 +00:00
titzer@chromium.org
1addf58ed9 Fix win64 (size_t vs int in CHECK).
TBR=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 13:14:44 +00:00
ulan@chromium.org
39c83bfa08 Remove dependency on GCTrace from GCIdleTimeHandler.
This makes testing GCIdleTimeHandler easier.

BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 13:02:11 +00:00
yangguo@chromium.org
ba09fa35fd Handle null receiver in sloppy mode in %GetFrameDetails.
R=jarin@chromium.org
BUG=405922
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 12:55:23 +00:00
verwaest@chromium.org
d1a9559750 Remove KeyedStoreIC::GenerateRuntimeSetProperty and move Store::GenerateRuntimeSetProperty to the PropertyICCompiler
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 12:48:15 +00:00
titzer@chromium.org
1f9bd09f36 Add ScheduleVerifier.
This adds a series of checks to the output of scheduling, including properties
of the RPO order, the dominance relation, phi placement, and the SSA property
that definitions dominate all their uses.

R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23310 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 12:37:51 +00:00
hpayer@chromium.org
97c135fada Re-land "Add finalize sweeping event to GCIdleTimeHandler."
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 12:32:12 +00:00
verwaest@chromium.org
37bf29e7e2 Change return-type of SetDataProperty to Handle.
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:48:52 +00:00
verwaest@chromium.org
30c3981c2c Move IC code into a subdir and move ic-compilation related code from stub-cache into ic-compiler
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:43:39 +00:00
verwaest@chromium.org
3baab5e688 Rewrite StoreIC handling using the LookupIterator. Continued from patch 494153002
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:38:21 +00:00
yangguo@chromium.org
80cd0fbda5 Revert "Add finalize sweeping event to GCIdleTimeHandler."
This reverts r23302.

TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:36:23 +00:00
machenbach@chromium.org
33c4427d61 [Auto-roll] Bump up version to 3.29.15.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23303 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:34:13 +00:00
hpayer@chromium.org
92859d3c81 Add finalize sweeping event to GCIdleTimeHandler.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:14:17 +00:00
marja@chromium.org
77d06401ad Take ast node id counting away from Isolate.
When we're going to parse multiple scripts in parallel, we cannot have the
Isolate count the ast node ids.

Now the counter is stored in CompilationInfo instead. This is because we need to
add ast nodes after parsing too.

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 11:12:29 +00:00
ulan@chromium.org
62d9188d4c Reland part of r23285 "Start incremental marking in idle time handler only if it is worthwhile.""
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 09:18:10 +00:00
bmeurer@chromium.org
3193f59a39 [turbofan] Add support for change/truncate to MachineOperatorReducer.
TEST=compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 07:54:09 +00:00
jarin@chromium.org
8da0b4eca6 Couple more debugger tests working with Turbofan.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 07:44:18 +00:00
bmeurer@chromium.org
7cb564b580 [turbofan] Initial import of SimplifiedOperatorReducer.
TEST=compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-22 04:47:55 +00:00
machenbach@chromium.org
43feb7f644 Revert "Start incremental marking in idle time handler only if it is worthwhile."
This reverts commit r23285 for breaking cctest/test-api/Regress2107.

TBR=ulan@chromium.org, hpayer@chromium.org, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 19:55:27 +00:00
ulan@chromium.org
fbee2a9b33 Start incremental marking in idle time handler only if it is worthwhile.
BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 16:05:38 +00:00
arv@chromium.org
98f7b7e14a Add back the duplicate property checker
We're not quite ready to make this change.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 15:32:22 +00:00
hpayer@chromium.org
65c9c2a2dd Remove conservative sweeping.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23283 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 14:50:18 +00:00
ulan@chromium.org
53fdf75be1 Move idle notification handling to GCIdleTimeHandler.
BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 14:42:22 +00:00
machenbach@chromium.org
758dd167f7 [Auto-roll] Bump up version to 3.29.13.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23280 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 14:04:12 +00:00
rmcilroy@chromium.org
2934927450 Fix unused-variable error on release builds.
TBR=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 13:50:13 +00:00
rmcilroy@chromium.org
5dee3e0e2e Add ARMv6 support for the out-of-line constant pool.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 13:26:47 +00:00
Jacob.Bramley@arm.com
64eae3fc3c ARM64: Slightly simplify LShiftI and LShiftS.
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 13:22:18 +00:00
rmcilroy@chromium.org
37d886bc09 Add missing ConstantPoolUnavailableScopes on JS return.
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23276 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:59:18 +00:00
sigurds@chromium.org
dd3c097123 Reland "Load global object and builtins from activation."
Reland fixes:
Don't set string flags (doing so leaks memory).

Load closure from activation for building literals.

R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:40:10 +00:00
dslomov@chromium.org
22d5ceb1f2 Implement Function.prototype.toMethod.
R=arv@chromium.org, verwaest@chromium.org
BUG=v8:3330
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:39:33 +00:00
wingo@igalia.com
edfd4cdd33 Stage ES6 generators
R=dslomov@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:06:25 +00:00
bmeurer@chromium.org
e030b76f9b Fix clang/win build.
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 12:02:24 +00:00
jarin@chromium.org
e5081792f9 Initial support for debugger frame state in Turbofan.
Bunch of changes were necessary:
- refactor attaching the frame states/lazy bailouts in AstGraphBuilder
  (essentialy reland of r23096),
- attaching frame state to some JS nodes in a similar way to attaching
  context (this is quite ugly and we should take another look at this),
- new bailout point for the debugger statement,
- register allocation constraints for the frame states,
- generating translations and deopt entries, attaching them to
  safepoints,
- enabled one mjsunit test for debugger state that uses the generated
  frame state.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 11:56:46 +00:00
wingo@igalia.com
558a05bfcf Fix symbol-named function template properties in the API
Thanks to Yutaka Hirano <yhirano@chromium.org> for finding the bug and
providing the test case.

R=rossberg@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 11:55:46 +00:00
commit-bot@chromium.org
c360d8d114 MSan: mark any memory allocated from the JS heap as uninitialized.
BUG=chromium:403409,chromium:178409
R=jkummerow@chromium.org
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 09:35:59 +00:00
verwaest@chromium.org
ef0068558a Rename IsDontDelete to IsConfigurable (and invert conditions)
BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 09:34:47 +00:00
marja@chromium.org
ad3a1a99d3 Refactor parser Checkpoints.
Why this is better:

1) Not needing an extra template parameter for Checkpoints ctors. This was
especially confusing since the template parameter was named Parser and Parser is
also used as a type name and is also a concrete type. This CL makes it clear
that ParserTraits::Checkpoint is consturcted with ParserBase<ParserTraits> -
that's the only sensemaking type for the ctor param anyway.

2) This CL makes ParserBase define a Checkpoint base class (which knows how
to create and restore a checkpoint with ParserBase) which
PreParserTraits::Checkpoint and ParserTraits::Checkpoint inherit, and not the
other way around.

This is a more intuitive way to implement the "base functionality + extending
it" concept than the previous solution. The previous solution was to allow
Traits to define a Checkpoint class and make ParserBase<Traits>::ParserCheckpoint
(which defines the base functionality) inherit from it.

3) This CL moves the Checkpoint class definitions out of the SomeTraits::Type
struct; SomeTraits::Type is supposed to be a collection of typedefs and not
contain anything else.

Checkpoints were introduced in r22925 ( https://codereview.chromium.org/443903003 ).

BUG=
R=wingo@igalia.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 09:22:08 +00:00
verwaest@chromium.org
41d25b7901 Indirect LookupResult accesses over PropertyAccessInfo
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 08:37:59 +00:00
verwaest@chromium.org
2d2396a8a8 Get rid of all non-IC uses of LookupOwnRealNamedProperty
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 08:26:42 +00:00
verwaest@chromium.org
49e4aebb98 Remove last LookupOwnRealNamedProperty usage from runtime.cc
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 08:19:05 +00:00
verwaest@chromium.org
e4c3c439af Get rid of the NONEXISTENT PropertyType
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 08:16:06 +00:00
machenbach@chromium.org
73d62aed62 [Auto-roll] Bump up version to 3.29.12.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 07:34:11 +00:00
bmeurer@chromium.org
0142786cea Don't inline Array.shift() if receiver map is not extensible.
TEST=mjsunit/regress/regress-crbug-405517
BUG=405517
LOG=y
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23255 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-21 06:23:44 +00:00
dslomov@chromium.org
93489e7695 Make all global private symbols own symbols.
R=arv@chromium.org, rossberg@chromium.org, wingo@igalia.com, yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 19:21:56 +00:00
verwaest@chromium.org
b29040a3f6 Get rid of last non-JSReceiver::Lookup usage of LookupOwn
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 16:25:40 +00:00
arv@chromium.org
88ee432497 Refactor ParseObjectLiteral
This extracts the parsing of the ObjectLiteralProperty into its own
function. This is in preparation for adding support for parsing classes.

BUG=None
LOG=Y
R=dslomov@chromium.org, marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 15:51:07 +00:00
hpayer@chromium.org
72ffc42d04 Use size_t in GCIdleTimeHandler to fix undefined behaviour.
BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23248 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 15:37:43 +00:00
wingo@igalia.com
e929f5fe43 Support symbol-named properties in API
Add new "Name" type to API that is a supertype of Symbol and String.

Object::SetDeclaredAccessor, Object::SetAccessorProperty, Template::Set,
Template::SetAccessorProperty, and Template::SetDeclaredAccessor now
take a Name as the property name instead of a String.

Add Object::SetAccessor, Template::SetNativeDataProperty, and
ObjectTemplate::SetAccessor overloads that can define accessors for
symbol-named properties.

R=dcarney@chromium.org, rossberg@chromium.org
BUG=v8:3394
TEST=cctest/test-api/TestSymbolProperties
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 15:25:13 +00:00
verwaest@chromium.org
21b9394c41 Further reduce LookupResult usage
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 15:08:20 +00:00
rmcilroy@chromium.org
9c908bc011 Change size of old pointer space first page back to 112KB (as it was before r23241)
This broke ReleaseOverReservedPages on Windows ia32.

TBR=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 15:04:22 +00:00
Jacob.Bramley@arm.com
da48f1246c ARM64: Fix SHR logic error.
The `right == 0` checks only worked for `0 <= right < 32`. This patch
replaces the checks with simple tests for negative results.

The attached test can detect this error, but the test relies on a broken
flag (--noopt-safe-uint32-operations), so it is skipped for now. See
issue 3487 for details.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:58:18 +00:00
rmcilroy@chromium.org
ae1a838592 Add serializer support for builtins pointed by inner pointer and root objects pointed to by code for the out-of-line constant pool.
This is required for test-serialize tests which fail at the DCHECK on L1874 of serialize.cc otherwise.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:41:53 +00:00
rmcilroy@chromium.org
d62b71e97c Modify SizeOfFirstPage to take ool constant pool into account.
The OOL constant pool places constants in the old pointer space rather than the code space
which makes test-heap/ReleaseOverReservedPages fail. Modify SizeOfFirstPage to
increase the initial size of old-pointer space by the size of the constant pool and
decrease the code space by a corresponding amount.

R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:40:53 +00:00
verwaest@chromium.org
16c2c72ade Delete dead GetType from elements accessors
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:26:02 +00:00
arv@chromium.org
cfdfbb885e ES6: Duplicate properties are no longer an error
This removes the duplicate property checker and updates the tests.

BUG=v8:3498
LOG=Y
R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23239 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:25:48 +00:00
yangguo@chromium.org
930e5ccc3e Implement Math.expm1 using port from fdlibm.
R=rtoy@chromium.org
BUG=v8:3479
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23238 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:24:07 +00:00
ulan@chromium.org
63134745b4 Fix EstimateMarkingStepSizeTest.
R=wingo@igalia.com
TBR=hpayer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:20:59 +00:00
verwaest@chromium.org
10d53f121e Restore CHECK_DERIVED_PROPERTY
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 14:16:28 +00:00
verwaest@chromium.org
4acf44d759 Return empty handle if GetPropertyByLookup has no result.
BUG=
R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 13:52:49 +00:00
sigurds@chromium.org
566cdc3bcd Reland "Add initial support for inlining."
Reland Fixes:
* Remove usage of C++11 vector members.
* Guard tests by V8_TURBO_TARGET.

Changes:
* Make context specialization clean up after itself.
* Add UpdateToAndIncrement to Inputs::iterator.
  Uses:iterator already provides this member function.
* Allow next node id in graph to be set.

R=titzer@chromium.org, mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 13:05:03 +00:00
bmeurer@chromium.org
b15a082d56 Fix implementation of bit count functions.
The bit counting functions provided by CompilerIntrinsics were undefined
for zero, which was easily overlooked and unsafe in general. Also their
implementation was kinda hacky and mostly untested. Fixed the
implementation and moved the functions to base/bits.h.

TEST=base-unittests,cctest,compiler-unittests,mjsunit
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 12:10:41 +00:00
yangguo@chromium.org
f7947b8ec4 Fix --expose-debug-as with number as argument.
R=jkummerow@chromium.org
BUG=405491
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 11:52:22 +00:00
yangguo@chromium.org
5832ab8501 Expose function CheckDebugBreak in the debugger api
API=v8::Debug::CheckDebugBreak
LOG=Y
R=aandrey@chromium.org, vsevik@chromium.org, yurys@chromium.org

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

Patch from Sergei Vasilinetc <sergeyv@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 11:04:05 +00:00
verwaest@chromium.org
26d72d5024 Get rid of GetLazyValue and clients.
This breaks fetching name of the constructor property of "Object"-labeled values in the heap-snapshot-generator until that's handlified and can be moved over to the LookupIterator.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 10:37:23 +00:00
hpayer@chromium.org
1605474d70 Use actual incremental marking throughput in IdleNotification to estimate marking step size.
BUG=
R=jochen@chromium.org, ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 10:33:03 +00:00
yangguo@chromium.org
b4a35fe7e5 Remove RegExp.$input.
R=arv@chromium.org, mathiasb@opera.com
BUG=v8:3486
LOG=Y

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 09:43:00 +00:00
bmeurer@chromium.org
9a5e8d4e01 Fix windows test runner.
TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 09:38:53 +00:00
m.m.capewell@googlemail.com
a8b09acd7b [turbofan] Add ARM64 tests and fix shift bug
Add more tests for logical immediate and shift instruction selection, and fix bug in range for supported shifts.

BUG=
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 09:25:30 +00:00
bmeurer@chromium.org
98293ab8d2 [turbofan] Add support for Finish to the InstructionSelector.
Also fix an off-by-one bug in the handling of Parameter nodes, and
improve test coverage for pointer map computation.

TEST=compiler-unittest
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23219 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 09:16:30 +00:00
titzer@chromium.org
5187e0fbca Refactor Scheduler to simplify construction of CFG from sea of nodes. Use PreEdge/Post as part of the graph tarversal, and make finding of successor projections more robust.
R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 08:56:57 +00:00
bmeurer@chromium.org
fa3dc0a534 [turbofan] Add support for ChangeTaggedToUint32 in ChangeLowering.
Also refactor some common code in ChangeLowering.

TEST=cctest,compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23216 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 08:13:00 +00:00
bmeurer@chromium.org
7c36df7b03 [turbofan] Add support for ChangeUint32ToTagged in ChangeLowering.
TEST=compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 04:01:36 +00:00
bmeurer@chromium.org
37058c1413 [turbofan] Add TruncateFloat64ToInt32 machine operator.
Fix ChangeLowering to use TruncateFloat64ToInt32.

TEST=cctest,compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-20 04:01:00 +00:00
verwaest@chromium.org
597123b8cd Get rid of last non-storeic use of JSReceiver::Lookup
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 17:04:23 +00:00
verwaest@chromium.org
1a8bed477e Use LookupIterator to transition to accessors
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 17:02:04 +00:00
sigurds@chromium.org
ae41c7e4a5 Revert "Load global object and builtins from activation."
This reverts commit r23205.

Setting string-type flags in unit tests is not a good idea.

TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 16:07:15 +00:00
verwaest@chromium.org
f47ff8f1da Remove unnecessary LookupIterator instantiation
BUG=
R=aandrey@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 16:07:05 +00:00
dslomov@chromium.org
21b95cc356 Pass allow_classes to reusable_preparser
R=arv@chromium.org, marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 15:42:47 +00:00
sigurds@chromium.org
e07c82baf2 Load global object and builtins from activation.
BUG=
R=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 15:16:23 +00:00
arv@chromium.org
8d189e84b4 ES6: Make sure we do not store -0 as the key in Map/Set
BUG=v8:3515
LOG=Y
R=adamk@chromium.org, dslomov@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 15:15:41 +00:00
verwaest@chromium.org
f268f02092 Get rid of LookupRealNamedProperty and LookupRealNamedPropertyInPrototypes and update clients
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 14:58:41 +00:00
verwaest@chromium.org
6b4f2a130f Use LookupIterator (and rewrite) DebugLookupResultValue and clients
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 14:55:47 +00:00
machenbach@chromium.org
b4cfc96ab9 [Auto-roll] Bump up version to 3.29.8.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 14:34:12 +00:00
Jacob.Bramley@arm.com
dabb34b28b ARM64: Remove ToOperand32I and ToOperand32U.
These were front-ends to ToOperand32, to specify sign-extension.
However, since r22148, bits 63-32 are ignored for 32-bit operations
anyway, so there's no need for the caller to be explicit.

BUG=
R=ulan@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 13:32:24 +00:00
sigurds@chromium.org
b488b2ed29 Revert "Add initial support for inlining."
This reverts commit r23197.

TBR=titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:48:44 +00:00
sigurds@chromium.org
4b943f35cf Add initial support for inlining.
* Add stack depth checking to function tester.
* Make context specialization clean up after itself.
* Add UpdateToAndIncrement to Inputs::iterator.
  Uses:iterator already provides this member function.
* Allow next node id in graph to be set.

R=mstarzinger@chromium.org, titzer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:23:19 +00:00
rossberg@chromium.org
8394975ec7 Expose well-known Symbols to C++ API.
BUG=341423
LOG=Y
R=arv@chromium.org, dcarney@chromium.org, rossberg@chromium.org

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

Patch from Yutaka Hirano <yhirano@chromium.org>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23196 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:08:46 +00:00
ulan@chromium.org
ed668b8f2c Trace scavenger throughput.
BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 12:07:59 +00:00
rossberg@chromium.org
30af557955 Implement ES6 Array.of()
BUG=v8:3427
LOG=N
R=rossberg@chromium.org

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

Patch from Diego Pino <dpino@igalia.com>.

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 11:38:38 +00:00
vegorov@chromium.org
948a0dea44 When marking dependent code for deoptimization print the group that is being deoptimized.
Otherwise it is impossible to figure out from the --trace-deoptimization output what is going on.

R=yangguo@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 10:56:49 +00:00
bmeurer@chromium.org
7068a4ea6b Fix types for SimplifiedLowering.
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 09:17:00 +00:00
yangguo@chromium.org
5f5f8e6724 Make internalized string parser in JSON.parse GC-safe
SubStringKey::AsHandle is not GC-safe because the string backing store
may move.

R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 08:53:38 +00:00
bmeurer@chromium.org
cf51230881 [turbofan] Add proper conversion operators for int32<->int64.
This affects arm64 and x64. Note that we do not yet optimize
these conversions. Later we will add support for merging these
conversion operators into other operations during instruction
selection.

TEST=cctest,compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 08:48:41 +00:00
hpayer@chromium.org
91599ffc6c Do not install fillers when right trimming large objects.
BUG=
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 08:35:39 +00:00
yangguo@chromium.org
3527f40b7e Reorder native javascript files.
R=verwaest@chromium.org
BUG=403717
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 08:29:48 +00:00
verwaest@chromium.org
5598348272 Revert "Get rid of dead version of GetNormalizedProperty"
(Doh, landed too early)

R=jkummerow@chromium.org

BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 08:14:01 +00:00
machenbach@chromium.org
328cdd1106 [Auto-roll] Bump up version to 3.29.7.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 07:34:18 +00:00
verwaest@chromium.org
c70ca1344a Get rid of dead version of GetNormalizedProperty
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 07:09:41 +00:00
weiliang.lin@intel.com
3170fbb305 X87: Use LookupIterator for CompileLoadInterceptor and delete Object::Lookup
port r23168.

original commit message:

 Use LookupIterator for CompileLoadInterceptor and delete Object::Lookup

BUG=
R=weiliang.lin@intel.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 04:56:54 +00:00
bmeurer@chromium.org
936d7218b4 [turbofan] Support lowering of ChangeFloat64ToTagged/ChangeTaggedToInt32.
Adds new ValueEffect operator to ensure proper scheduling of
AllocateHeapNumber call nodes.

Also includes some refactoring to reduce code duplication.

TEST=compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-19 04:54:06 +00:00
akos.palfi@imgtec.com
37ce51e0e5 MIPS: Use LookupIterator for CompileLoadInterceptor and delete Object::Lookup.
Port r23168 (d860963)

BUG=
R=akos.palfi@imgtec.com

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 19:37:49 +00:00
machenbach@chromium.org
75ba5e0561 [Auto-roll] Bump up version to 3.29.6.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 17:34:11 +00:00
verwaest@chromium.org
92e3d3c85c Add temporary hack compatible with old delete behavior so we can roll into blink. We'll need to update the broken test.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 16:52:23 +00:00
verwaest@chromium.org
84591db11a Use LookupIterator in SetAccessor / DefineAccessor and remove "search_hidden_prototypes" from LookupOwn
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23169 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 15:08:14 +00:00
verwaest@chromium.org
604031af8b Use LookupIterator for CompileLoadInterceptor and delete Object::Lookup
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23168 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 15:03:13 +00:00
verwaest@chromium.org
109db3ca12 Rename the configuration flags of the LookupIterator
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 14:59:04 +00:00
verwaest@chromium.org
6867595ce7 Rewrite DeleteProperty using the LookupIterator
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 14:46:38 +00:00
verwaest@chromium.org
41a970c5e7 Always assume SetOwnPropertyIgnoreAttributes to be CERTAINLY_NOT_FROM_KEYED
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 14:38:44 +00:00
verwaest@chromium.org
e1575f8369 Remove the extensibility flag. Instead just rely on hidden_string as indication.
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 14:27:24 +00:00
verwaest@chromium.org
e61f727705 Rewriting SetOwnPropertyIgnoreAttributes using the LookupIterator
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 14:26:30 +00:00
machenbach@chromium.org
d0fc03b5ce [Auto-roll] Bump up version to 3.29.5.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 14:04:11 +00:00
titzer@chromium.org
5281cbebca Finish TODO in Schedule. s/entry/start/g and s/exit/end/g to be more regular.
R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 13:28:10 +00:00
titzer@chromium.org
849a226d38 Move some methods from OperatorProperties into Scheduler that are only related to scheduling. Now these methods take a Node* parameter, as decisions relating floating control need distinguish not just operators but nodes.
R=bmeurer@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 13:09:06 +00:00
dslomov@chromium.org
65ae6e92ab Parse 'super' keyword.
BUG=v8:3330
LOG=N
R=arv@chromium.org, marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 12:35:34 +00:00
bmeurer@chromium.org
d9fe1e71c3 [turbofan] Add new ControlEffect and Finish operators.
Fix the ChangeLowering to properly use ControlEffect nodes
to turn the control output of IfTrue nodes into an effect
input for the Load nodes, and to properly use Finish nodes
to ensure that allocation and store were both performed
prior to actually using the allocated heap number.

TEST=compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23149 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 11:36:06 +00:00
bmeurer@chromium.org
e4db78e705 [arm] Recognize comparisons of shifts with zero.
For example, recognize

  0 == r1 << r2

and generate a single

  MOVS rt, r1, lsl r2

instruction.

TEST=cctest,compiler-unittests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 11:10:01 +00:00
machenbach@chromium.org
8da9f23d44 [Auto-roll] Bump up version to 3.29.4.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 09:34:17 +00:00
bmeurer@chromium.org
0664127dba Work-around weird GCC 4.6 linker issue with SmiTagging template.
TBR=rossberg@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 09:12:12 +00:00
titzer@chromium.org
ee8b9805b5 Remove dead data structure in Scheduler.
R=jarin@chromium.org
BUG=

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 08:59:55 +00:00
jkummerow@chromium.org
dacca11cb9 Correctly handle holes when concat()ing double arrays
BUG=chromium:403409
LOG=y
R=verwaest@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 08:51:35 +00:00
yangguo@chromium.org
cf75a0b6e6 Fix PromiseHasRejectHandler.
The odd-numbered items in the queue are deferred objects, not promises.

R=aandrey@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 08:43:11 +00:00
yangguo@chromium.org
84edfa3d0c Purge unused internalized string accessors.
R=marja@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 07:54:19 +00:00
bmeurer@chromium.org
d32fa64d33 Refactor ChangeLowering class to avoid template specialization.
Also refactor the unit tests and add support to easily
match DAGs using CaptureEq() matcher.

TEST=compiler-unittests
BUG=v8:3489
LOG=n
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-18 06:54:07 +00:00
machenbach@chromium.org
e5a24048f6 [Auto-roll] Bump up version to 3.29.3.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-16 21:34:13 +00:00
jarin@chromium.org
bf5114736c During graph scheduling, traverse the roots in one go.
This makes the scheduler more than 30x faster on zlib.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23137 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-16 18:58:13 +00:00
machenbach@chromium.org
f32b9ca516 [Auto-roll] Bump up version to 3.29.2.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-15 17:04:18 +00:00
rmcilroy@chromium.org
ee26e273cb [turbofan]: Fix TurboFan for out-of-line constant pool on Arm.
Use LeaveFrame so that the constant pool pointer register is correctly restored
when using the out-of-line constant pool.  Also clean up duplicate code in
builtins-arm.cc.

R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-15 14:35:00 +00:00
machenbach@chromium.org
10b0c6d36a [Auto-roll] Bump up version to 3.29.1.0
TBR=machenbach@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 15:34:12 +00:00
dusan.milosavljevic@imgtec.com
6dee88849a MIPS: Fix deoptimization entry table when branch cannot reach.
This fixes failures when table has more than 8192 entries, and preserves
optimization to have 2 instructions per entry.

TEST=mozilla/regress-398085-01
BUG=
R=paul.lind@imgtec.com

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 15:23:01 +00:00
verwaest@chromium.org
5bbb3a236d Rewrite GetAccessor using the LookupIterator
BUG=
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 13:02:49 +00:00
mstarzinger@chromium.org
3adac582b0 Deprecate LoweringBuilder in favor of Reducer.
R=bmeurer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 12:24:37 +00:00
dslomov@chromium.org
eebb61a3f9 Fix OrderedHashTabelIterator accessors.
They might be undefined for uninitialized iterators.
The rest of the code is ready for this eventuality.

R=arv@chromium.org, adamk@chromium.org
BUG=403292
LOG=N

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 10:24:19 +00:00
bmeurer@chromium.org
bf56be001e Really fix windows now.
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:31:52 +00:00
bmeurer@chromium.org
964ec21e53 Fix MSVC build.
And while we are at it, use the stupid MSVC compiler intrinsics.

TEST=base-unittests/BitTest
TBR=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:24:40 +00:00
titzer@chromium.org
9803a72417 Unify MachineType and RepType.
MachineType now tracks both the representation and the value type of machine quantities and is used uniformly throughout TurboFan.

These types can now express uint8, int8, uint16, and int16, i.e. signed and unsigned smallish integers. Note that currently only uint8 and uint16 are implemented in the TF backends.

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

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:19:54 +00:00
bmeurer@chromium.org
ae7d781d8b [turbofan] Introduce WordRor machine operator.
Move recognition of rotate-right operations to the
MachineOperatorReducer, so we don't need to repeat that in the
InstructionSelector for every backend.

TEST=base-unittests,compiler-unittests,cctests
R=jarin@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:07:58 +00:00
jochen@chromium.org
d9e671b5e4 Fast-forward version number on bleeding_edge to 3.29.0
BUG=none
LOG=n
R=jkummerow@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 09:05:28 +00:00
jochen@chromium.org
2de0692a6e Revert 23058 - "Allow externalizing cons and sliced string."
Reason for revert: broke inspector

| Fulfill overdue TODO.
|
| R=mstarzinger@chromium.org
|
| Review URL: https://codereview.chromium.org/460643002

TBR=yangguo@chromium.org,mstarzinger@chromium.org
BUG=403521
LOG=n

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 08:40:11 +00:00
jarin@chromium.org
18a10e3482 Fix pointer iteration for maps.
BUG=
R=hpayer@chromium.org

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

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-08-14 07:41:33 +00:00