platform/upstream/v8.git
11 years agoUse BitVector instead of handcrafted SparseSet.
bmeurer@chromium.org [Tue, 16 Jul 2013 07:07:04 +0000 (07:07 +0000)]
Use BitVector instead of handcrafted SparseSet.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years ago[Object.observe] Lazily allocate callbackInfo structure
adamk@chromium.org [Mon, 15 Jul 2013 22:16:30 +0000 (22:16 +0000)]
[Object.observe] Lazily allocate callbackInfo structure

This patch allows callbacks to lazily allocate the InternalArray which is used to store pendingChangeRecords. This moves some of the expense of observation to the case where changes actually occurred.

When there are no pendingChangeRecords, the callbackInfo structure is a number which is the callbacks priority. Whenever a changeRecord is enqueued to the callback, it "normalizes" to be an InternalArray with a priority property. Immediately before its changeRecords are delivered, it returns to its optimized state.

---
Note: Naming confusion resolved:

This patch corrects some naming confusion in object-observe.js. Previously, we used the terms "callback" and "observer" to mean roughly the same thing, and overloaded the term "observer" to be both the callback itself and the *registration* on a object to observe (which now includes an accept map).

This patch resolves this confusion:

"object" (objectInfo, objectInfoMap): This refers to the observed object and its structures

"callback" (callbackInfo, callbackInfoMap): This refers to the callback to whom change records may be delivered

"observer" (objectInfo.changeObservers): This refers to a registration to observe a given object by a given callback with the specified accept list.
---

R=rossberg@chromium.org

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

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMake deopt testing compatible with runtime optimization status queries.
machenbach@chromium.org [Mon, 15 Jul 2013 18:47:40 +0000 (18:47 +0000)]
Make deopt testing compatible with runtime optimization status queries.

When deopt testing is activated, a new status code will be returned by optimization status queries (status=maybe deopted).

This will make those tests work that test for 'not status=no', when performing deopt testing.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert r15649 and fix for loop dominator propagation in GVN.
hpayer@chromium.org [Mon, 15 Jul 2013 16:58:20 +0000 (16:58 +0000)]
Revert r15649 and fix for loop dominator propagation in GVN.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoDisable compiled_transitions by default.
bmeurer@chromium.org [Mon, 15 Jul 2013 16:56:32 +0000 (16:56 +0000)]
Disable compiled_transitions by default.

This was accidently re-enabled with r15674.

TBR=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMake optimizations for debug configurable with compile flag.
machenbach@chromium.org [Mon, 15 Jul 2013 16:33:06 +0000 (16:33 +0000)]
Make optimizations for debug configurable with compile flag.

To turn on optimizations for debug when building standalone, a compiler flag can be used:

make optdebug=on

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix gyp_v8 to work with use_system_icu=1
jochen@chromium.org [Mon, 15 Jul 2013 15:41:21 +0000 (15:41 +0000)]
Fix gyp_v8 to work with use_system_icu=1

If you want to use the system icu library, you'll need to use gyp_v8 (as
opposed to the standalone Makefiles)

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert 15635: Turn ElementsTransitionAndStore stub into a HydrogenCodeStub
danno@chromium.org [Mon, 15 Jul 2013 15:23:52 +0000 (15:23 +0000)]
Revert 15635: Turn ElementsTransitionAndStore stub into a HydrogenCodeStub

Causes breakage in crypto-(sha1|md5) SunSpider

TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReland deprecation of HAllocateObject in favor of HAllocate.
mstarzinger@chromium.org [Mon, 15 Jul 2013 15:12:16 +0000 (15:12 +0000)]
Reland deprecation of HAllocateObject in favor of HAllocate.

This essentially relands r14930 and r14935 with adaptions to the current
code base. It models the instantiation of an implicit receiver for
CallNew nodes in hydrogen using HAllocate together with generic stores
instead of one specialized HAllocateObject instruction, hence creating a
single choking point for inlined allocation in optimized code.

R=hpayer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix sloppy-mode 'const' under Harmony flag.
rossberg@chromium.org [Mon, 15 Jul 2013 14:12:20 +0000 (14:12 +0000)]
Fix sloppy-mode 'const' under Harmony flag.

R=yangguo@chromium.org
BUG=173361

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix --deopt-every-n-times flag
jkummerow@chromium.org [Mon, 15 Jul 2013 13:36:36 +0000 (13:36 +0000)]
Fix --deopt-every-n-times flag

