platform/upstream/v8.git
10 years agoRevert "Track field types."
jarin@chromium.org [Mon, 14 Apr 2014 08:24:15 +0000 (08:24 +0000)]
Revert "Track field types."

Revert r20701.

TBR=bmeurer@chromium.org
BUG=

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

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

10 years agoFail the compilation if the cached data is invalid.
marja@chromium.org [Mon, 14 Apr 2014 07:35:46 +0000 (07:35 +0000)]
Fail the compilation if the cached data is invalid.

R=svenpanne@chromium.org
BUG=

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

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

10 years agoRemove ConfigureDefaults version that does not take the amount of virtual mem
jochen@chromium.org [Mon, 14 Apr 2014 06:55:42 +0000 (06:55 +0000)]
Remove ConfigureDefaults version that does not take the amount of virtual mem

R=dcarney@chromium.org
LOG=n
BUG=none

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

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

10 years agoTrack field types.
bmeurer@chromium.org [Mon, 14 Apr 2014 06:29:15 +0000 (06:29 +0000)]
Track field types.

This is an initial step towards tracking the exact types instead of just the representations of fields. It adds support to track up to one map of heap object field values, eliminating various map checks on values loaded from such fields, at the cost of making stores to such fields slightly more expensive.

TEST=mjsunit/field-type-tracking
R=verwaest@chromium.org

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

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

10 years agoRevert "HashTable::Shrink() handlified and derived template parameter added to HashTa...
ishell@chromium.org [Fri, 11 Apr 2014 17:55:52 +0000 (17:55 +0000)]
Revert "HashTable::Shrink() handlified and derived template parameter added to HashTable hierarchy."

This reverts commit r20697 for breaking ASAN build.

TBR=yangguo@chromium.org

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

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

10 years agoHashTable::Shrink() handlified and derived template parameter added to HashTable...
ishell@chromium.org [Fri, 11 Apr 2014 17:44:58 +0000 (17:44 +0000)]
HashTable::Shrink() handlified and derived template parameter added to HashTable hierarchy.

R=yangguo@chromium.org

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

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

10 years agoSkip mjsunit/regress/regress-353058 for ASAN and ARM until r20692 is relanded.
ulan@chromium.org [Fri, 11 Apr 2014 17:03:35 +0000 (17:03 +0000)]
Skip mjsunit/regress/regress-353058 for ASAN and ARM until r20692 is relanded.

TBR=mvstanton@chromium.org

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

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

10 years agoRevert r20692 "Check stack limit in ArgumentAdaptorTrampoline."
ulan@chromium.org [Fri, 11 Apr 2014 15:59:12 +0000 (15:59 +0000)]
Revert r20692 "Check stack limit in ArgumentAdaptorTrampoline."

Reason: mjsunit/regress/regress-353058 failure on GC-stress.

TBR=mvstanton@chromium.org

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

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

10 years agoGcstress bug fix: Transition arrays may get smaller during gc.
mvstanton@chromium.org [Fri, 11 Apr 2014 14:25:00 +0000 (14:25 +0000)]
Gcstress bug fix: Transition arrays may get smaller during gc.

R=verwaest@chromium.org

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

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

10 years agoHandlify Map::RawCopy
verwaest@chromium.org [Fri, 11 Apr 2014 13:48:52 +0000 (13:48 +0000)]
Handlify Map::RawCopy

BUG=
R=mvstanton@chromium.org

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

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

10 years agoCheck stack limit in ArgumentAdaptorTrampoline.
ulan@chromium.org [Fri, 11 Apr 2014 13:39:19 +0000 (13:39 +0000)]
Check stack limit in ArgumentAdaptorTrampoline.
BUG=353058
LOG=N
TEST=mjsunit/regress/regress-353058
R=mstarzinger@chromium.org

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

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

10 years agoDo not call user defined getter of Error.stackTraceLimit.
ulan@chromium.org [Fri, 11 Apr 2014 13:16:36 +0000 (13:16 +0000)]
Do not call user defined getter of Error.stackTraceLimit.

Handlify GetNormalizedProperty.

BUG=360733
LOG=N
R=yangguo@chromium.org

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

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

10 years agoInline immutable property loads
verwaest@chromium.org [Fri, 11 Apr 2014 13:07:10 +0000 (13:07 +0000)]
Inline immutable property loads

When a non-configurable, non-writable field is
read from a constant holder, the load is
eliminated and replaced with the direct value
of the field

BUG=
R=verwaest@chromium.org

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

Patch from Petka Antonov <p.antonov@partner.samsung.com>.

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

