yangguo@chromium.org
89bc2eb93f
Actually relax test expectations for known failing test.
...
This corrects r13011.
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11415093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-21 09:32:06 +00:00
jkummerow@chromium.org
a956594fc2
Fix corner case in x64 compare stubs.
...
BUG=v8:2416
Review URL: https://codereview.chromium.org/11413087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-20 15:57:10 +00:00
rossberg@chromium.org
6add3222ed
Object.observe: Add test case covering most special cases.
...
Things not working yet are currently blacklisted in the test (see TODOs).
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11377157
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-20 14:45:21 +00:00
yangguo@chromium.org
bfbca55d02
Relax test expectations for known failing test.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11299100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-20 12:31:41 +00:00
rossberg@chromium.org
1570d62721
Object.observe/unobserve now return object
...
BUG=v8:2418
Review URL: https://codereview.chromium.org/11419078
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-20 10:38:14 +00:00
verwaest@chromium.org
08cfda49f2
Ensure CopyElementsImpl is always executed so it fills in holes even if from_size is 0. Allow FixedDoubleArray::cast to also support FixedArray with size 0.
...
Review URL: https://chromiumcodereview.appspot.com/11280054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-19 15:00:34 +00:00
yangguo@chromium.org
d2a6e7b40d
Fix test failures.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11414030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-16 14:24:19 +00:00
rossberg@chromium.org
8d79ff46d0
Clean-up refactoring to eliminate GetLocalElementKind.
...
Eliminates substantial amounts of fragile code duplication and special casing.
Also fixes "a".propertyIsEnumerable(0) to correctly return true.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11420011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12990 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-16 13:28:34 +00:00
mstarzinger@chromium.org
3d1582c474
Fix Array.prototype.join evaluation order.
...
R=yangguo@chromium.org
BUG=v8:2263
TEST=mjsunit/regress/regress-2263
Review URL: https://codereview.chromium.org/11280025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-16 12:45:23 +00:00
yangguo@chromium.org
af6f7742e0
Fix test failures.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11299033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-16 11:58:21 +00:00
yangguo@chromium.org
63f109aaa5
Introduce helper functions to test parallel recompilation.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11419012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-16 10:57:50 +00:00
rossberg@chromium.org
2e76922c79
Object.observe: Use [[DefineOwnProperty]] to create properties of changeRecord.
...
Note: The test here requires https://codereview.chromium.org/11364237/ to land in order to pass because Object.freeze calls Object.getOwnPropertyNames().
BUG=v8:2411
Review URL: https://codereview.chromium.org/11377171
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-16 09:35:27 +00:00
rossberg@chromium.org
af824eab8f
When using an Object as a set in Object.getOwnPropertyNames, null out the proto
...
Also apply the same fix elsewhere in v8natives.js
BUG=v8:2410
Review URL: https://codereview.chromium.org/11364237
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-16 09:32:39 +00:00
verwaest@chromium.org
a08194c83a
Support all fast elements kinds in the major array operations.
...
Currently missing support for unshift.
BUG=
Review URL: https://chromiumcodereview.appspot.com/11377132
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-15 12:19:14 +00:00
rossberg@chromium.org
4fb992a872
Object.observe: Handle oldValue for elements with accessors properly.
...
Extended ElementAccessor interface to allow querying PropertyType and
AccessorPair. Also added respective functionality to JSObject.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11358234
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-15 11:31:40 +00:00
rossberg@chromium.org
5e7b796479
Object.observe: Move notification of JSArray length changes to JSArray::SetElementsLength
...
The previous implementation in Accessors::ArraySetLength failed when array length was set through StoreIC_ArrayLength. But that stub and the accessor both delegate to JSArray::SetElementsLength, so moving the code there allows notifications to be sent in both cases.
Review URL: https://codereview.chromium.org/11275292
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-14 16:51:21 +00:00
jkummerow@chromium.org
1c086d1202
Lattice-based representation inference, powered by left/right specific type feedback for BinaryOps and comparisons
...
Review URL: https://chromiumcodereview.appspot.com/10837165
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-14 15:59:45 +00:00
ulan@chromium.org
74492ab2d4
Emit VMLA for multiply-add on ARM
...
Review URL: https://chromiumcodereview.appspot.com/11293061
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-14 11:01:18 +00:00
yangguo@chromium.org
4783d3c31b
Remove 'type' and 'arguments' properties from Error object.
...
R=svenpanne@chromium.org
BUG=v8:2397
Review URL: https://chromiumcodereview.appspot.com/11358214
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-14 09:14:47 +00:00
peter.rybin@gmail.com
bb53dc6890
Issue 2368: LiveEdit crashes when new object/array literal is added
...
Review URL: https://codereview.chromium.org/11191039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-13 19:13:27 +00:00
rossberg@chromium.org
36c3d01589
Object.unobserve(obj, callback) now throws a TypeError when callback is not a function.
...
Review URL: https://codereview.chromium.org/11293248
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-13 15:50:59 +00:00
yangguo@chromium.org
693ee09cf3
Correctly check for stack overflow even when interrupt is pending.
...
BUG=v8:214
Review URL: https://chromiumcodereview.appspot.com/11362007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-12 14:56:25 +00:00
yangguo@chromium.org
4c27298d27
Collect stack trace on stack overflow.
...
BUG=v8:2394
Review URL: https://chromiumcodereview.appspot.com/11275186
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-12 14:54:29 +00:00
yangguo@chromium.org
e3e899fe53
Correctly fix test expectations.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11369183
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-12 14:07:21 +00:00
yangguo@chromium.org
eea60ff76a
Fix test expectations.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11361217
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-12 12:29:15 +00:00
yangguo@chromium.org
4cca6c6081
Make formatting error message side-effect-free.
...
BUG=v8:2398
Review URL: https://chromiumcodereview.appspot.com/11359130
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-12 10:33:20 +00:00
yangguo@chromium.org
ef1b3d3a76
Fix length check in JSON.stringify.
...
R=verwaest@chromium.org
BUG=160010
Review URL: https://chromiumcodereview.appspot.com/11410031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-12 10:20:07 +00:00
rossberg@chromium.org
0e7306cc92
Implement Object.getNotifier() and remove Object.notify()
...
Updated all tests to use getNotifier or actual object mutation instead of notify, and added tests for new behavior of getNotifier.
Review URL: https://codereview.chromium.org/11369154
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 16:14:42 +00:00
rossberg@chromium.org
af7bfe0e27
Minimal implementation and tests of observable array methods
...
Bail out of any special-casing in array methods.
Further optimization is possible, but can be left for later.
Review URL: https://codereview.chromium.org/11369151
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 12:28:22 +00:00
rossberg@chromium.org
13f8fb47da
Add more test coverage for setting Array.length
...
Covers truncation of holey arrays and defineProperty('length').
Review URL: https://codereview.chromium.org/11369150
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 11:00:13 +00:00
rossberg@chromium.org
b72e5811e7
Object.observe: notify when element addition causes array growth
...
Review URL: https://codereview.chromium.org/11369135
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 10:57:54 +00:00
mstarzinger@chromium.org
2d69a2b12e
ES6: Add support for Set and Map clear method
...
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts , section
15.14.5.3 and 15.14.5.2
BUG=v8:2400
Review URL: https://codereview.chromium.org/11409002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 09:01:29 +00:00
yangguo@chromium.org
64da47559c
Turn message property of the error object into a data property.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11368142
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 08:22:02 +00:00
rossberg@chromium.org
2af4744889
Handle Object.observe notifications for setting Array.length
...
Also handles notification of deleted properties when an array
is truncated by setting length.
Review URL: https://codereview.chromium.org/11338048
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 16:12:12 +00:00
rossberg@chromium.org
8eb704257f
Object.observe: Fixed missing case for turning off ICs.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11358122
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 13:15:54 +00:00
rossberg@chromium.org
fbc6e0d883
Object.observe: generate change records for indexed properties.
...
Details:
- Extend ElementAccessors with GetAttributes method.
- Add HasLocalElement, Get[Local]ElementAttribute methods to JSReceiver/JSObject.
- Otherwise, mirror implementation for named properties.
Cannot correctly handle the cases yet where an accessor is redefined or deleted.
Also fixed handling of object info table.
(Based on CL https://codereview.chromium.org/11362115/ )
R=verwaest@chromium.org ,mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11365111
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 12:58:08 +00:00
mstarzinger@chromium.org
a31889e2de
Fix slack tracking when instance prototype changes.
...
This fixes a corner case when the instance prototype of a function is
changed while inobject slack tracking is still in progress. This caused
the intial map to be unrelated for functions with the same shared info
and hence the shared construct stub is no longer generic enough to work
for all those functions.
R=danno@chromium.org
BUG=chromium:157019
TEST=mjsunit/regress/regress-crbug-157019
Review URL: https://codereview.chromium.org/11293059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 11:56:44 +00:00
rossberg@chromium.org
e059e64c98
Object.observe: include oldValue in change records,
...
plus more accurate distinction of different change types.
Required handlifying more code.
Also fixed a handlification bug in JSProxy::GetElementAttributeWithHandler.
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11362115
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-07 14:14:50 +00:00
yangguo@chromium.org
ecb6126e45
Remove check for recursion depth for JSON.stringify.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11368119
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-07 12:12:52 +00:00
mstarzinger@chromium.org
e405ff84b4
ES6: Adding support for size to Set and Map
...
Section 15.14.5.10 and 15.16.5.7 in the October 26, 2012 ES6 draft,
http://wiki.ecmascript.org/doku.php?id=harmony:specification_drafts
This adds a getter for "size" to Set.prototype and Map.prototype which reflects
the number of elements in the Set and Map respectively.
BUG=v8:2395
Review URL: https://codereview.chromium.org/11360089
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-06 18:14:45 +00:00
rossberg@chromium.org
b80cbd7922
Object.observe: generate change records for named properties.
...
In more detail:
- Set observation bit for observed objects (and make NormalizedMapCache respect it).
- Mutation of observed objects is always delegated from ICs to runtime.
- Introduce JS runtime function for notifying generated changes.
- Invoke this function in the appropriate places (including some local refactoring).
- Inclusion of oldValue field is not yet implemented, nor element properties.
Also, shortened flag to --harmony-observation.
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11347037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-06 12:32:36 +00:00
ulan@chromium.org
f106c9c9f7
Add rotate-right instruction to hydrogen and use it instead of bitwise operations
...
of the form ((x >>> i) | (x << (32 - i))).
This CL is based on https://chromiumcodereview.appspot.com/10984057/
by Jay Conrod <dconrod@codeaurora.org>.
R=danno@chromium.org ,mstarzinger@chromium.org,dconrod@codeaurora.org
Review URL: https://chromiumcodereview.appspot.com/11033005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 13:28:10 +00:00
yangguo@chromium.org
e452c10702
Add fast path for FastProperty objects in JSON.stringify.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11363078
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 12:59:35 +00:00
yangguo@chromium.org
e26012e771
Fix JSON.stringify wrt harmony proxies.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11312063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 10:53:56 +00:00
svenpanne@chromium.org
9de1d40d28
Improve handling of property loads on the proto chain.
...
Previously Crankshaft emitted a generic load for these, now we emit a load of a
named field, guarded by a proto chain check.
LCheckPrototypeMaps now returns the holder, which is for free, because it
already had to check its map as the last step, anyway. This is in sync with what
StubCompiler::CheckPrototype does.
Review URL: https://codereview.chromium.org/11338030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-05 08:53:54 +00:00
yangguo@chromium.org
e8d91b424c
Handle edge cases in basic JSON.stringify.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/11315009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-02 14:46:57 +00:00
verwaest@chromium.org
14abf05bd5
Ensure reducing the length of an array doesn't make it go holey.
...
Also only transition and/or change anything to the backing store if we are
actually going to delete anything.
BUG=
Review URL: https://chromiumcodereview.appspot.com/11358011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-02 10:24:56 +00:00
yangguo@chromium.org
fe7ec01096
Fix handling arrays with holes in JSON.stringify.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/11273112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12834 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-30 15:29:34 +00:00
yangguo@chromium.org
8ed2e560ea
Treat leading zeros in JSON.parse correctly.
...
R=verwaest@chromium.org
BUG=158185
Review URL: https://chromiumcodereview.appspot.com/11273075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-29 12:01:29 +00:00
mstarzinger@chromium.org
e363cd3425
Fix ugly typo in GenerateNewNonStrictFast.
...
R=svenpanne@chromium.org
BUG=chromium:157520
TEST=mjsunit/regress/regress-crbug-157520
Review URL: https://codereview.chromium.org/11300008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-26 10:55:25 +00:00