(was broken since r15640)

R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAndroid lacks support for cxxabi.h.
bmeurer@chromium.org [Mon, 15 Jul 2013 12:24:13 +0000 (12:24 +0000)]
Android lacks support for cxxabi.h.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUse internal array as API function cache.
mstarzinger@chromium.org [Mon, 15 Jul 2013 11:41:41 +0000 (11:41 +0000)]
Use internal array as API function cache.

R=yangguo@chromium.org
BUG=chromium:260106
TEST=cctest/test-api/Regress260106

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoCurrent logger code is messy. It mixes together
loislo@chromium.org [Mon, 15 Jul 2013 11:35:39 +0000 (11:35 +0000)]
Current logger code is messy. It mixes together
four or even five different logging destinations.
I think we can extract the code related to a destination
into a separate class, do the same for the all destinations
and have four classes with more or less simple common logging
API

BUG=none
Meta-bug= https://code.google.com/p/chromium/issues/detail?id=260203

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix possible stack overflow in range analysis.
bmeurer@chromium.org [Mon, 15 Jul 2013 09:53:46 +0000 (09:53 +0000)]
Fix possible stack overflow in range analysis.

Avoid the implicit recursion for range analysis, using a loop with
an explicit stack instead.

BUG=chromium:259452
R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoTurn propagate deoptimizing mark into a proper HPhase.
bmeurer@chromium.org [Mon, 15 Jul 2013 09:53:00 +0000 (09:53 +0000)]
Turn propagate deoptimizing mark into a proper HPhase.

Also turn the recursion on the domination chain into a loop with
an explicit stack, to avoid possible stack overflow here.

R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUse corerct conversions for DataView accessors.
dslomov@chromium.org [Mon, 15 Jul 2013 09:32:15 +0000 (09:32 +0000)]
Use corerct conversions for DataView accessors.

We now use DoubleTo(U)Int32 that follows ES specification.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPrepare push to trunk. Now working on version 3.20.6.
danno@chromium.org [Mon, 15 Jul 2013 08:00:10 +0000 (08:00 +0000)]
Prepare push to trunk.  Now working on version 3.20.6.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15656 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoThis does not match ES6 spec but is the behavior in both Firefox and WebKit/Blink.
dslomov@chromium.org [Mon, 15 Jul 2013 07:43:46 +0000 (07:43 +0000)]
This does not match ES6 spec but is the behavior in both Firefox and WebKit/Blink.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoCleanup leftover definitions in HGraph.
bmeurer@chromium.org [Mon, 15 Jul 2013 07:41:18 +0000 (07:41 +0000)]
Cleanup leftover definitions in HGraph.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15654 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoDon't use StoreIC_ArrayLength on frozen arrays
danno@chromium.org [Sun, 14 Jul 2013 22:03:46 +0000 (22:03 +0000)]
Don't use StoreIC_ArrayLength on frozen arrays

The code previously assumed that an array with fast properties must have
a writable length property. But Object.freeze() now exposes a way to make
length read-only without moving the object into slow mode. This patch
simply adds a !is_frozen check to the IC code. Any future optimizations
to attribute-setting on JSArrays will need to make similar accomodations.

R=danno
BUG=v8:2711,259548

Review URL: https://chromiumcodereview.appspot.com/19115002
Patch from Adam Klein <adamk@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd map transition for observed objects
adamk@chromium.org [Sat, 13 Jul 2013 00:20:40 +0000 (00:20 +0000)]
Add map transition for observed objects

This patch enables objects to undergo a single transition when they become observed, avoiding the need to create a new map for every observed objects.

Observed objects which become unobserved does not cause another map transition and unobserved does not clear the observed bit on the map. The unobserved object.

R=verwaest@chromium.org

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

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoCollect side effects on paths to dominated block including the dominator.
hpayer@chromium.org [Fri, 12 Jul 2013 15:06:50 +0000 (15:06 +0000)]
Collect side effects on paths to dominated block including the dominator.

BUG=
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix windows build breakage due to 15645
danno@chromium.org [Fri, 12 Jul 2013 13:45:41 +0000 (13:45 +0000)]
Fix windows build breakage due to 15645

R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15648 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix number tag for no-sse2.
olivf@chromium.org [Fri, 12 Jul 2013 13:05:39 +0000 (13:05 +0000)]
Fix number tag for no-sse2.

FCmp() pops 2 arguments from the stack...

BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix LGapResolver::EmitMove for X64 when the dst is a double register and src is a...
danno@chromium.org [Fri, 12 Jul 2013 12:34:11 +0000 (12:34 +0000)]
Fix LGapResolver::EmitMove for X64 when the dst is a double register and src is a constant

R=danno@chromium.org

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoImplement truncated d-to-i as a stub on x86
danno@chromium.org [Fri, 12 Jul 2013 12:28:32 +0000 (12:28 +0000)]
Implement truncated d-to-i as a stub on x86

- Added a general DoubleToIStub so that it's possible to extend to other platforms and non-truncating case.
- This version handles all cases of truncation (previous code deopted in some cases) and all source/destination register combinations without clobbering any temps.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd a common templatized implementation of OS::DumpBacktrace() and OS::StackWalk...
bmeurer@chromium.org [Fri, 12 Jul 2013 12:02:26 +0000 (12:02 +0000)]
Add a common templatized implementation of OS::DumpBacktrace() and OS::StackWalk() to platform-posix.h and use it for Linux, Mac OS X and FreeBSD.

R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoCheck for scheduled exceptions after a failed-access-check callback.
yangguo@chromium.org [Fri, 12 Jul 2013 11:42:07 +0000 (11:42 +0000)]
Check for scheduled exceptions after a failed-access-check callback.

R=verwaest@chromium.org
BUG=v8:2524

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoTest case for missing access checks in object observe.
yangguo@chromium.org [Fri, 12 Jul 2013 10:11:18 +0000 (10:11 +0000)]
Test case for missing access checks in object observe.

BUG=v8:2778
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15642 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFall back to generic on access checks in JSON.stringify.
yangguo@chromium.org [Fri, 12 Jul 2013 10:04:35 +0000 (10:04 +0000)]
Fall back to generic on access checks in JSON.stringify.

BUG=259366
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15641 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove special-casing of EAGER and SOFT deoptimization calling conventions, allowing...
titzer@chromium.org [Fri, 12 Jul 2013 07:26:00 +0000 (07:26 +0000)]
Remove special-casing of EAGER and SOFT deoptimization calling conventions, allowing calling address to always be available to deoptimization entries.
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoEncapsulate compare nil ic_state.
olivf@chromium.org [Thu, 11 Jul 2013 17:20:57 +0000 (17:20 +0000)]
Encapsulate compare nil ic_state.

BUG=
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRefactor JavaScriptFrame::function() to return a JSFunction* and remove associated...
titzer@chromium.org [Thu, 11 Jul 2013 16:45:58 +0000 (16:45 +0000)]
Refactor JavaScriptFrame::function() to return a JSFunction* and remove associated casts.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix build breakage after 15630
danno@chromium.org [Thu, 11 Jul 2013 16:25:58 +0000 (16:25 +0000)]
Fix build breakage after 15630

Use EXTRA_CALL_FRAME rather than NO_EXTRA_FRAME in
ElementsTransitionAndStoreIC_Miss.

TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUse filler maps for folded allocations when verify heap is turned on.
hpayer@chromium.org [Thu, 11 Jul 2013 15:29:02 +0000 (15:29 +0000)]
Use filler maps for folded allocations when verify heap is turned on.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoTurn ElementsTransitionAndStore stub into a HydrogenCodeStub.
bmeurer@chromium.org [Thu, 11 Jul 2013 14:29:00 +0000 (14:29 +0000)]
Turn ElementsTransitionAndStore stub into a HydrogenCodeStub.

R=danno@chromium.org, mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoBogus assert needs to be removed on non-ia32 platforms
mvstanton@chromium.org [Thu, 11 Jul 2013 14:26:01 +0000 (14:26 +0000)]
Bogus assert needs to be removed on non-ia32 platforms

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15634 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSupport grow-stub by >1 if the target is holey.
verwaest@chromium.org [Thu, 11 Jul 2013 14:21:14 +0000 (14:21 +0000)]
Support grow-stub by >1 if the target is holey.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdded %NeverOptimize runtime call that can disable optimizations for a method for...
titzer@chromium.org [Thu, 11 Jul 2013 14:17:56 +0000 (14:17 +0000)]
Added %NeverOptimize runtime call that can disable optimizations for a method for tests.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRemove filler map when folding allocations and turn on allocation folding.
hpayer@chromium.org [Thu, 11 Jul 2013 13:53:54 +0000 (13:53 +0000)]
Remove filler map when folding allocations and turn on allocation folding.