10 years agoReland "Handlify GetProperty."
yangguo@chromium.org [Fri, 11 Apr 2014 12:47:34 +0000 (12:47 +0000)]
Reland "Handlify GetProperty."

R=ishell@chromium.org

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

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

10 years agoMIPS: Implement handlified String::Equals and Name::Equals.
palfia@homejinni.com [Fri, 11 Apr 2014 12:40:26 +0000 (12:40 +0000)]
MIPS: Implement handlified String::Equals and Name::Equals.

Port r20669 (29a6ec29)

Note:
This commit fixes a typo.

BUG=
R=danno@chromium.org

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

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

10 years agoRevert "More tests for Union & Intersect"
dcarney@chromium.org [Fri, 11 Apr 2014 12:33:20 +0000 (12:33 +0000)]
Revert "More tests for Union & Intersect"

This reverts r20684.

TBR=rossberg@chromium.org

BUG=

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

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

10 years agoHandlify Map::CopyDropDescriptors().
mvstanton@chromium.org [Fri, 11 Apr 2014 12:13:53 +0000 (12:13 +0000)]
Handlify Map::CopyDropDescriptors().

* And contain knowledge better in TransitionArray and DescriptorArray (for example WhitenessWitness is now private to DescriptorArray).
* And remove some factory methods
* And handlify some other things.

R=verwaest@chromium.org

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

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

10 years agoRevert "Handlify GetProperty."
yangguo@chromium.org [Fri, 11 Apr 2014 11:56:54 +0000 (11:56 +0000)]
Revert "Handlify GetProperty."

This reverts r20682.

TBR=dcarney@chromium.org

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

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

10 years agoMore tests for Union & Intersect
rossberg@chromium.org [Fri, 11 Apr 2014 11:53:35 +0000 (11:53 +0000)]
More tests for Union & Intersect

Some fixes of corner cases on the way

R=bmeurer@chromium.org
BUG=

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

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

10 years agoRemove the PreCompile API and ScriptData.
marja@chromium.org [Fri, 11 Apr 2014 11:44:49 +0000 (11:44 +0000)]
Remove the PreCompile API and ScriptData.

The new compilation API (ScriptCompiler::Compile) can produce the same data, so
the separate precompilation phase is not needed. ScriptData is replaced by
ScriptCompiler::CachedData.

R=svenpanne@chromium.org
BUG=

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

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

10 years agoHandlify GetProperty.
yangguo@chromium.org [Fri, 11 Apr 2014 11:26:22 +0000 (11:26 +0000)]
Handlify GetProperty.

R=ishell@chromium.org

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

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

10 years agoRemove MUST_USE_RESULT for Execution::TryCall.
yangguo@chromium.org [Fri, 11 Apr 2014 11:09:49 +0000 (11:09 +0000)]
Remove MUST_USE_RESULT for Execution::TryCall.

TBR=ishell@chromium.org

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

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

10 years agoReturn MaybeHandle from Invoke.
yangguo@chromium.org [Fri, 11 Apr 2014 10:41:09 +0000 (10:41 +0000)]
Return MaybeHandle from Invoke.

R=ishell@chromium.org

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

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

10 years agoMake maps in monomorphic IC stubs weak.
ulan@chromium.org [Fri, 11 Apr 2014 10:36:09 +0000 (10:36 +0000)]
Make maps in monomorphic IC stubs weak.

Maps in monomorphic Load, KeyedLoad, Store, KeyedStore, and CompareNil IC
stubs are treated as weak references by the marking visitor.

During generation of an IC stub with a weak map, the stub is appended to the
dependent code array of the map. When the map dies, all stubs in its dependent
code array are invalidated by setting embedded maps to undefined.

BUG=v8:2073
LOG=Y
TEST=cctest/test-heap/WeakMapInMonomorphic*IC
R=mstarzinger@chromium.org, verwaest@chromium.org

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

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

10 years agoRevert "ARM: Do not set FPSCR when converting to clamped uint8"
rmcilroy@chromium.org [Fri, 11 Apr 2014 10:04:25 +0000 (10:04 +0000)]
Revert "ARM: Do not set FPSCR when converting to clamped uint8"

This reverts commit r20676.

TBR=danno@chromium.org

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

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

10 years agoInline TypeImpl::NowContains().
bmeurer@chromium.org [Fri, 11 Apr 2014 09:24:35 +0000 (09:24 +0000)]
Inline TypeImpl::NowContains().

R=rossberg@chromium.org

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

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

