jkummerow@chromium.org
bc8f6943bb
Support Float64Arrays
...
BUG=None
TEST=mjsunit/external-arrays.js; updated cctest; existing unit tests
Review URL: http://codereview.chromium.org/6879009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-21 07:15:43 +00:00
mikhail.naganov@gmail.com
690093effe
Mark single-argument inline constructors as 'explicit'.
...
There is currently a bug in cpplint.py hiding this problem.
R=sgjesse@chromium.org
BUG=1304
TEST=none
Review URL: http://codereview.chromium.org/6820028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-11 11:38:34 +00:00
lrn@chromium.org
c7c57227dd
Make preparser api be exported in shared libraries.
...
Adds missing V8EXPORT declarations to types in v8-preparser.h.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6812012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-07 08:41:37 +00:00
antonm@chromium.org
56b53dd5dc
Introduce v8::Object::CreationContext method.
...
That allows to find out a global context in which the object
was created.
Review URL: http://codereview.chromium.org/6759054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-04-01 12:17:20 +00:00
lrn@chromium.org
4e502c5e5a
PreParser build fix
...
Patch from Peter Varga <pvarga@inf.u-szeged.hu>.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6773009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-30 10:13:11 +00:00
mikhail.naganov@gmail.com
2d95ed4b25
Remove snapshots-related code that is implemented in DevTools heap profiler.
...
Diffs and retaining paths are implemented on JS side. There is no need
to maintain native implementation.
R=vitalyr@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6770009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-29 12:52:07 +00:00
podivilov@chromium.org
41f30cac90
Fix crash in Debug::SendCommand.
...
R=vitalyr@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6715029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7310 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-22 18:02:23 +00:00
mikhail.naganov@gmail.com
b2b5d2777e
Add support for CPU and heap profiles deletion.
...
R=vitalyr@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6685084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-22 16:10:01 +00:00
vitalyr@chromium.org
7976ca2cbc
Merge isolates to bleeding_edge.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-18 20:35:07 +00:00
vitalyr@chromium.org
76e226f832
Revert r7268: it borked the history.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-18 19:41:05 +00:00
vitalyr@chromium.org
6ff7fdebd3
Merge isolates to bleeding_edge.
...
Review URL: http://codereview.chromium.org/6685088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-18 18:49:56 +00:00
ager@chromium.org
4f7fe371b2
Fix Array::New(length) in the API to return an array with the provided length.
...
The internal factory method initializes the elements but does not set
the length property of the array.
Add array api test case for length.
R=antonm@chromium.org
BUG=v8:1256
TEST=cctest/test-api/Array
Review URL: http://codereview.chromium.org/6674034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7210 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-16 19:55:31 +00:00
antonm@chromium.org
a7bb1d5278
Introduce one way dependencies into object grouping.
...
Those are necessary to properly manage relationship between objects in cases
when they don't form proper tree structure.
Review URL: http://codereview.chromium.org/6686053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-16 12:02:28 +00:00
sgjesse@chromium.org
bc9ddf20bb
ARM: Port r7089 to ARM
...
Ensure that there is always enough bytes between consequtive calls in optimized code to write a call instruction at the return points without overlapping.
Add a call to deoptimize all functions after running tests with --stress-opt. This will catch some issues with functions which cannot be forcefully deoptimized. Some of the tests failed on ARM with that change without the rest of the changes in this change.
Review URL: http://codereview.chromium.org/6661022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-10 13:58:20 +00:00
mikhail.naganov@gmail.com
dee9c00267
Add an interface for an embedder to provide information about native
...
objects retained by object groups and global handles.
This information is then used during heap snapshot generation
to provide a more complete memory picture.
This patch will be needed to fix https://bugs.webkit.org/show_bug.cgi?id=53659 .
Review URL: http://codereview.chromium.org/6626043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-10 12:05:31 +00:00
danno@chromium.org
9cca7d2733
Combine typed and pixel arrays.
...
Worth mentioning:
- Specialized versions of pixel array and store/loads inside the generic stubs have been removed, since to have parity for all external arrays, 8 different versions would have to be inlined/checked.
- There's a new constant in v8.h for external arrays with pixel array elements.
Review URL: http://codereview.chromium.org/6546036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-03-09 15:01:16 +00:00
ager@chromium.org
d5851dcde0
x64: Enable inline smi code patching to reenable the inlined code in
...
the code generated by the full code generator after my previous
change.
The generated code is the same as on ia32 and so is the patching.
Review URL: http://codereview.chromium.org/6456023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-09 14:51:38 +00:00
ager@chromium.org
73a4ecfae1
A MessageObject is a purely internal object to hold information about
...
an error message that needs to be generated and reported. This change
hides all of the error information from JavaScript code so user
callbacks cannot get hold of it.
Review URL: http://codereview.chromium.org/6368051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-02 13:31:52 +00:00
antonm@chromium.org
3d4c4951aa
Clarify some details of global objects implementation.
...
Review URL: http://codereview.chromium.org/6386011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-28 13:41:19 +00:00
antonm@chromium.org
b0abe13ed2
Using unsigned shifts and masks when dealing with 64-bit addresses.
...
BUG=v8:1037
Review URL: http://codereview.chromium.org/6242005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-19 11:16:23 +00:00
antonm@chromium.org
8805509f28
Wrap external pointers more carefully.
...
On 32-bit platforms any pointer with 0 as LSB can be wrapped into Smi. However, on 64-bit
platforms it's currently not the case as x64 Smis must have 0s in lower 32 bit word.
Even worse, macroassembler Move instruction will try to fetch integer value from Smi
and will shift by 32 bits to the right rendering stored pointer incorrect.
BUG=v8:1037
Review URL: http://codereview.chromium.org/6119009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6301 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-13 15:56:33 +00:00
mikhail.naganov@gmail.com
6f72caf92d
Add reporting of JS heap size limit to GetHeapStatistics.
...
I found it useful to know inside the heap profiler to avoid
crashes due to heap overflow.
Review URL: http://codereview.chromium.org/6111007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-11 12:36:09 +00:00
ager@chromium.org
58782c556a
Export external array data accessors.
...
BUG=v8:1016
Review URL: http://codereview.chromium.org/6013011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-04 09:27:46 +00:00
ager@chromium.org
218944fe6a
Add more documentation to Context::New in the API header file.
...
Review URL: http://codereview.chromium.org/6043005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-01-03 10:17:08 +00:00
sgjesse@chromium.org
648fcd906e
Adding Date::ResetCache() API so that the cache values in the Date object
...
can be reset to allow DST / timezone changes to be re-cached and reflected
in the Date object.
Patch by Mark Lam from Hewlett-Packard Development Company, LP
Review URL: http://codereview.chromium.org/5978001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-17 12:45:27 +00:00
erik.corry@gmail.com
5b55e1ad9a
API: Correct documentation of String::WriteUtf8, String::Write
...
and String::WriteAscii and add test. Correct implementation of
String::Write, fixing bug 975 (the patch in that bug was not
used, however).
Review URL: http://codereview.chromium.org/5718005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-14 13:21:46 +00:00
mikhail.naganov@gmail.com
5cf643aa42
New heap profiler: add support for progress reporting and control.
...
As taking a snapshot of a large heap takes noticeable time, it's
good to be able to monitor and control it.
The change itself is small, big code deletes and additions are in
fact moves. The only significant change is simplification of
approximated retained sizes calculation algorithm.
Review URL: http://codereview.chromium.org/5687003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-13 10:42:06 +00:00
lrn@chromium.org
095a71e99d
Changed interface to preparser to not require pushback support.
...
Changed implementation of pushback in preparer character stream.
Removed assert that isn't satisfied by in test-cases, but only by the real code.
Make preparser compile again.
Review URL: http://codereview.chromium.org/5593004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-08 10:06:40 +00:00
kasperl@chromium.org
90b3370374
Update V8 to version 3.0 (re-land r5920).
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 11:31:57 +00:00
kasperl@chromium.org
51b494d096
Revert r5920. Will re-land shortly.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 11:01:02 +00:00
kasperl@chromium.org
e5860bd6a8
Update V8 to version 3.0.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-07 09:11:56 +00:00
mikhail.naganov@gmail.com
dd1a7fa2b3
New Heap Profiler: add API method for finding a graph node by id.
...
TEST=cctest/test-heap-profiler/HeapSnapshotGetNodeById
Review URL: http://codereview.chromium.org/5537001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-12-02 15:38:51 +00:00
lrn@chromium.org
84f2f5ee90
Preparser extracted into separate files that can be compiled to a library.
...
No scons target yet.
Review URL: http://codereview.chromium.org/5295004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-29 13:24:37 +00:00
yurys@chromium.org
9137e4a8c9
Expose a method for getting JSObject constructor name
...
Review URL: http://codereview.chromium.org/5256004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-25 08:04:12 +00:00
mikhail.naganov@gmail.com
1cfc63cf8a
New heap profiler: implement fast retaining sizes approximation.
...
Approximation is done by building a dominators tree for the heap graph.
Dominator nodes and retained sizes are serialized into JSON.
Removed:
- reachable size (it is useless, after all);
- HeapEntryCalculatedData (size is now stored in the node, retaining
paths in a hash map);
Review URL: http://codereview.chromium.org/5154007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-22 14:00:40 +00:00
mikhail.naganov@gmail.com
5418f64e1e
A follow-up to r5849 -- fix Chromium build.
...
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/5198003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5851 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-18 10:49:34 +00:00
mikhail.naganov@gmail.com
051f314a99
New heap profiler: include all heap objects and refs into snapshot.
...
Otherwise, retaned memory sizes are not precise. This increases size
of heap snapshot, I will deal with this later. Heap objects and
references previously missing in snapshot are now marked as 'hidden'.
That means, they not shown to user, but participate in sizes
calculation.
Other small changes:
- added 'shortcut' graph edges: e.g. to pin global objects on top
level;
- meta-information in JSON snapshot is no more double encoded.
Review URL: http://codereview.chromium.org/5139002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-18 10:38:25 +00:00
lrn@chromium.org
af7b6fecfe
Split globals.h into two parts, where only one depends on V8.
...
Made allocation.{h,cc} independent of V8, allowing utils.h to allocate
vectors and collectors.
Review URL: http://codereview.chromium.org/5005001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-15 13:23:30 +00:00
ager@chromium.org
17573d771a
Landing for Justin Schuh.
...
Add 128MB limit for executable pages.
BUG=http://code.google.com/p/v8/issues/detail?id=925
TEST=None.
TBR=jschuh@chromium.org
Review URL: http://codereview.chromium.org/4634003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-10 08:38:42 +00:00
lrn@chromium.org
455cfe5932
Make presubmit lint the "include" dir.
...
Make include dir content pass lint.
Review URL: http://codereview.chromium.org/4421002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5767 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-04 10:27:39 +00:00
lrn@chromium.org
efe74b695d
Extract essential type declarations into separate file.
...
Review URL: http://codereview.chromium.org/4320004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5765 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-04 08:52:49 +00:00
serya@chromium.org
fbdcbdf748
Refactoring of v8:Arguments similary we did with v8::AccessorInfo ( http://codereview.chromium.org/242050 ). GC-controlled values moved to a separate array.
...
Review URL: http://codereview.chromium.org/4117010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-11-01 10:51:44 +00:00
serya@chromium.org
0ea6c1e09f
Optimizing HandleScope. Also fixed HandleScope destruction when API getter throws an exception.
...
Review URL: http://codereview.chromium.org/3792003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5689 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-21 14:21:00 +00:00
mikhail.naganov@gmail.com
d4bc8e1585
New Heap profiler: add dumping HeapNumbers and InternalFields to snapshot.
...
HeapNumbers do consume memory, so it's worth dumping them. However, we
don't dump their values, as they are not as self-descriptive as values
of strings, and they will increase snapshot size. Storing heap numbers
values can be added if we will feel a sufficient demand for that.
InternalFields are used, e.g. for storing references to DOM nodes
event handlers.
Review URL: http://codereview.chromium.org/3769007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-18 09:15:38 +00:00
mikhail.naganov@gmail.com
788c5e344d
Better align heap snapshots contents with debugger info.
...
I created a heap snapshot in Chromium, and then started comparing
it side-by-side with representations of objects provided by
the debugger, fixing discrepancies.
Review URL: http://codereview.chromium.org/3590029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-13 14:57:00 +00:00
vitalyr@chromium.org
2ffa84ad4d
Fix typo in the spec reference.
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/3547012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-05 12:01:46 +00:00
vitalyr@chromium.org
91b9a92336
Addressing Mads' comments from http://codereview.chromium.org/3585010/show .
...
Review URL: http://codereview.chromium.org/3613009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-05 11:51:41 +00:00
yurys@chromium.org
eb24a86e1b
StackTrace should provide access to //@ sourceURL=... value
...
Review URL: http://codereview.chromium.org/3602013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-05 08:53:51 +00:00
vitalyr@chromium.org
b999ae3cbd
API: expose RegExp.
...
Review URL: http://codereview.chromium.org/3585010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-10-04 15:04:16 +00:00
podivilov@chromium.org
0012576e2b
Add Debug::CancelDebugBreak method to api
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-27 15:09:55 +00:00