yangguo@chromium.org
380ae9810e
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
2014-04-11 10:41:09 +00:00
ulan@chromium.org
ff953ac055
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
2014-04-11 10:36:09 +00:00
rmcilroy@chromium.org
2754ab2689
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
2014-04-11 10:04:25 +00:00
bmeurer@chromium.org
9a544e1887
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
2014-04-11 09:24:35 +00:00
rmcilroy@chromium.org
b61696dd95
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
2014-04-11 09:22:14 +00:00
danno@chromium.org
6f2bea967c
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
2014-04-11 09:20:56 +00:00
svenpanne@chromium.org
c5231ccba6
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
2014-04-11 09:17:18 +00:00
ulan@chromium.org
260ded821f
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
2014-04-11 08:55:18 +00:00
yangguo@chromium.org
1267b43072
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
2014-04-11 08:31:10 +00:00
machenbach@chromium.org
f1c2b7007d
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
2014-04-11 07:40:48 +00:00
yangguo@chromium.org
a640707213
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
2014-04-11 07:27:25 +00:00
bmeurer@chromium.org
1a9fa3a673
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
2014-04-11 07:15:17 +00:00
jarin@chromium.org
166ec11e43
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
2014-04-11 06:45:24 +00:00
svenpanne@chromium.org
7653b6ef7b
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
2014-04-11 06:40:36 +00:00
svenpanne@chromium.org
b460910644
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
2014-04-11 06:32:06 +00:00
jarin@chromium.org
fd988331ea
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
2014-04-11 06:29:51 +00:00
haitao.feng@intel.com
8e44a04ea9
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
2014-04-11 02:02:56 +00:00
rmcilroy@chromium.org
8c573aa6cd
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
2014-04-10 21:28:40 +00:00
Jacob.Bramley@arm.com
74d49a1e7e
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
2014-04-10 15:47:45 +00:00
vogelheim@chromium.org
b88068ff2b
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
2014-04-10 14:53:32 +00:00
vogelheim@chromium.org
5633dfa6f5
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
2014-04-10 13:51:30 +00:00
danno@chromium.org
2e9902b22a
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
2014-04-10 13:17:48 +00:00
mvstanton@chromium.org
8aa93f2443
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
2014-04-10 13:06:52 +00:00
ulan@chromium.org
f4cce54313
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
2014-04-10 12:40:55 +00:00
ulan@chromium.org
2564c72036
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
2014-04-10 12:00:36 +00:00
verwaest@chromium.org
dcc142d547
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
2014-04-10 11:59:10 +00:00
bmeurer@chromium.org
990b57ba1d
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
2014-04-10 11:51:03 +00:00
rossberg@chromium.org
cf4eddd3f8
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
2014-04-10 11:49:18 +00:00
dcarney@chromium.org
956d4f3ca0
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
2014-04-10 11:01:09 +00:00
bmeurer@chromium.org
546d0a0b70
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
2014-04-10 10:43:13 +00:00
verwaest@chromium.org
453d6fc285
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
2014-04-10 09:49:53 +00:00
svenpanne@chromium.org
5bddec047d
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
2014-04-10 09:40:17 +00:00
ishell@chromium.org
32735ae3a9
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
2014-04-10 09:20:11 +00:00
bmeurer@chromium.org
c5b6e76ada
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
2014-04-10 09:14:46 +00:00
hpayer@chromium.org
21256676ad
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
2014-04-10 08:32:36 +00:00
bmeurer@chromium.org
4620ae5cf1
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
2014-04-10 08:04:50 +00:00
hpayer@chromium.org
0387b23552
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
2014-04-10 07:56:40 +00:00
bmeurer@chromium.org
5a564648dd
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
2014-04-10 07:25:49 +00:00
haitao.feng@intel.com
707a583116
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
2014-04-10 02:11:43 +00:00
haitao.feng@intel.com
cee232e6a8
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
2014-04-10 01:25:28 +00:00
haitao.feng@intel.com
22ca5b97e4
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
2014-04-10 00:32:19 +00:00
ishell@chromium.org
7135c9fde2
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
2014-04-09 15:45:12 +00:00
yangguo@chromium.org
f320fe9471
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
2014-04-09 15:38:45 +00:00
machenbach@chromium.org
fd8a2a7f7a
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
2014-04-09 14:30:02 +00:00
mvstanton@chromium.org
41b6c8a0f1
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
2014-04-09 14:26:32 +00:00
machenbach@chromium.org
1b841f369d
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
2014-04-09 14:01:03 +00:00
jarin@chromium.org
008a70c47b
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
2014-04-09 13:39:03 +00:00
ishell@chromium.org
74e7a4ad07
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
2014-04-09 13:16:19 +00:00
jarin@chromium.org
57d70c149c
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
2014-04-09 13:08:28 +00:00
yangguo@chromium.org
ea1dc8eeef
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
2014-04-09 13:05:56 +00:00