10 years agoARM: Do not set FPSCR when converting to clamped uint8
rmcilroy@chromium.org [Fri, 11 Apr 2014 09:22:14 +0000 (09:22 +0000)]
ARM: Do not set FPSCR when converting to clamped uint8

Setting the FPSCR flags is expensive on some CPUs. Get rid of repeated
setting of the FPSCR by relying on the correct default flags being set
when doing uint8 clamping. Also use vcvt_u32_f64 instead of vcvt_s32_f64,
which enables removing the check against zero (vcvt_u32_f64 will clamp to
zero).

To be on the safe side, add asserts to check that the VFP rounding mode
flags are set to default as expected.

This increases performance of a hot loop repeatedly setting
Uint8ClampedArray values on some CPUs by as much as a factor of 12.

BUG=v8:3253
LOG=N
R=jacob.bramley@arm.com, rmcilroy@chromium.org, ulan@chromium.org

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

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

10 years agoUnify mechanism to find trailing AllocationMementos
danno@chromium.org [Fri, 11 Apr 2014 09:20:56 +0000 (09:20 +0000)]
Unify mechanism to find trailing AllocationMementos

R=hpayer@chromium.org

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

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

10 years agoMake sure that ranges are not accessed after range analysis. Remove HValue::PrintRangeTo.
svenpanne@chromium.org [Fri, 11 Apr 2014 09:17:18 +0000 (09:17 +0000)]
Make sure that ranges are not accessed after range analysis. Remove HValue::PrintRangeTo.

The ranges are simply wrong after range analysis, and we should only rely on computed flags.

R=bmeurer@chromium.org

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

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

10 years agoAdd rmcilroy@chromium.org to src/OWNERS.
ulan@chromium.org [Fri, 11 Apr 2014 08:55:18 +0000 (08:55 +0000)]
Add rmcilroy@chromium.org to src/OWNERS.

BUG=
R=danno@chromium.org

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

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

10 years agoRemove remnant from deferred error formatting on GC.
yangguo@chromium.org [Fri, 11 Apr 2014 08:31:10 +0000 (08:31 +0000)]
Remove remnant from deferred error formatting on GC.

Deferred error formatting on GC was a failed experiment. It has been
removed, except for this part.  See r13371.

R=mstarzinger@chromium.org

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

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

10 years agoFix chromium ranges output in v8 releases script.
machenbach@chromium.org [Fri, 11 Apr 2014 07:40:48 +0000 (07:40 +0000)]
Fix chromium ranges output in v8 releases script.

Add space after commas for auto line break in spreadsheets.
Add default empty strings to avoid undefined values in spreadsheets.

BUG=
R=jarin@chromium.org

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

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

10 years agoImplement handlified String::Equals and Name::Equals.
yangguo@chromium.org [Fri, 11 Apr 2014 07:27:25 +0000 (07:27 +0000)]
Implement handlified String::Equals and Name::Equals.

R=ulan@chromium.org

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

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

10 years agoDrop unused name parameter of SetPropertyToField().
bmeurer@chromium.org [Fri, 11 Apr 2014 07:15:17 +0000 (07:15 +0000)]
Drop unused name parameter of SetPropertyToField().

R=svenpanne@chromium.org

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

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

10 years agoAvoid type assertion on object comparison in Hydrogen - the comparison is unreachable...
jarin@chromium.org [Fri, 11 Apr 2014 06:45:24 +0000 (06:45 +0000)]
Avoid type assertion on object comparison in Hydrogen - the comparison is unreachable because of previous checks.

BUG=
R=yangguo@chromium.org

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

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

10 years agoUse the right kind of guard for debug code.
svenpanne@chromium.org [Fri, 11 Apr 2014 06:40:36 +0000 (06:40 +0000)]
Use the right kind of guard for debug code.

R=bmeurer@chromium.org

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

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

10 years agox64: Make sure that the upper half of a 64bit register contains 0 for int32 values.
svenpanne@chromium.org [Fri, 11 Apr 2014 06:32:06 +0000 (06:32 +0000)]
x64: Make sure that the upper half of a 64bit register contains 0 for int32 values.

BUG=360611
LOG=y
R=bmeurer@chromium.org

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

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