BUG=
R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoEnable compiled transitions by default.
bmeurer@chromium.org [Thu, 11 Jul 2013 13:53:06 +0000 (13:53 +0000)]
Enable compiled transitions by default.

R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAllocationSites: when updating allocation site transition information,
mvstanton@chromium.org [Thu, 11 Jul 2013 13:08:36 +0000 (13:08 +0000)]
AllocationSites: when updating allocation site transition information,
be careful to merge feedback appropriately. For example, one array may
have gone holey, and then another allocated at the same place instead
went DOUBLE but remained packed. In this case the ElementsKind
ultimately stored in the AllocationSite should be HOLEY_DOUBLE.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoImplement X87 stack tracking and x87 multiplication
olivf@chromium.org [Thu, 11 Jul 2013 13:07:04 +0000 (13:07 +0000)]
Implement X87 stack tracking and x87 multiplication

BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoTurn array index dehoisting into a proper HPhase.
bmeurer@chromium.org [Thu, 11 Jul 2013 12:03:43 +0000 (12:03 +0000)]
Turn array index dehoisting into a proper HPhase.

R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoKeep IC monomorphic on transition, even if previously not STANDARD_STORE.
verwaest@chromium.org [Thu, 11 Jul 2013 11:54:43 +0000 (11:54 +0000)]
Keep IC monomorphic on transition, even if previously not STANDARD_STORE.

BUG=
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoIntroduce type Bounds record
rossberg@chromium.org [Thu, 11 Jul 2013 11:47:05 +0000 (11:47 +0000)]
Introduce type Bounds record

Refactoring in anticipation of handling variable bounds.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAllocation folding integrated into the GVN phase.
hpayer@chromium.org [Thu, 11 Jul 2013 11:41:33 +0000 (11:41 +0000)]
Allocation folding integrated into the GVN phase.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoCleanup common POSIX functionality.
bmeurer@chromium.org [Thu, 11 Jul 2013 11:37:08 +0000 (11:37 +0000)]
Cleanup common POSIX functionality.

The Mutex implementation is the same for all 6 POSIX platformats, just
like of them use the sched_yield() to implement Thread::YieldCPU().

R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRoll ICU to 210659
jochen@chromium.org [Thu, 11 Jul 2013 11:34:46 +0000 (11:34 +0000)]
Roll ICU to 210659

See http://crrev.com/210659 for the actual change.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPerform new space evacuation based on marking bits.
hpayer@chromium.org [Thu, 11 Jul 2013 11:24:38 +0000 (11:24 +0000)]
Perform new space evacuation based on marking bits.

BUG=
R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoThis adds the following array iterator methods:
rossberg@chromium.org [Thu, 11 Jul 2013 11:20:54 +0000 (11:20 +0000)]
This adds the following array iterator methods:

Array.prototype.values
Array.prototype.keys
Array.prototype.entries

These all return an Array Iterator object which has a next
method.

http://people.mozilla.org/~jorendorff/es6-draft.html#sec-15.4.5

BUG=v8:2722
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoOnly depend on icudata on windows.
jochen@chromium.org [Thu, 11 Jul 2013 11:01:00 +0000 (11:01 +0000)]
Only depend on icudata on windows.

On windows, this triggers the dll to be copied to the correct
locations. On other platforms, icudata is compiled in, and depending on
it results in an invalid linker archive ordering.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMove InitializeICU() to the V8 API and use it.
jochen@chromium.org [Thu, 11 Jul 2013 09:58:54 +0000 (09:58 +0000)]
Move InitializeICU() to the V8 API and use it.

I can't get rid of the enable_i18n flag yet, as we need to be able to
turn off all extensions for creating the snapshot.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoA bug in AllocationSite::GetMode(from, to) meant that we didn't update
mvstanton@chromium.org [Thu, 11 Jul 2013 09:39:22 +0000 (09:39 +0000)]
A bug in AllocationSite::GetMode(from, to) meant that we didn't update
boilerplates for SMI to SMI_HOLEY transitions.

BUG=
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoImplemented lazy sweeping of new space.
hpayer@chromium.org [Thu, 11 Jul 2013 09:17:03 +0000 (09:17 +0000)]
Implemented lazy sweeping of new space.

