ricow@chromium.org
d9eccf2beb
Prepare push to trunk. Now working on version 3.5.9.
...
Review URL: http://codereview.chromium.org/7714033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-24 11:53:59 +00:00
yangguo@chromium.org
02e70b799b
Fixed the shared library build of D8 that was broken by r9005.
...
Review URL: http://codereview.chromium.org/7701024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-24 10:48:48 +00:00
yangguo@chromium.org
1afbe92a0e
Fixed minor bug in D8 related to mapping counters to a file.
...
Review URL: http://codereview.chromium.org/7717022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-24 09:47:10 +00:00
yangguo@chromium.org
2d538fe6a6
removed executable bit in those files.
...
Review URL: http://codereview.chromium.org/7710019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 13:57:37 +00:00
lrn@chromium.org
13dd915a2a
Fix typo in assert.
...
Also remove the requirement to have an AssertNoAllocation object when getting the flat content. We actually do allow allocation, it's just GC's we don't allow.
Review URL: http://codereview.chromium.org/7710018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 13:23:30 +00:00
mikhail.naganov@gmail.com
2e1e5fc09c
Heap profiler: for objects of class "Object", try to lookup name
...
from the constructor function. This works well for binding objects,
and this matches DevTools' algorithm for name assignment.
R=sgjesse@chromium.org
BUG=none
TEST=test-heap-profiler/GetConstructorName
Review URL: http://codereview.chromium.org/7709026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 12:24:54 +00:00
lrn@chromium.org
9eb7d4a53c
Replace ToAsciiVector and ToUC16Vector with single function that returns a tagged value.
...
The tag tells whether the content is ASCII or UC16, or even if the string wasn't flat.
BUG: v8:1633
Review URL: http://codereview.chromium.org/7709024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 12:22:12 +00:00
erik.corry@gmail.com
bf4222fb29
Fix ARM build for gcc-4.6.
...
This is based on Peter Varga's work in http://codereview.chromium.org/7708004/
but with a different solution for the Operand(0) int/pointer ambiguity.
Review URL: http://codereview.chromium.org/7706030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 12:00:09 +00:00
fschneider@chromium.org
701146a3d7
Perform range analysis after GVN.
...
This eliminate redundant HChange instructions and allows range information of
converted values propagated across control-flow splits.
It fixes the performance regression on code like:
if (x > 1) {
y = x - 1;
}
where we should eliminate the overflow check on the sub inside the if-statement.
Review URL: http://codereview.chromium.org/7709025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 11:19:08 +00:00
yangguo@chromium.org
011b136ee0
Slight API change enabling opting out from null termination in String::Write*().
...
BUG=v8:1537
TEST=cctest test-api/StringWrite
Review URL: http://codereview.chromium.org/7706002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 11:11:12 +00:00
fschneider@chromium.org
99b4d756fc
Insert representation changes before doing range analysis and fix a bug in Range::Copy.
...
This improves our static type information by calculating the result type
of conversions (HChange) during range analysis. It allows e.g. to eliminate
the write barrier in the following example where it was not possible before:
function f(x) {
var y = x + 1;
if (y > 0 && y < 100) {
a[0] = y;
}
}
* Fix bug in Range::Copy. The minus-zero flags has to be preserved by default.
Review URL: http://codereview.chromium.org/7634022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 07:34:45 +00:00
vitalyr@chromium.org
633e615b89
Improve memory usage of receiver type feedback.
...
Some AST nodes (Property, Call, etc.) store either a list of receiver
types or a monomorphic receiver type. This patch merges the two fields
using a small pointer list. GetMonomorphicReceiverType() is now a
purely convenience function returning the first and only recorded
type.
This saves about 500K (of about 39M) on average when compiling V8
benchmark as measured by a simple patch adding a zone allocation
counter (https://gist.github.com/1149397 ).
R=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/7655017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 14:23:37 +00:00
yangguo@chromium.org
107d1b5e65
Inserted a missing string encoding check in lastIndexOf.
...
Review URL: http://codereview.chromium.org/7685005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 13:55:25 +00:00
svenpanne@chromium.org
4b930daf1a
Ensure that the current isolate is initialized in the API function Context::GetEntered.
...
r8833 introduced a regression in our API semantics, showing up in e.g.
Chrome 12, which is fixed by this patch.
Review URL: http://codereview.chromium.org/7686005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 13:04:14 +00:00
yangguo@chromium.org
891b0eb919
Added forgotten V8EXPORT attributes for v8::Array::CheckCast and v8::Number::CheckCast.
...
BUG=v8:1618
Review URL: http://codereview.chromium.org/7692020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 13:01:25 +00:00
lrn@chromium.org
41426bde56
Fix bug introduced by earlier "cleanup".
...
TEST=message/replacement-marker-as-argument
Review URL: http://codereview.chromium.org/7696024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 12:54:03 +00:00
rossberg@chromium.org
1a717259f4
Prepare push to trunk. Working version now 3.5.8.
...
Review URL: http://codereview.chromium.org/7697017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 10:55:48 +00:00
lrn@chromium.org
d2626be5d9
Prune some internal objects' prototypes.
...
Review URL: http://codereview.chromium.org/7703005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 09:51:56 +00:00
mstarzinger@chromium.org
d4a6b4ac5b
Make instruction for write barrier smaller.
...
R=yangguo@chromium.org
BUG=v8:1495
Review URL: http://codereview.chromium.org/7703007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 09:10:47 +00:00
keuchel@chromium.org
a367058c6a
MIPS: port Parse harmony let declarations.
...
Port r8944 (a5a36f4)
Original commit message:
Implementation of the harmony block scoped let bindings as proposed here:
http://wiki.ecmascript.org/doku.php?id=harmony:block_scoped_bindings
Changes to the syntax are explained there. They are active under the
harmony_block_scoping_ flag in the parser.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7696020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 09:05:28 +00:00
whesse@chromium.org
d3880a19bc
MIPS: port Clean up the nesting stack in the full code generator.
...
Port 8972 (6a896b3)
Original commit message:
Remove unused methods, introduce named constants, and attempt to add some
sanity to naming.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7693021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 09:00:27 +00:00
yangguo@chromium.org
021bbce1aa
Simplified the sample shell. Resort to D8 shell for tests instead.
...
Review URL: http://codereview.chromium.org/7354022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-19 11:13:26 +00:00
lrn@chromium.org
d8a123169b
Make regexp flag parsing stricter.
...
BUG=v8:1628
TEST=mjsunit/regress/regress-219
Review URL: http://codereview.chromium.org/7624045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-19 11:02:41 +00:00
kmillikin@chromium.org
dc917453b3
Clean up the nesting stack in the full code generator.
...
Remove unused methods, introduce named constants, and attempt to add some
sanity to naming.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7669018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-19 09:54:08 +00:00
ricow@chromium.org
025c05dc25
Remove trailing whitespaces from *.js files.
...
This is a whitespace removal only change
Review URL: http://codereview.chromium.org/7687001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-19 05:24:39 +00:00
lrn@chromium.org
7939f9acf2
Make scanner handle invalid unicode escapes in identifiers correctly.
...
I.e., don't just convert \u to u in identifiers (like in strings and regexps).
Also make the scanning of RegExp flags not interpret the escapes.
(Fix and reapply of r8942)
BUG=v8:1620
TEST=mjsunit/regress/regress-1620
Review URL: http://codereview.chromium.org/7677012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-18 12:47:23 +00:00
jkummerow@chromium.org
c50094bda3
Fix another handful of memory leaks
...
TEST=valgrind reports 0 bytes definitely lost for cctest/test-api/RunTwoIsolatesOnSingleThread
Review URL: http://codereview.chromium.org/7621064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-18 12:33:40 +00:00
jkummerow@chromium.org
e4d43b7306
Fix three ~Isolate() related memory leaks
...
BUG=93253
TEST=running valgrind on cctest/test-api/RunTwoIsolatesOnSingleThread reports fewer leaks than before
Review URL: http://codereview.chromium.org/7624043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-18 12:14:12 +00:00
danno@chromium.org
4c460099a0
Unify GetElement handlers in ElementsAccessor
...
BUG=none
TEST=external-arrays.js
Review URL: http://codereview.chromium.org/7655030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-18 09:51:08 +00:00
danno@chromium.org
a8b4b4f42a
Remove redundant implementation of UnionOfKeys
...
R=svenpanne@chromium.org
BUG=none
TEST=external-arrays.js
Review URL: http://codereview.chromium.org/7670037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-18 09:20:32 +00:00
ricow@chromium.org
d9c1984fe3
Use InternalArray in Object.defineProperties to avoid issues with overwriten properties on Array.prototype
...
TEST=mjsunit/regress/regress-1625
BUG=v8:1625
Review URL: http://codereview.chromium.org/7631039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-18 08:39:06 +00:00
danno@chromium.org
edd691960f
Implement UnionOfKeys for NonStrictArguments
...
BUG=none
TEST=cctest/test-api/IndexedInterceptorNonStrictArgsWithIndexedAccessor
Review URL: http://codereview.chromium.org/7657011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 16:15:30 +00:00
jkummerow@chromium.org
3b82bc9691
GYP fixes: -Werror, snapshot.log, want_separate_host_toolset detection
...
Review URL: http://codereview.chromium.org/7658011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 15:56:54 +00:00
danno@chromium.org
5d634be405
Prepare push to trunk. Now working on version 3.5.7.
...
R=ricow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7671017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 13:55:05 +00:00
keuchel@chromium.org
5e983535f0
Fixed scanner initialization in test-parsing.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/7676003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8956 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 11:45:04 +00:00
keuchel@chromium.org
16be5abdec
Initialize harmony block scoping field in scanner.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/7671016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 11:17:59 +00:00
mikhail.naganov@gmail.com
7904a85592
Remove some unnecessary namespace alias definitions.
...
We can pick the namespace alias 'i' from v8.h which is already included
in those files.
BUG=None
TEST=None
R=mnaganov@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/7621035
--------------
Inline the implementation of Handle default ctor.
BUG=None
TEST=None
R=mnaganov@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/7669013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 10:29:05 +00:00
vegorov@chromium.org
4b94137323
Fix GC unsafe place in JSProxy::DeletePropertyWithHandler.
...
Review URL: http://codereview.chromium.org/7670023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 09:51:20 +00:00
danno@chromium.org
080b25063f
Bugs in x64 ICs introduced by array length refactor.
...
BUG=chromium:93044
TEST=external-array.js
Review URL: http://codereview.chromium.org/7672014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 09:39:03 +00:00
mstarzinger@chromium.org
ca049c7b58
fix compilation with gcc 4.6
...
* src/bootstrapper.cc (Genesis::InitializeExperimentalGlobal): Remove
assigned-but-unused var.
BUG=
TEST=passes test suite, modulo http://code.google.com/p/v8/issues/detail?id=1621
Review URL: http://codereview.chromium.org/7658014
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 09:22:58 +00:00
jkummerow@chromium.org
9f9959182d
Fix memory leaks in ~Zone and ~Isolate
...
TEST=chromium valgrind bots
Review URL: http://codereview.chromium.org/7660016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 08:48:54 +00:00
erik.corry@gmail.com
1e2d65780e
Fix compilation on Linux 2.6.9 and older.
...
Review URL: http://codereview.chromium.org/7655016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 08:24:36 +00:00
ricow@chromium.org
7f36b52540
Revert 8942 "Make scanner not accept invalid unicode escapes in identifiers"
...
This is causing webkit failures, reverting until we figure out if this is a V8 regression or wrong test expectations.
Review URL: http://codereview.chromium.org/7669017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 08:22:41 +00:00
vegorov@chromium.org
bdfceace53
Fix potentially GC unsafe place in JSObject::DeleteElementWithInterceptor.
...
Review URL: http://codereview.chromium.org/7660012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 15:51:49 +00:00
keuchel@chromium.org
a6cf884bcd
Presubmit fix.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/7661016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 15:15:34 +00:00
keuchel@chromium.org
c6c504f8b6
Parse harmony let declarations.
...
Implementation of the harmony block scoped let bindings as proposed here:
http://wiki.ecmascript.org/doku.php?id=harmony:block_scoped_bindings
Changes to the syntax are explained there. They are active under the
harmony_block_scoping_ flag in the parser.
Review URL: http://codereview.chromium.org/7616009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 14:24:12 +00:00
jkummerow@chromium.org
9295a3a0bb
Use immediates when possible for HBoundsCheck and HLoadKeyedFastElement
...
Review URL: http://codereview.chromium.org/7608020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 13:32:27 +00:00
lrn@chromium.org
7d17c8d5d3
Make scanner not accept invalid unicode escapes in identifiers.
...
BUG=v8:1620
TEST=mjsunit/regress/regress-1620
Review URL: http://codereview.chromium.org/7663005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 13:31:08 +00:00
mstarzinger@chromium.org
d640d8d913
Fix issue with prototype of WeakMap constructor.
...
The WeakMap constructor didn't have a unique prototype, so it shared one with
Object. All WeakMap functions (including "get" and "set") were installed on
that prototype.
R=rossberg@chromium.org
BUG=v8:1617
TEST=mjsunit/harmony/weakmaps
Review URL: http://codereview.chromium.org/7658008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 12:09:47 +00:00
danno@chromium.org
fc17bd3795
Fix live-object-list to work with isolates.
...
TEST: Build v8 with live-object-list enabled.
Review URL: http://codereview.chromium.org/7398025
Patch from Alexander Miller <Alexander.Miller@palm.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 11:47:06 +00:00