10 years agoThere is no definition for HArgumentsObject, so LDummyUse confuses the register alloc...
jarin@chromium.org [Fri, 11 Apr 2014 06:29:51 +0000 (06:29 +0000)]
There is no definition for HArgumentsObject, so LDummyUse confuses the register allocator. I have recently made similar fix for HCapturedObject (see https://codereview.chromium.org/222283002/).

BUG=
R=mstarzinger@chromium.org

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

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

10 years agoRename PushInt64AsTwoSmis to PushRegisterAsTwoSmis and support x32 as well.
haitao.feng@intel.com [Fri, 11 Apr 2014 02:02:56 +0000 (02:02 +0000)]
Rename PushInt64AsTwoSmis to PushRegisterAsTwoSmis and support x32 as well.

R=verwaest@chromium.org

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

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

10 years agoFix android_arm64 target for experimental ndk
rmcilroy@chromium.org [Thu, 10 Apr 2014 21:28:40 +0000 (21:28 +0000)]
Fix android_arm64 target for experimental ndk

BUG=354405
LOG=N
R=ulan@chromium.org

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

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

10 years agoARM64: Preserve x8 and x9 when necessary.
Jacob.Bramley@arm.com [Thu, 10 Apr 2014 15:47:45 +0000 (15:47 +0000)]
ARM64: Preserve x8 and x9 when necessary.

Fix a couple of places were x8 and x9 are excluded from lists of saved
registers. These are caller-saved registers, so C code can corrupt them.

x8 and x9 were originally reserved for debug code in the ARM64 port, so
we didn't bother preserving them, but they are now normal allocatable
registers.

BUG=v8:3263
LOG=N
R=rmcilroy@chromium.org, ulan@chromium.org

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

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

10 years agoAdd support for --raw and --omit to js2c.
vogelheim@chromium.org [Thu, 10 Apr 2014 14:53:32 +0000 (14:53 +0000)]
Add support for --raw and --omit to js2c.
  --raw writes the raw source data to a separate file
  --omit allows omitting the source data from the generated files.

The intention is (future) support for having the embedder optionally
store the source data 'blob' and handling it to V8::Initialize, with
the goal of reducing the binary size of V8.

The patch also contains numerous unrelated changes/refactorings in the hope of increasing maintainability. Let me know whether you agree. In particular:
- Remove some unused code.
- Do not overwrite Python built-ins (e.g. the type() function)
- Do not use a string as exception object (no longer supported in python 2.7)
- Add command line argument handling + help text.
- Split logic into:
  - PrepareSources - which reads + preprocesses the source files
  - BuildMetadata - which takes the prepared sources and generates the data the code template needs.

BUG=355539
LOG=N
R=jochen@chromium.org

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

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

10 years agoRemove V8_ALLOW_ACCESS_TO_RAW_HANDLE_CONSTRUCTOR.
vogelheim@chromium.org [Thu, 10 Apr 2014 13:51:30 +0000 (13:51 +0000)]
Remove V8_ALLOW_ACCESS_TO_RAW_HANDLE_CONSTRUCTOR.

The usage of this define has been obsoleted by removal of UnsafePersistent
from Chromium.

Depends on https://codereview.chromium.org/230613005

R=dcarney@chromium.org
BUG=276323
LOG=N

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

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

10 years agoPartially fix semantics of Array.push()
danno@chromium.org [Thu, 10 Apr 2014 13:17:48 +0000 (13:17 +0000)]
Partially fix semantics of Array.push()

Semantics of elements accessors are now preserved in all optimized code paths
through Array.push(). Previously it was possible to have inconsistent behavior
between optimized and unoptimized code, and there were cases where element
accessors were completely ingored.

R=verwaest@chromium.org

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

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

10 years agoBugfix: A TransitionArray can disappear during copy.
mvstanton@chromium.org [Thu, 10 Apr 2014 13:06:52 +0000 (13:06 +0000)]
Bugfix: A TransitionArray can disappear during copy.

During handlification of TransitionArray code, an error was introduced
in TransitionArray::CopyInsert because after creating a copy of a
TransitionArray, it may be that the array disappears during GC
because it is modified during the marking of the owning map.

R=verwaest@chromium.org

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

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

10 years agoRevert r20652 "Handlify and convert string.length to new API-style accessor."
ulan@chromium.org [Thu, 10 Apr 2014 12:40:55 +0000 (12:40 +0000)]
Revert r20652 "Handlify and convert string.length to new API-style accessor."

Reason: test failure with --noenable-sse3.

R=dcarney@chromium.org
TBR=dcarney@chromium.org

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

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

10 years agoHandlify and convert string.length to new API-style accessor.
ulan@chromium.org [Thu, 10 Apr 2014 12:00:36 +0000 (12:00 +0000)]
Handlify and convert string.length to new API-style accessor.

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

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

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

10 years agoWork towards unifying descriptor array handling.
verwaest@chromium.org [Thu, 10 Apr 2014 11:59:10 +0000 (11:59 +0000)]
Work towards unifying descriptor array handling.

BUG=
R=mvstanton@chromium.org

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

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

10 years agoTreat uninitialized as internal type.
bmeurer@chromium.org [Thu, 10 Apr 2014 11:51:03 +0000 (11:51 +0000)]
Treat uninitialized as internal type.

TEST=cctest/test-types
R=rossberg@chromium.org

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

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

10 years agoYet more type system tests
rossberg@chromium.org [Thu, 10 Apr 2014 11:49:18 +0000 (11:49 +0000)]
Yet more type system tests

R=bmeurer@chromium.org
BUG=

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

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

10 years agoRevert "Populate receiver types when there is no type feedback"
dcarney@chromium.org [Thu, 10 Apr 2014 11:01:09 +0000 (11:01 +0000)]
Revert "Populate receiver types when there is no type feedback"

This reverts r20646.

TBR=verwaest@chromium.org

BUG=

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

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

10 years agoAdd random_seed parameter to run-deopt-fuzzer.
bmeurer@chromium.org [Thu, 10 Apr 2014 10:43:13 +0000 (10:43 +0000)]
Add random_seed parameter to run-deopt-fuzzer.

R=machenbach@chromium.org

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

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

10 years agoPopulate receiver types when there is no type feedback
verwaest@chromium.org [Thu, 10 Apr 2014 09:49:53 +0000 (09:49 +0000)]
Populate receiver types when there is no type feedback

When there is no type feedback yet, ComputeReceiverTypes
should still populate the SmallMapList when the receiver
is a HConstant.

BUG=
R=verwaest@chromium.org

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

Patch from Petka Antonov <p.antonov@partner.samsung.com>.

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

10 years agoDo not use ranges after range analysis.
svenpanne@chromium.org [Thu, 10 Apr 2014 09:40:17 +0000 (09:40 +0000)]
Do not use ranges after range analysis.

Due to the SSA vs. SSI difference, we are only allowed to use the
flags computed during range analysis, not the ranges themselves. For
the case at hand, there is no such flag, so the condition is simply
remvoed.

BUG=361608
LOG=y
R=bmeurer@chromium.org

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

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

10 years agoObject::GetElements() and friends maybehandlification.
ishell@chromium.org [Thu, 10 Apr 2014 09:20:11 +0000 (09:20 +0000)]
Object::GetElements() and friends maybehandlification.

R=yangguo@chromium.org

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

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

10 years agoFix compiler warnings on Win64.
bmeurer@chromium.org [Thu, 10 Apr 2014 09:14:46 +0000 (09:14 +0000)]
Fix compiler warnings on Win64.

TEST=cctest/test-types
TBR=rossberg@chromium.org

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

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

10 years agoGrow small old generation faster.
hpayer@chromium.org [Thu, 10 Apr 2014 08:32:36 +0000 (08:32 +0000)]
Grow small old generation faster.

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

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

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

10 years agoFix symmetry of Maybe() predicate. Fix bug in NowContains() predicate.
bmeurer@chromium.org [Thu, 10 Apr 2014 08:04:50 +0000 (08:04 +0000)]
Fix symmetry of Maybe() predicate. Fix bug in NowContains() predicate.

Add tests for TypeImpl::Of(), TypeImpl::NowOf() and
TypeImpl::NowContains(). Improves the implementation of
TypeImpl::NowIs() to match that of TypeImpl::NowContains().

Mark test-types with NO_VARIANTS to speedup testing, since
the variants do not affect the type system at all.

Also improve test coverage for types.

TEST=cctest/test-types
R=rossberg@chromium.org

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

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

10 years agoDisable concurrent sweeping.
hpayer@chromium.org [Thu, 10 Apr 2014 07:56:40 +0000 (07:56 +0000)]
Disable concurrent sweeping.

BUG=
R=jarin@chromium.org

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

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

10 years agoImprove reproducibility of test runs.
bmeurer@chromium.org [Thu, 10 Apr 2014 07:25:49 +0000 (07:25 +0000)]
Improve reproducibility of test runs.

Add random seed to run-tests.py, using either a user supplied
value or a random number generated by random.SystemRandom().
This same random seed is passed to all test cases, making sure
that we can easily reproduce test failures that depend on
random numbers (i.e. bugs related to our handwritten ASLR).

Also fix all uses of rand() to make use of our RNG class
instead.

R=machenbach@chromium.org

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

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

10 years agoIntroduce LoadSharedFunctionInfoSpecialField for x64 port.
haitao.feng@intel.com [Thu, 10 Apr 2014 02:11:43 +0000 (02:11 +0000)]
Introduce LoadSharedFunctionInfoSpecialField for x64 port.

R=verwaest@chromium.org

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

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

10 years agoUpdate Integer32ToSmiField, SmiToInteger32, and SmiComprare to support 31-bit SMI...
haitao.feng@intel.com [Thu, 10 Apr 2014 01:25:28 +0000 (01:25 +0000)]
Update Integer32ToSmiField, SmiToInteger32, and SmiComprare to support 31-bit SMI for x32 port

R=verwaest@chromium.org

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

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

10 years agoGuard 32-bit SMI load/store optimization with SmiValuesAre32Bits predicate.
haitao.feng@intel.com [Thu, 10 Apr 2014 00:32:19 +0000 (00:32 +0000)]
Guard 32-bit SMI load/store optimization with SmiValuesAre32Bits predicate.

R=verwaest@chromium.org

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

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

10 years agoElementsAccessor::Delete() maybehandlified.
ishell@chromium.org [Wed, 9 Apr 2014 15:45:12 +0000 (15:45 +0000)]
ElementsAccessor::Delete() maybehandlified.

R=yangguo@chromium.org

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

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

10 years agoRemove unused function typedefs.
yangguo@chromium.org [Wed, 9 Apr 2014 15:38:45 +0000 (15:38 +0000)]
Remove unused function typedefs.

R=hpayer@chromium.org

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

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

10 years agoAdd V8 releases script.
machenbach@chromium.org [Wed, 9 Apr 2014 14:30:02 +0000 (14:30 +0000)]
Add V8 releases script.

This script retrieves the history of all V8 branches and trunk revisions and their corresponding Chromium revisions.

TEST=tools/push-to-trunk/releases.py -c <chrome path> --csv test.csv

BUG=
R=jarin@chromium.org

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

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

10 years agoHandlefy Descriptor and other code in objects.cc
mvstanton@chromium.org [Wed, 9 Apr 2014 14:26:32 +0000 (14:26 +0000)]
Handlefy Descriptor and other code in objects.cc

R=verwaest@chromium.org

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

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

10 years agoFix test expectations for nosnap windows.
machenbach@chromium.org [Wed, 9 Apr 2014 14:01:03 +0000 (14:01 +0000)]
Fix test expectations for nosnap windows.

BUG=v8:3216
LOG=n
TBR=dcarney@chromium.org

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

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

10 years agoRevert "Make new space iterable when transitioning double array to objects"
jarin@chromium.org [Wed, 9 Apr 2014 13:39:03 +0000 (13:39 +0000)]
Revert "Make new space iterable when transitioning double array to objects"

This reverts r20603.

BUG=

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

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

10 years agoElementsAccessor::SetLength() maybehandlified.
ishell@chromium.org [Wed, 9 Apr 2014 13:16:19 +0000 (13:16 +0000)]
ElementsAccessor::SetLength() maybehandlified.

R=yangguo@chromium.org

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

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

10 years agoAvoid hydrogen compare-objects-equal assertions in dead code
jarin@chromium.org [Wed, 9 Apr 2014 13:08:28 +0000 (13:08 +0000)]
Avoid hydrogen compare-objects-equal assertions in dead code

ClusterFuzz test is triggering assertions for dead code. This fix issues
HDeoptimize instruction when it finds out that the compare instruction
is dead (because of previous checks).

R=yangguo@chromium.org
BUG=359491
LOG=N

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

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

10 years agoRemove uses of non-handlified GetProperty.
yangguo@chromium.org [Wed, 9 Apr 2014 13:05:56 +0000 (13:05 +0000)]
Remove uses of non-handlified GetProperty.

R=ishell@chromium.org

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

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

10 years agoSkip tests in nosnap mode.
machenbach@chromium.org [Wed, 9 Apr 2014 13:01:54 +0000 (13:01 +0000)]
Skip tests in nosnap mode.

Depends on https://codereview.chromium.org/230743002/.

BUG=v8:3216
LOG=n
R=dcarney@chromium.org

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

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

10 years agoAdd the ability to disable tests in nosnap mode.
machenbach@chromium.org [Wed, 9 Apr 2014 12:57:43 +0000 (12:57 +0000)]
Add the ability to disable tests in nosnap mode.

BUG=v8:3216
LOG=n
R=dcarney@chromium.org

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

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

10 years agoReland of r20606: Further ElementsAccessor handlification (GetKeyForIndex(), GetCapac...
ishell@chromium.org [Wed, 9 Apr 2014 12:56:24 +0000 (12:56 +0000)]
Reland of r20606: Further ElementsAccessor handlification (GetKeyForIndex(), GetCapacity(), GetType() and GetAttributes()).
It was not related to test failures.

R=yangguo@chromium.org

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

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

10 years agoAllow the embedder to pass the virtual memory limit to v8
jochen@chromium.org [Wed, 9 Apr 2014 12:45:56 +0000 (12:45 +0000)]
Allow the embedder to pass the virtual memory limit to v8

The getrlimit() call might be sandboxed, so it's not safe to use it.

BUG=none
R=mstarzinger@chromium.org
LOG=y

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

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

10 years agoFix argument expectation Runtime_StringParseInt.
yangguo@chromium.org [Wed, 9 Apr 2014 12:33:51 +0000 (12:33 +0000)]
Fix argument expectation Runtime_StringParseInt.

R=svenpanne@chromium.org

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

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

10 years agoARM64: Use pair memory access in deoptimizer entry
m.m.capewell@googlemail.com [Wed, 9 Apr 2014 12:27:51 +0000 (12:27 +0000)]
ARM64: Use pair memory access in deoptimizer entry

BUG=
R=ulan@chromium.org

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

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

10 years agoTurn on concurrent sweeping.
hpayer@chromium.org [Wed, 9 Apr 2014 12:27:20 +0000 (12:27 +0000)]
Turn on concurrent sweeping.

BUG=
R=jarin@chromium.org

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

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

10 years agoRemove calls to non-handlified version of GetProperty(name).
yangguo@chromium.org [Wed, 9 Apr 2014 12:21:47 +0000 (12:21 +0000)]
Remove calls to non-handlified version of GetProperty(name).

R=ishell@chromium.org

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

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

10 years agoUse no barrier size accessor in FreeListCategory::SumFreeList.
hpayer@chromium.org [Wed, 9 Apr 2014 12:21:20 +0000 (12:21 +0000)]
Use no barrier size accessor in FreeListCategory::SumFreeList.

BUG=
R=jarin@chromium.org

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

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

10 years agoFix various bugs in the type systems, and improve test coverage.
bmeurer@chromium.org [Wed, 9 Apr 2014 11:12:15 +0000 (11:12 +0000)]
Fix various bugs in the type systems, and improve test coverage.

R=rossberg@chromium.org

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

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

10 years agoFix build with gcc 4.8 on Linux.
palfia@homejinni.com [Wed, 9 Apr 2014 11:01:58 +0000 (11:01 +0000)]
Fix build with gcc 4.8 on Linux.

This fixes a build failure on Linux with gcc 4.8, after r20581.

BUG=
R=ishell@chromium.org

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

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

10 years agoRevert "Further ElementsAccessor handlification (GetKeyForIndex(), GetCapacity()...
ishell@chromium.org [Wed, 9 Apr 2014 10:58:17 +0000 (10:58 +0000)]
Revert "Further ElementsAccessor handlification (GetKeyForIndex(), GetCapacity(), GetType() and GetAttributes())."

This reverts commit r20606 for breaking tests on windows.

TBR=dcarney@chromium.org

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

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

10 years agoFurther ElementsAccessor handlification (GetKeyForIndex(), GetCapacity(), GetType...
ishell@chromium.org [Wed, 9 Apr 2014 09:58:26 +0000 (09:58 +0000)]
Further ElementsAccessor handlification (GetKeyForIndex(), GetCapacity(), GetType() and GetAttributes()).

R=verwaest@chromium.org

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

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

10 years agoUse abstract configurations to switch between opt debug settings
jochen@chromium.org [Wed, 9 Apr 2014 09:54:49 +0000 (09:54 +0000)]
Use abstract configurations to switch between opt debug settings

The problem is that conditions are evaluated before configuration inheritance is resolved, so we can't just define a configuration like this:

'Optdebug': {
  'inherits_from': ['Debug'],
  'variables': {
    'v8_optimized_debug': 2,
  }
}

Instead, we have to put the different settings depending on the optimization level into separate configurations, and use conditions inside the concrete configurations to inherit from the correct base class.

Common settings go in the base configuration DebugBaseCommon, and v8_optimized_debug dependent settings go into DebugBase{0,1,2}

The new Debug configuration inherits from DebugBaseCommon and DebugBase<(v8_optimized_debug), while the new configuration Optdebug inherits from DebugBaseCommon and DebugBase2.

BUG=v8:3252
R=machenbach@chromium.org, jkummerow@chromium.org
LOG=n

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

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

10 years agoAllow race-full access of map instance size when sweeping concurrently.
hpayer@chromium.org [Wed, 9 Apr 2014 09:50:25 +0000 (09:50 +0000)]
Allow race-full access of map instance size when sweeping concurrently.

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

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

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

10 years agoMake new space iterable when transitioning double array to objects
jarin@chromium.org [Wed, 9 Apr 2014 09:50:08 +0000 (09:50 +0000)]
Make new space iterable when transitioning double array to objects

R=hpayer@chromium.org
BUG=

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

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

10 years agoFix return value of push() and unshift() on Array.prototype.
mstarzinger@chromium.org [Wed, 9 Apr 2014 09:14:56 +0000 (09:14 +0000)]
Fix return value of push() and unshift() on Array.prototype.

R=ulan@chromium.org
TEST=mjsunit/regress/regress-builtinbust-3

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

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

10 years agoFix regexp compilation cache.
yangguo@chromium.org [Wed, 9 Apr 2014 09:01:38 +0000 (09:01 +0000)]
Fix regexp compilation cache.

R=ulan@chromium.org

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

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

10 years agoHandlify all context allocators from the Heap.
mstarzinger@chromium.org [Wed, 9 Apr 2014 08:51:46 +0000 (08:51 +0000)]
Handlify all context allocators from the Heap.

R=yangguo@chromium.org
BUG=

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

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

10 years agoIntroduced Atomic8 and added no-barrier Atomic8 accessors.
hpayer@chromium.org [Wed, 9 Apr 2014 08:20:10 +0000 (08:20 +0000)]
Introduced Atomic8 and added no-barrier Atomic8 accessors.

BUG=
R=jarin@chromium.org

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

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

10 years agoAdd stack overflow check for inlined property getter
jarin@chromium.org [Wed, 9 Apr 2014 07:35:12 +0000 (07:35 +0000)]
Add stack overflow check for inlined property getter

We should check for overflow for each inlined property getter;
otherwise, we can get an overflow from inlining property getter while
still having pending overflow exception from some previous inlined
getter (in the same polymorphic access).

R=verwaest@chromium.org
TEST=test/mjsunit/regress/regress-inline-getter-near-stack-limit.js

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

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

10 years agoUse OrderedHashTables as the backing store of JSSet and JSMap
adamk@chromium.org [Tue, 8 Apr 2014 20:06:35 +0000 (20:06 +0000)]
Use OrderedHashTables as the backing store of JSSet and JSMap

This also deletes ObjectHashSet as it's no longer used.

BUG=v8:1793
LOG=N
R=mstarzinger@chromium.org

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

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

10 years agoCompile fix for NaCL
jochen@chromium.org [Tue, 8 Apr 2014 18:12:00 +0000 (18:12 +0000)]
Compile fix for NaCL

TBR=mstarzinger@chromium.org
BUG=none
LOG=n

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

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

10 years agoReturn 0 as maximal amount of physical memory if there is no limit.
jochen@chromium.org [Tue, 8 Apr 2014 17:19:15 +0000 (17:19 +0000)]
Return 0 as maximal amount of physical memory if there is no limit.

That's what the comment says should happen, and what Heap's ctor
expects.

BUG=none
LOG=n
R=mstarzinger@chromium.org

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

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

10 years agoSynchronize store buffer processing and concurrent sweeping.
hpayer@chromium.org [Tue, 8 Apr 2014 16:31:57 +0000 (16:31 +0000)]
Synchronize store buffer processing and concurrent sweeping.

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

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

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

10 years agoFurther ElementsAccessor handlification (Get(), AddElementsToFixedArray() and HasElem...
ishell@chromium.org [Tue, 8 Apr 2014 14:20:29 +0000 (14:20 +0000)]
Further ElementsAccessor handlification (Get(), AddElementsToFixedArray() and HasElement()).

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

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

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

10 years agoARM64: Put all simulator trace on the same stream.
Jacob.Bramley@arm.com [Tue, 8 Apr 2014 13:23:04 +0000 (13:23 +0000)]
ARM64: Put all simulator trace on the same stream.

The simulator can trace to a specified stream, typically stderr or
stdout. However, several messages (such as ASM_LOCATIONs) were printed
only to stdout. As a result, they often ended up out of order with
respect to the instruction trace. This patch causes all simulator output
to go to the same stream.

BUG=
R=ulan@chromium.org

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

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

10 years agoHandlify RegExpKey.
ulan@chromium.org [Tue, 8 Apr 2014 13:14:03 +0000 (13:14 +0000)]
Handlify RegExpKey.

This fixed mjsunit/unicode-case-overoptimization after r20578.

BUG=
R=yangguo@chromium.org

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

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