BUG=
R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoTurn canonicalization into a proper HPhase.
bmeurer@chromium.org [Thu, 11 Jul 2013 08:21:50 +0000 (08:21 +0000)]
Turn canonicalization into a proper HPhase.

R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix StoreIsUninitialized, and add Soft Deopt if keyed store is uninitialized.
verwaest@chromium.org [Thu, 11 Jul 2013 07:52:57 +0000 (07:52 +0000)]
Fix StoreIsUninitialized, and add Soft Deopt if keyed store is uninitialized.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSet mime-type of test log file to text/plain.
yangguo@chromium.org [Thu, 11 Jul 2013 07:39:38 +0000 (07:39 +0000)]
Set mime-type of test log file to text/plain.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoHasRealIndexedProperty doesn't work on JSGlobalProxy
adamk@chromium.org [Wed, 10 Jul 2013 19:03:58 +0000 (19:03 +0000)]
HasRealIndexedProperty doesn't work on JSGlobalProxy

HasRealIndexedProperty didn't unwrap the JSGlobalProxy and therefore always
returned false.

BUG=257748
R=adamk@chromium.org, rossberg@chromium.org

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

Patch from Adam Barth <abarth@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoTurn merge removable simulates into a proper HPhase.
bmeurer@chromium.org [Wed, 10 Jul 2013 16:34:28 +0000 (16:34 +0000)]
Turn merge removable simulates into a proper HPhase.

R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoSuppress array bounds check for nacl build.
machenbach@chromium.org [Wed, 10 Jul 2013 16:21:17 +0000 (16:21 +0000)]
Suppress array bounds check for nacl build.

The NaCl and the ARM builder started failing to compile at revision 15593 with spurious array bounds warnings.

The ARM builder will be fixed by updating the cross-compiler version. Since the nacl compiler comes with the nacl toolchain, the warning will be suppressed for that builder.

See also: http://gcc.gnu.org/bugzilla/buglist.cgi?quicksearch=array%20subscript%20is%20above%20array%20bounds

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoChange DataView accessors behavior for insufficient args.
dslomov@chromium.org [Wed, 10 Jul 2013 16:18:59 +0000 (16:18 +0000)]
Change DataView accessors behavior for insufficient args.

ES6 spec for DataView is not fully finished, but Blink, WebKit and
Firefox agree in that for DataView use of getters/setters with no
arguments should result in exceptions, while undefined offset argument
is the same as zero.

R=bmeurer@chromium.org, rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFlag rewriting an IC while writing to a global constant property as a failure caused...
verwaest@chromium.org [Wed, 10 Jul 2013 16:06:30 +0000 (16:06 +0000)]
Flag rewriting an IC while writing to a global constant property as a failure caused by the constant property turning mutable.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix unary op type feedback.
olivf@chromium.org [Wed, 10 Jul 2013 16:03:00 +0000 (16:03 +0000)]
Fix unary op type feedback.

BUG=
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert "Allow NORMAL ICs to go polymorphic."
verwaest@chromium.org [Wed, 10 Jul 2013 16:00:48 +0000 (16:00 +0000)]
Revert "Allow NORMAL ICs to go polymorphic."

BUG=
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUse static_cast instead of reinterpret_cast
olivf@chromium.org [Wed, 10 Jul 2013 16:00:08 +0000 (16:00 +0000)]
Use static_cast instead of reinterpret_cast

BUG=
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15603 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoARM: Implement memcpy using NEON.
rodolph.perfetta@gmail.com [Wed, 10 Jul 2013 15:32:39 +0000 (15:32 +0000)]
ARM: Implement memcpy using NEON.

Add support for a few NEON and ARM SIMD instructions and use them for various
memcpy operations.

BUG=none
TEST=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Replace custom builtin invocation instructions by a generic version.
palfia@homejinni.com [Wed, 10 Jul 2013 15:26:38 +0000 (15:26 +0000)]
MIPS: Replace custom builtin invocation instructions by a generic version.

Port r15582 (585c121)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAllow NORMAL ICs to go polymorphic.
verwaest@chromium.org [Wed, 10 Jul 2013 15:24:15 +0000 (15:24 +0000)]
Allow NORMAL ICs to go polymorphic.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoEnable debug builds with some optimizations turned on.
machenbach@chromium.org [Wed, 10 Jul 2013 15:21:43 +0000 (15:21 +0000)]
Enable debug builds with some optimizations turned on.

A new gyp variable 'v8_full_debug' can be set to 0 in order to turn on optimization level 1 for debug builds. With the default (=1), it builds in debug mode like before.

