svenpanne@chromium.org
073dfc0a6f
Fixed Code::FindCodeAgeSequence logic, removing a dead method on the way.
...
Review URL: https://codereview.chromium.org/11364177
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-12 13:27:36 +00:00
jkummerow@chromium.org
e8320f4f78
Function::GetScriptOrigin should supply sourceURL when script name is not available.
...
GetScriptOrigin is used for DevTools instrumentation.
If inspected call-site is inside "eval" then returned script name is "undefined". To fix this problem we can use the "nameOrSourceURL" method of script-wrapper.
This is a re-upload of https://codereview.appspot.com/6811090/ for the purpose of landing.
BUG=159413
Review URL: https://codereview.chromium.org/11312185
Patch from Eugene Klyuchnikov <eustas@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-12 12:34:18 +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
rossberg@chromium.org
92e783bc28
Minor cleanup and optimisation of element methods.
...
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11365175
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-12 11:08:34 +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
hpayer@chromium.org
ea9b1306fe
Refactoring incremental marking
...
BUG=
Review URL: https://codereview.chromium.org/11358177
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-12 10:12:35 +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
svenpanne@chromium.org
237684fa45
Refactoring: Make emit_debug_code flag handling architecture-independent.
...
Review URL: https://codereview.chromium.org/11312165
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 13:43:48 +00:00
svenpanne@chromium.org
a28bc2fd97
Refactoring: Make predictable code flag handling architecture-independent.
...
Review URL: https://codereview.chromium.org/11359127
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 13:10:10 +00:00
danno@chromium.org
92c6fe5c91
Disable code aging due to bugs.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/11361182
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 13:04:51 +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
svenpanne@chromium.org
130c4041c7
Keep the number of descriptors below DescriptorArray::kMaxNumberOfDescriptors even for accessors
...
Review URL: https://codereview.chromium.org/11362182
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 11:30:05 +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
rossberg@chromium.org
127b944ab5
Fix InternalObjectHashTable to properly update table ref in observationState
...
The previous fix wasn't broad enough: it only fixed the reference for a single Context.
Review URL: https://codereview.chromium.org/11361172
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 10:51:35 +00:00
mvstanton@chromium.org
803d8eada1
Some improvements in register usage in lithium compilation of LoadKeyed/StoreKeyed operations.
...
BUG=
Review URL: https://codereview.chromium.org/11365084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 10:21:07 +00:00
svenpanne@chromium.org
09666b60b8
Rollback of r12868, r12849 on bleeding_edge.
...
Fixed visibility attribute for GetPointerFromInternalField
Heavy cleanup of the external pointer API.
Review URL: https://codereview.chromium.org/11359125
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 10:07:54 +00:00
mvstanton@chromium.org
f8c7bdabac
git shoult ignore gtags and htags (GNU Global) output.
...
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/11369148
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 09:37:58 +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
svenpanne@chromium.org
e4cbac8dfd
Fixed assertion.
...
The name in question is not necessarily a symbol, so we have to use Equals instead of ==.
BUG=http://www.playescapegoat.com/
Review URL: https://codereview.chromium.org/11368141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-09 07:26:05 +00:00
danno@chromium.org
cc1d08bf33
Active code aging by default.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/11293178
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 17:31:45 +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
mstarzinger@chromium.org
a65e166aa7
Implement MarkIndependent(Isolate*) and MarkPartiallyDependent(Isolate*)
...
BUG=
TEST=cctest/test-api/IndependentWeakHandle
Review URL: https://codereview.chromium.org/11369131
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 15:01:26 +00:00
mstarzinger@chromium.org
36d128d7b8
Reshuffle an if() condition to not depend on an uninitialized value.
...
Node::class_id_ contains garbage for newly allocated (FREE) nodes. This patch
changes the code to first test the node state_, then (for non-FREE nodes),
class_id_, and not the other way around.
This does not affect the branch taken (i.e. the current code is correct),
but makes Valgrind and MSan happy.
Review URL: https://codereview.chromium.org/11362158
Patch from Evgeniy Stepanov <eugenis@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 14:40:55 +00:00
rossberg@chromium.org
c203f05474
Delivery logic for Object.observe
...
This CL has two parts: the first is the logic itself, whereby each observer callback is assigned
a "priority" number the first time it's passed as an observer to Object.observe(), and that
priority is used to determine the order of delivery.
The second part invokes the above logic as part of the API, when the JS stack winds down to
zero.
Added several tests via the API, as the delivery logic isn't testable from a JS test
(it runs after such a test would exit).
Review URL: https://codereview.chromium.org/11266011
Patch from Adam Klein <adamk@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 13:44:59 +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
danno@chromium.org
0f0da437e2
Fix intptr_t/int32_t casting problem on Win64.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/11369133
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 12:53:15 +00:00
danno@chromium.org
bd4e114b8e
Add code again to allow reclaiming old unexecuted functions.
...
When code objects in the heap for FUNCTIONs and OPTIMIZED_FUNCTIONs are marked by the GC, their prologue is patched with a call to a stub that removes the patch. This allows the collector to quickly identify code objects that haven't been executed since the last full collection (they are the ones that sill contain the patch). The functionality is currently disabled, but can be activated by specifying the "--age-code".
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/10837037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 12:18:11 +00:00
yangguo@chromium.org
943c10bb87
Rename kAsciiStringTag to kOneByteStringTag
...
This is just a rename. After commit, I'll begin with the semantic changes.
Until those are complete, kOneByteStringTag will have the same meaning as
kAsciiStringTag.
BUG=
Review URL: https://chromiumcodereview.appspot.com/11293168
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 12:14:29 +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
danno@chromium.org
bbcfa17134
Use movw/movt on ARM to load constant roots
...
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/11307012
Patch from Jay Conrod <dconrod@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 10:32:39 +00:00
mstarzinger@chromium.org
8e7ae24b40
Fix disabling of code flusher while marking.
...
This fixes a corner case when the code flusher is disabled while
incremental marking is running. The list of candidates needs to be
evicted to prevent list fragments without a head floating around.
R=ulan@chromium.org
BUG=chromium:159140
Review URL: https://codereview.chromium.org/11366136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 10:26:50 +00:00
mstarzinger@chromium.org
63b5392717
Make test case in r12891 non-threaded.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/11366149
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 09:45:47 +00:00
mstarzinger@chromium.org
e9efaf6c87
Revert r12889 due to Webkit test failures.
...
Pass the SIGPROF signal on to previously registered signal handler.
Regressions: Unexpected crashes (2)
inspector/profiler/cpu-profiler-profiling-without-inspector.html
inspector/profiler/cpu-profiler-profiling.html
R=danno@chromium.org
Review URL: https://codereview.chromium.org/11377052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 09:19:23 +00:00
mstarzinger@chromium.org
db73b0af16
Add a test case for object grouping in a scavenger GC
...
BUG=v8:2077
TEST=cctest/test-api/ApiObjectGroupsCycleForScavenger
Review URL: https://codereview.chromium.org/11312123
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-08 09:10:53 +00:00
danno@chromium.org
63ada1da1b
Move vldr in DoLoadKeyedFastDoubleElement before the hole check
...
This reschedules instructions to better absorb VFP load latency.
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/11363086
Patch from Rajeev Krithivasan <rkrithiv@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-07 21:38:46 +00:00
danno@chromium.org
17194b087e
Pass the SIGPROF signal on to previously registered signal handler.
...
This enables the google-perftools SIGPROF signal handler to continue to work properly.
BUG=none
Review URL: https://codereview.chromium.org/11195045
Patch from William Chan <willchan@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-07 17:23:02 +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
ulan@chromium.org
101d64c1a6
Simplify some of the startup code for SubStringStub::Generate.
...
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11098043
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-07 13:22:03 +00:00
ulan@chromium.org
8a3f19f720
Support shared library build of Android for v8.
...
v8 depends on the system log library. If we built it as a separate so,
log needs to be included in the link step.
BUG=chromium:158821
Review URL: https://chromiumcodereview.appspot.com/11369081
Patch from Yaron Friedman <yfriedman@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-07 12:22:48 +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
danno@chromium.org
d079e3f937
Fix another casting problem in Win64
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/11363121
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-07 10:31:45 +00:00
danno@chromium.org
a7a63219fe
Fix size_t/int casting problem on Win64 build
...
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/11364121
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-07 09:59:50 +00:00
danno@chromium.org
0fc9527abe
Decouple allocation and creation of deopt tables
...
This makes it possible to calculate the future address of a deopt entry before it is possible to generate the deopt table.
Review URL: https://codereview.chromium.org/11275145
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-07 08:49:17 +00:00
mvstanton@chromium.org
85ac311a6e
MIPS: Consolidated all the key store/load classes in the Hydrogen and Lithium space into just two: HLoadKeyed/HLoadKeyedGeneric and HStoreKeyed/HStoreKeyedGeneric LLoadKeyed/LLoadKeyedGeneric and LStoreKeyed/LStoreKeyedGeneric
...
Port r12839 (b8b7faa3)
BUG=
TEST=
Review URL: https://codereview.chromium.org/11369110
Patch from palfia <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-07 08:37:58 +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
mstarzinger@chromium.org
762c36b6fb
Allow collection of DOM objects in minor GC cycles.
...
A design document: https://docs.google.com/a/google.com/document/d/16DeHrzkm3cO9XCPT1aK3Y5qgUxXB3RFmueqQWYmN2rI/edit
Performance & memory results: https://docs.google.com/a/google.com/document/d/1h0-EsHu7T0sSMuZm5eE0r1e8sCAzY3weLvsDUpOSngE/edit
The WebKit side patch: https://bugs.webkit.org/show_bug.cgi?id=98725
At present no one is using the V8 APIs this patch is going to add. After this patch is landed, the WebKit side patch will use it.
BUG=
Review URL: https://codereview.chromium.org/11085015
Patch from Kentaro Hara <haraken@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-11-06 17:32:15 +00:00