sgjesse@chromium.org
bb7825051b
Fix compilation on 64-bit Windows
...
TBR=pmehta@chromium.org
Review URL: http://codereview.chromium.org/3333015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-03 12:00:05 +00:00
sgjesse@chromium.org
d3e457303e
Add API callback for tracking allocated memory
...
Allows the host application to provide a mechanism for notification and custom logging through a callback (set through the API V8::AddMemoryAllocationCallback and removed through V8::RemoveMemoryAllocationCallback), when V8 allocates ro frees memory.
This replaces the current histogram data "V8.ExecutableMemoryMax" by allowing usage data to be logged by the application as required rather than always through V8.
BUG=http://crbug.com/54222
TEST=Set the callback function with the API and cause V8 to allocate memory.
Patch by Paul Mehta <pmehta@chromium.org>
Review URL: http://codereview.chromium.org/3329006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-03 11:31:58 +00:00
erik.corry@gmail.com
2b1e4560e7
Clang compatibility changes. This is a commit of http://codereview.chromium.org/3364002 for coldredlemur
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-02 10:18:44 +00:00
erik.corry@gmail.com
76e3e2afbb
ARM: Handle bitwise operations with literal Smi for 32bits integers without calling the GenericBinaryOpStub. Refactored and updated the routine to convert a signed int to a double. This is a commit of http://codereview.chromium.org/3247008 for Rodolph Perfetta.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-02 08:30:52 +00:00
lrn@chromium.org
5628d3c482
Fix parsing of /**/--> on first line of input.
...
BUG=53548
TEST=
Review URL: http://codereview.chromium.org/3330001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-02 07:36:30 +00:00
lrn@chromium.org
fce2fad17e
Fix bug in JSON character quote table.
...
Review URL: http://codereview.chromium.org/3349006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-02 07:35:35 +00:00
lrn@chromium.org
6670c0ad38
Make JSON.stringify not quote non-ASCII characters. Fix bug 855.
...
Review URL: http://codereview.chromium.org/3336001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5398 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-02 07:09:28 +00:00
vitalyr@chromium.org
780934e17f
ia32 StringAddStub: fast two character case.
...
Review URL: http://codereview.chromium.org/3327001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-01 17:20:36 +00:00
yurys@chromium.org
5b1ba9a48c
Don't access PagedSpace::executability after the object has been destroyed
...
Review URL: http://codereview.chromium.org/3344001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-01 17:01:58 +00:00
whesse@chromium.org
990992a857
Remove CodeGenerator::PatchInlineRuntimeEntry and replace its single use in test-log-stack-tracer.cc with an alternative implementation.
...
Review URL: http://codereview.chromium.org/3311002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-01 13:13:31 +00:00
mikhail.naganov@gmail.com
ead8b4bea6
Fix memory overrun possibility during tick samples processing.
...
This really can cause crash described in crbug/51919.
BUG=51919
TEST=NONE
Review URL: http://codereview.chromium.org/3334001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-01 13:08:39 +00:00
yurys@chromium.org
19d31d3e59
Initialize all VariableProxy fields in its constructor
...
Review URL: http://codereview.chromium.org/3330002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5390 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-01 12:25:46 +00:00
ricow@chromium.org
0bde4a0312
Prepare push of version 2.4.0 to trunk. Now working on version 2.4.1.
...
Review URL: http://codereview.chromium.org/3303002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-09-01 06:37:49 +00:00
mikhail.naganov@gmail.com
e82081a506
CPU profiler: limit the number of simultaneously collected profiles.
...
This is related to Chromium issue 51919
BUG=51919
TEST=test-profile-generator/Issue51919
Review URL: http://codereview.chromium.org/3287005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-31 14:16:01 +00:00
ricow@chromium.org
a63f954588
Fix win64 compilation (using static_cast)
...
Review URL: http://codereview.chromium.org/3225011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-31 12:20:22 +00:00
ricow@chromium.org
cd52245890
Simplify Array.splice by simply returning the result of AllocateEmptyJSArray.
...
Review URL: http://codereview.chromium.org/3216014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-31 10:39:12 +00:00
ricow@chromium.org
a9641176fd
Remove assertion that is no longer valid in InitializeStringSearch.
...
This assertion is no longer valid because r5380 changes the assumption
about the pat parameter.
In addition, we embed the no allocation part of StringSplit in a block
to reenable allocation later in that method.
Review URL: http://codereview.chromium.org/3254010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-31 10:39:02 +00:00
sandholm@chromium.org
97ccb64a06
Simplify code by removing special-casing for single-character patterns
...
Review URL: http://codereview.chromium.org/3276004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-31 09:22:53 +00:00
erik.corry@gmail.com
663f378da5
Get gcc to check that we don't ignore return values of functions that can
...
fail to allocate because we need a GC.
Review URL: http://codereview.chromium.org/3274008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5379 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-31 08:05:42 +00:00
erik.corry@gmail.com
903571b233
Address some issues with detecting the architecture. See
...
http://code.google.com/p/v8/issues/detail?id=429
Review URL: http://codereview.chromium.org/3261003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-31 08:05:33 +00:00
ricow@chromium.org
f19d6133f2
Fix mozilla and debug check failures.
...
This removes the expected failure of a mozilla test that we now pass
(an empty array is returned if Array.splice is called with no
arguments) and fixes debug check failure by allocating a new empty
array using AllocateEmptyArray if splice is called with zero arguments
(makes sure we can always create a handle).
Review URL: http://codereview.chromium.org/3218010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-31 07:31:25 +00:00
ager@chromium.org
d955b212b5
Follow Safari and Firefox in returning empty array from array splice
...
with no arguments.
Review URL: http://codereview.chromium.org/3277005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-30 18:08:50 +00:00
vitalyr@chromium.org
e9461cc50a
Set the code pointer when compiling a function.
...
Without this fix LazyCompile has to be called twice to set it.
Review URL: http://codereview.chromium.org/3253003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5374 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-30 13:39:07 +00:00
mikhail.naganov@gmail.com
18c7882ea2
Fix a error in SamplingCircularQueue found using Valgrind memcheck.
...
Review URL: http://codereview.chromium.org/3251004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5373 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-30 13:30:54 +00:00
antonm@chromium.org
19dc35c13f
Force relinking of paged space if first attempt to recommit from space fails.
...
That could improve chances for commit success as currently,
if we moved free pages out of order, we cannot shrink spaces.
However, when we experience problems commiting from space back, we should
use most of resources at our disposal.
Also get rid of currently unused parameter to DeallocateFunction.
Review URL: http://codereview.chromium.org/3260001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-30 12:34:32 +00:00
antonm@chromium.org
79a219cf31
Add os_error stat to oom_dump utility.
...
Review URL: http://codereview.chromium.org/3150028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-30 12:26:58 +00:00
whesse@chromium.org
a18f9d1114
Remove dependence of code-stubs on codegen, the virtual frame code generator. Move some functions used by code-stubs and full-codegen from codegen to macro-assembler.
...
Review URL: http://codereview.chromium.org/3169049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-30 11:48:07 +00:00
ricow@chromium.org
3fb62235e3
Add functionality for finding code objects from a pc that points into
...
the code object's instructions.
This allows us to find a code object using just the pc. This approach
uses a cache (PcToCodeCache) to make sure we don't continuously have
to iterate heap pages.
This change eliminates the need for cooking and uncooking of stack frames.
Review URL: http://codereview.chromium.org/3226014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5369 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-30 08:54:43 +00:00
whesse@chromium.org
937a9d466e
Improve header file inclusions. Drop some unneeded includes, and add some needed ones.
...
Review URL: http://codereview.chromium.org/3253001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-30 07:10:40 +00:00
vegorov@chromium.org
3d60cc34af
Fix regress-851.js to use assertNull instead of assertFalse.
...
Review URL: http://codereview.chromium.org/3232002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-27 13:23:14 +00:00
vegorov@chromium.org
f059093562
Check result of JSObject::NormalizeElements() in JSObject::PreventExtensions().
...
Normalization requires allocation so Failure object can be returned.
BUG=http://code.google.com/p/v8/issues/detail?id=851
TEST=test/mjsunit/regress/regress-851.js
Review URL: http://codereview.chromium.org/3262001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-27 13:06:50 +00:00
serya@chromium.org
9302607b31
Fixing build error r5362 (adding missing files).
...
Review URL: http://codereview.chromium.org/3258001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-27 12:16:00 +00:00
serya@chromium.org
71548e969b
Using array index hash code for string-to-number conversion.
...
Review URL: http://codereview.chromium.org/3141022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-27 11:47:12 +00:00
lrn@chromium.org
7b89a5f2b8
Reordered function entries in PreParse data to be ordered by start position.
...
Also add skip to entry, to skip pre-data for the body of the function.
Preparser data is now only accessed linearly, in the same order it was created.
Review URL: http://codereview.chromium.org/3185026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-27 08:26:29 +00:00
sgjesse@chromium.org
cfb4a183e5
Fix presumbit errors in previous commit
...
TBR=kasperl@chromium.org
Review URL: http://codereview.chromium.org/3249001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-27 07:41:46 +00:00
sgjesse@chromium.org
6cc90047d9
Add file missing from last commit.
...
TBR=kasperl@chromium.org
Review URL: http://codereview.chromium.org/3248001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-27 07:26:35 +00:00
sgjesse@chromium.org
be5763fc4d
Cleanup the way the debugger stores live registers when entering at a break
...
The live registers are now only stored to the expression stack with the non pointer values being stored as smis (on the 32-bit platforms these values are assumed to be 31-bit max).
This makes the CEntryStub entry/exit code much simpler, and there is no longer any need for a mode (debug or normal) on it.
Fix a missing live register when breaking at ARM keyed load.
Review URL: http://codereview.chromium.org/3141047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-27 07:08:03 +00:00
vitalyr@chromium.org
ee1dc27795
Fast string construct stub (ia32 only for now).
...
Review URL: http://codereview.chromium.org/3211002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-26 13:59:37 +00:00
ricow@chromium.org
1273621943
Fix indention in v8natives.js - no functionality change.
...
Review URL: http://codereview.chromium.org/3110041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-26 13:03:17 +00:00
ricow@chromium.org
fd2fcac430
Temporarily disable test-heap-profiler/HeapSnapshotsDiff until the test is fixed (issue 848)
...
Review URL: http://codereview.chromium.org/3209005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5353 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-26 09:27:14 +00:00
erik.corry@gmail.com
66d13be5f9
Fix incorrect encoding of single and double precision registers for some VFP instructions. Also fix incorrect disassembling of vldr/vstr. This is a commit of http://codereview.chromium.org/3107027 for Rodolph Perfetta.
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-26 08:53:00 +00:00
kasperl@chromium.org
6d5451d685
Add inlining of binary smi operations in the full codegens on IA32
...
and x64 (on IA32 we even fold constants into the instructions for
a more compact representation) and prepare the ARM full codegen for
the doing the same there.
Review URL: http://codereview.chromium.org/3195028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-26 08:50:38 +00:00
ricow@chromium.org
7672338bc9
Fixes bug in Object.freeze and Object.seal causing them to misbehave when Array.prototype has changed.
...
Object.freeze and Object.seal uses GetOwnPropertyNames which
returns an array with local property names. This array will also have
the additional properties defined on Array.prototype or
Object.prototype.
Note that, the implementation of GetOwnPropertyNames (when used as
Object.getOwnPropertyNames) is correct, since the spec says to create
a new Array (which would also have these properties).
Review URL: http://codereview.chromium.org/3137041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-26 08:35:49 +00:00
vitalyr@chromium.org
9f65b1e32d
Explicitly set expected number of properties for instances of builtin types.
...
We used to inherit an estimate on the expected number of properties in
%SetCode. It is not accurate and does not help for the types where
adding custom properties is rare (String, Date, etc.).
Review URL: http://codereview.chromium.org/3191026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-25 17:50:37 +00:00
ricow@chromium.org
4ad1b6d7f9
Prepare push of version 2.3.11 to trunk. Now working on version 2.4.0
...
This includes the ChangeLog part from the last push to trunk, since
the "prepare push to trunk" cl for that push was never committed.
Review URL: http://codereview.chromium.org/3111034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-25 15:02:07 +00:00
kasperl@chromium.org
1816e05dc2
Prepare for optionally inlining smi cases in the code generated
...
by the full codegens.
Review URL: http://codereview.chromium.org/3116042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-25 14:22:03 +00:00
kaznacheev@chromium.org
6bd9d953dd
Reapplying r5147 (caching maps for slow case objects).
...
r5147 wrongly assumed that a code cache for a slow case map is always empty.
This patch solves this: whenever we attempt to add a stub to a map's code cache
we check that this map is cached. If it is we give the object its own copy
of the map and only then modify the map.
Review URL: http://codereview.chromium.org/3134027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-25 13:25:54 +00:00
sgjesse@chromium.org
feb20d30f8
Change code contains function to allow a return address just after the last instruction
...
Then patching the return sequence for debugger break at return a call is placed at the very end of the instruction stream causing the return address to be just after the actual instruction in the code object.
Review URL: http://codereview.chromium.org/3151037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5341 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-25 12:51:27 +00:00
lrn@chromium.org
16a3419650
Convert this.length to uint32 in Array.prototype.[last]indexOf.
...
Review URL: http://codereview.chromium.org/3104033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-25 12:16:46 +00:00
kasperl@chromium.org
3c26a55def
Start using the overwrite mode from the full codegens to generate
...
slightly better code and allow passing arguments to binary op stubs
in registers on the platforms that support it.
Review URL: http://codereview.chromium.org/3203005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@5339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-08-25 11:10:05 +00:00