The intention is to run some bots on the waterfall with this configuration. Tests have a x5 speed-up like that.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoPrepare push to trunk. Now working on version 3.20.5.
danno@chromium.org [Wed, 10 Jul 2013 14:49:05 +0000 (14:49 +0000)]
Prepare push to trunk.  Now working on version 3.20.5.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRefactor compute minus zero checks into a proper HPhase.
bmeurer@chromium.org [Wed, 10 Jul 2013 14:08:19 +0000 (14:08 +0000)]
Refactor compute minus zero checks into a proper HPhase.

R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoInsert HTrapAllocationMemento only when required for TransitionElementsKindStub.
bmeurer@chromium.org [Wed, 10 Jul 2013 13:24:51 +0000 (13:24 +0000)]
Insert HTrapAllocationMemento only when required for TransitionElementsKindStub.

R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoTurn polymorphic calls using the same prototype monomorphic.
verwaest@chromium.org [Wed, 10 Jul 2013 13:05:41 +0000 (13:05 +0000)]
Turn polymorphic calls using the same prototype monomorphic.

R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoImprove test-cpu-profiler.cc tests stability
loislo@chromium.org [Wed, 10 Jul 2013 12:56:58 +0000 (12:56 +0000)]
Improve test-cpu-profiler.cc tests stability

The tests sometimes fail on bots as they don't have time to collect enough samples. This change makes them use counter of samples taken when v8 is either in JS or EXTERNAL state and repeat sampling until desired threshold is reached.

BUG=v8:2628
R=loislo@chromium.org, yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoHeapProfiler: check that heap snapshot has no unretained entries except root.
loislo@chromium.org [Wed, 10 Jul 2013 12:40:42 +0000 (12:40 +0000)]
HeapProfiler: check that heap snapshot has no unretained entries except root.

TEST=AllocationSitesAreVisible
BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert "Calls to HCheckFunction can be eliminated if the value is an HConstant"
mvstanton@chromium.org [Wed, 10 Jul 2013 12:19:37 +0000 (12:19 +0000)]
Revert "Calls to HCheckFunction can be eliminated if the value is an HConstant"

This reverts commit 3f96122cc572f7a0b638c30f65328c3cb3666795.

BUG=
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUse BuildGrowElementsCapacity for the TransitionElementsKind stub.
bmeurer@chromium.org [Wed, 10 Jul 2013 12:19:02 +0000 (12:19 +0000)]
Use BuildGrowElementsCapacity for the TransitionElementsKind stub.

R=danno@chromium.org, dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUnify Count Operation assignment with other assignments
verwaest@chromium.org [Wed, 10 Jul 2013 12:02:18 +0000 (12:02 +0000)]
Unify Count Operation assignment with other assignments

This relands 15578, disables 1 test in harmony observe re bug v8:2774

R=dslomov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix missing spaces
olivf@chromium.org [Wed, 10 Jul 2013 12:01:29 +0000 (12:01 +0000)]
Fix missing spaces

BUG=
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoType::GetName(...) for inspecting Types in the debugger
olivf@chromium.org [Wed, 10 Jul 2013 11:20:00 +0000 (11:20 +0000)]
Type::GetName(...) for inspecting Types in the debugger

BUG=
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFactor out toolset definitions in a separate gypi file
jochen@chromium.org [Wed, 10 Jul 2013 11:15:16 +0000 (11:15 +0000)]
Factor out toolset definitions in a separate gypi file

That way, third-party libraries use the correct toolset settings.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoImport intl test suite from v8-i18n project
jochen@chromium.org [Wed, 10 Jul 2013 10:49:04 +0000 (10:49 +0000)]
Import intl test suite from v8-i18n project

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Adjust default Heap sizes.
palfia@homejinni.com [Wed, 10 Jul 2013 10:01:30 +0000 (10:01 +0000)]
MIPS: Adjust default Heap sizes.

This change decreases the default Heap sizes on MIPS (sets the
same sizes as on Android).

Most MIPS hw has smaller RAM size than 700MB, which can lead
to test failures, if a test does not set the  Heap sizes explicitly
(like cctest/test-mark-compact/MarkCompactCollector).

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoReplace custom builtin invocation instructions by a generic version
olivf@chromium.org [Wed, 10 Jul 2013 09:02:23 +0000 (09:02 +0000)]
Replace custom builtin invocation instructions by a generic version

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix plot script.
yangguo@chromium.org [Wed, 10 Jul 2013 07:53:27 +0000 (07:53 +0000)]
Fix plot script.

The script for the time line plot has been broken since r15484, which
changed the format of tick entries in v8.log.

To prevent this from happening in the future, I added a test case.

R=hpayer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoRevert "Unify the Count Operation assignment with other assignments."
dslomov@chromium.org [Wed, 10 Jul 2013 07:53:16 +0000 (07:53 +0000)]
Revert "Unify the Count Operation assignment with other assignments."

This reverts commit r15578.

This change made mjsunit/harmony/object-observe.js flaky.

TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAllow parameterless typed array constructors.
dslomov@chromium.org [Tue, 9 Jul 2013 19:34:21 +0000 (19:34 +0000)]
Allow parameterless typed array constructors.

ES6 spec tacitly allows them, and they are allowed in Firefox and in
WebKit/Blink.

R=bmeurer@chromium.org,rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUnify the Count Operation assignment with other assignments.
verwaest@chromium.org [Tue, 9 Jul 2013 17:08:47 +0000 (17:08 +0000)]
Unify the Count Operation assignment with other assignments.
This does not enable inlining of setters (yet).

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Do not omit the write-barrier if the input value is a smi.
palfia@homejinni.com [Tue, 9 Jul 2013 15:58:31 +0000 (15:58 +0000)]
MIPS: Do not omit the write-barrier if the input value is a smi.

Port r15573 (3954d53)

Original commit message:
ARM: Do not omit the write-barrier if the input value is a smi.
The input value isn't what is written into the field if the representation is double. A heap-number is written to the field instead; which requires a write-barrier.

BUG=chromium:254570

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoMIPS: Implement Polymorphic Store ICs.
palfia@homejinni.com [Tue, 9 Jul 2013 15:54:43 +0000 (15:54 +0000)]
MIPS: Implement Polymorphic Store ICs.

Port r15566 (a76585e)

Original commit message:
- Makes a common superclass for Load and Store stub compiler.
- Splits all non-normal Store ICs into handler and IC.
- Ensures monomorphic store ICs go polymorphic.
- Feeds polymorphic type feedback into count operation.

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoBugfix: AllocationSite objects need to be walkable by the heap snapshot
mvstanton@chromium.org [Tue, 9 Jul 2013 14:16:59 +0000 (14:16 +0000)]
Bugfix: AllocationSite objects need to be walkable by the heap snapshot
generator.

BUG=
R=machenbach@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoDo not implicitly convert receivers for builtin functions when inspecting frames.
yangguo@chromium.org [Tue, 9 Jul 2013 13:58:11 +0000 (13:58 +0000)]
Do not implicitly convert receivers for builtin functions when inspecting frames.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoARM: Do not omit the write-barrier if the input value is a smi.
verwaest@chromium.org [Tue, 9 Jul 2013 12:31:59 +0000 (12:31 +0000)]
ARM: Do not omit the write-barrier if the input value is a smi.
The input value isn't what is written into the field if the representation is double. A heap-number is written to the field instead; which requires a write-barrier.

BUG=chromium:254570
R=ulan@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoInitialize ICU data files in d8 and disable i18n for other code samples
jochen@chromium.org [Tue, 9 Jul 2013 12:26:07 +0000 (12:26 +0000)]
Initialize ICU data files in d8 and disable i18n for other code samples

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUnrevert^2 "Derive synthetic type bounds for expressions""
rossberg@chromium.org [Tue, 9 Jul 2013 11:48:47 +0000 (11:48 +0000)]
Unrevert^2 "Derive synthetic type bounds for expressions""

Reenables https://codereview.chromium.org/17842004 (again).

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoFix win build after r15568
jochen@chromium.org [Tue, 9 Jul 2013 10:20:59 +0000 (10:20 +0000)]
Fix win build after r15568

TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoAdd support to turn polymorphic loads from the same prototype into a monomorphic...
verwaest@chromium.org [Tue, 9 Jul 2013 09:59:23 +0000 (09:59 +0000)]
Add support to turn polymorphic loads from the same prototype into a monomorphic load.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

11 years agoUpdate standalone configuration for compiling icu on windows
jochen@chromium.org [Tue, 9 Jul 2013 09:55:27 +0000 (09:55 +0000)]
Update standalone configuration for compiling icu on windows

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00