yangguo@chromium.org [Mon, 29 Aug 2011 08:41:39 +0000 (08:41 +0000)]
Commenting register usage in MIPS.
Review URL: http://codereview.chromium.org/
7775007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9033
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 29 Aug 2011 07:13:06 +0000 (07:13 +0000)]
Landing: MIPS: Fixed a bug in a special case of MacroAssembler::Ext.
Original code review: http://codereview.chromium.org/
7777005/
Review URL: http://codereview.chromium.org/
7778007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9032
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 29 Aug 2011 07:07:39 +0000 (07:07 +0000)]
Remove code handling parameters rewritten to properties (aka synthetic properties).
After merging the new arguments branch, there is no need for this code anymore.
TEST=all tests pass
Review URL: http://codereview.chromium.org/
7753030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9031
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 26 Aug 2011 13:53:00 +0000 (13:53 +0000)]
Make (some) functions called from builtin functions use the callback's global as receiver.
Changes GetGlobalReceiver() to GetDefaultReceiver(func) that returns undefined
for strict and native functions, and the function's context's global proxy
for "normal" functions.
BUG=v8:1547
TEST=cctest/api-test/ForeignFunctionReceiver
Review URL: http://codereview.chromium.org/
7741042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9030
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 26 Aug 2011 13:40:25 +0000 (13:40 +0000)]
Fixed regression introduced in r9027.
Review URL: http://codereview.chromium.org/
7741041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9029
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 26 Aug 2011 13:23:25 +0000 (13:23 +0000)]
Only count uniquely named native scripts for debug.
The debugger exposes all native script which might include duplicates
having the same name. This is triggered by debug-script in stress mode
on the gc branch.
R=sgjesse@chromium.org
BUG=v8:1641
TEST=mjsunit/debug-script
Review URL: http://codereview.chromium.org/
7740050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9028
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 26 Aug 2011 13:03:30 +0000 (13:03 +0000)]
Tentative implementation of string slices (hidden under the flag --string-slices).
TEST=test/mjsunit/string-slices.js
Review URL: http://codereview.chromium.org/
7477045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9027
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 26 Aug 2011 11:56:12 +0000 (11:56 +0000)]
Fixed regression introduced in r9023.
Review URL: http://codereview.chromium.org/
7740049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9026
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 26 Aug 2011 11:23:51 +0000 (11:23 +0000)]
Add a bunch of compile-time flags to the gyp build (and top-level Makefile)
Review URL: http://codereview.chromium.org/
7748018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9025
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 26 Aug 2011 08:45:47 +0000 (08:45 +0000)]
Changed the order of arguments in the check as suggested to issue 1275.
BUG=v8:1275
Review URL: http://codereview.chromium.org/
7740046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9024
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 26 Aug 2011 08:22:13 +0000 (08:22 +0000)]
Changed some jumps to short jumps in IA32 generated code.
Review URL: http://codereview.chromium.org/
7745022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9023
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 26 Aug 2011 07:44:36 +0000 (07:44 +0000)]
Centralize code for freeing LargeObjectChunks, fixing an uncommit bug.
Due to heavy copy-n-paste, the handling of guard pages was inconsistent and we
didn't uncommit exactly the region we previously committed. Furthermore, the LOG
calls weren't consistent, either.
Review URL: http://codereview.chromium.org/
7744025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9021
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 26 Aug 2011 07:24:30 +0000 (07:24 +0000)]
Landing: MIPS: Remove gp and sp from callee-saved register list.
Original code review: http://codereview.chromium.org/
7740018/
Review URL: http://codereview.chromium.org/
7744050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9020
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 25 Aug 2011 14:50:09 +0000 (14:50 +0000)]
Refactor .gyp files:
common.gypi now contains global target defaults and is included by all .gyp files;
standalone.gypi contains definitions for stand-alone v8 builds.
This fixes d8 for the ARM simulator.
TEST=compiles and tests pass on all platforms
Review URL: http://codereview.chromium.org/
7740020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9019
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 25 Aug 2011 13:38:58 +0000 (13:38 +0000)]
Changed computation of func.caller to skip some built-in functions.
Now skips built-in functions called from other built-in functions,
so only the initally called built-in function is exposed.
Review URL: http://codereview.chromium.org/
7740021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9018
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 25 Aug 2011 13:35:15 +0000 (13:35 +0000)]
Two tiny refactorings: Removed a bit of copy-n-paste. Moved LargeObjectChunk::Free from header to implementation, it does a syscall, anyway.
Review URL: http://codereview.chromium.org/
7744023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9017
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 25 Aug 2011 13:22:55 +0000 (13:22 +0000)]
Added access check to Runtime_GetPrototype.
BUG=93759
Review URL: http://codereview.chromium.org/
7701023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9016
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 25 Aug 2011 12:12:25 +0000 (12:12 +0000)]
Land two MIPS changes contributed by Paul Lind.
1. Issue
7744014: MIPS: Fixed and optimized MacroAssembler::Trunc_uw_d, Cvt_d_uw, Ext, Ins. (http://codereview.chromium.org/
7744014/)
2. Issue
7740019: MIPS: Fix for function argument access in non-strict mode. (http://codereview.chromium.org/
7740019/)
Review URL: http://codereview.chromium.org/
7741016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9014
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 25 Aug 2011 10:55:44 +0000 (10:55 +0000)]
Fixed bool <-> Executability confusion and improved typing a bit.
Passing a value of type Executability to a function expecting a bool worked only
by accident (because of the order of values in the enum). But using boolean
parameters is often a bad idea, anyway, so we use Executability directly.
Just another example why implicit type conversions in C++ are a bad idea... :-P
Review URL: http://codereview.chromium.org/
7753001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9013
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 25 Aug 2011 09:07:43 +0000 (09:07 +0000)]
Make FromPropertyDescriptor not trigger inherited setters.
Review URL: http://codereview.chromium.org/
7745017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9010
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 24 Aug 2011 11:53:59 +0000 (11:53 +0000)]
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
yangguo@chromium.org [Wed, 24 Aug 2011 10:48:48 +0000 (10:48 +0000)]
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
yangguo@chromium.org [Wed, 24 Aug 2011 09:47:10 +0000 (09:47 +0000)]
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
yangguo@chromium.org [Tue, 23 Aug 2011 13:57:37 +0000 (13:57 +0000)]
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
lrn@chromium.org [Tue, 23 Aug 2011 13:23:30 +0000 (13:23 +0000)]
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
mikhail.naganov@gmail.com [Tue, 23 Aug 2011 12:24:54 +0000 (12:24 +0000)]
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
lrn@chromium.org [Tue, 23 Aug 2011 12:22:12 +0000 (12:22 +0000)]
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
erik.corry@gmail.com [Tue, 23 Aug 2011 12:00:09 +0000 (12:00 +0000)]
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
fschneider@chromium.org [Tue, 23 Aug 2011 11:19:08 +0000 (11:19 +0000)]
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
yangguo@chromium.org [Tue, 23 Aug 2011 11:11:12 +0000 (11:11 +0000)]
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
fschneider@chromium.org [Tue, 23 Aug 2011 07:34:45 +0000 (07:34 +0000)]
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
vitalyr@chromium.org [Mon, 22 Aug 2011 14:23:37 +0000 (14:23 +0000)]
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
yangguo@chromium.org [Mon, 22 Aug 2011 13:55:25 +0000 (13:55 +0000)]
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
svenpanne@chromium.org [Mon, 22 Aug 2011 13:04:14 +0000 (13:04 +0000)]
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
yangguo@chromium.org [Mon, 22 Aug 2011 13:01:25 +0000 (13:01 +0000)]
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
lrn@chromium.org [Mon, 22 Aug 2011 12:54:03 +0000 (12:54 +0000)]
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
rossberg@chromium.org [Mon, 22 Aug 2011 10:55:48 +0000 (10:55 +0000)]
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
lrn@chromium.org [Mon, 22 Aug 2011 09:51:56 +0000 (09:51 +0000)]
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
mstarzinger@chromium.org [Mon, 22 Aug 2011 09:10:47 +0000 (09:10 +0000)]
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
keuchel@chromium.org [Mon, 22 Aug 2011 09:05:28 +0000 (09:05 +0000)]
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
whesse@chromium.org [Mon, 22 Aug 2011 09:00:27 +0000 (09:00 +0000)]
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
yangguo@chromium.org [Fri, 19 Aug 2011 11:13:26 +0000 (11:13 +0000)]
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
lrn@chromium.org [Fri, 19 Aug 2011 11:02:41 +0000 (11:02 +0000)]
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
kmillikin@chromium.org [Fri, 19 Aug 2011 09:54:08 +0000 (09:54 +0000)]
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
ricow@chromium.org [Fri, 19 Aug 2011 05:24:39 +0000 (05:24 +0000)]
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
lrn@chromium.org [Thu, 18 Aug 2011 12:47:23 +0000 (12:47 +0000)]
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
jkummerow@chromium.org [Thu, 18 Aug 2011 12:33:40 +0000 (12:33 +0000)]
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
jkummerow@chromium.org [Thu, 18 Aug 2011 12:14:12 +0000 (12:14 +0000)]
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
danno@chromium.org [Thu, 18 Aug 2011 09:51:08 +0000 (09:51 +0000)]
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
danno@chromium.org [Thu, 18 Aug 2011 09:20:32 +0000 (09:20 +0000)]
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
ricow@chromium.org [Thu, 18 Aug 2011 08:39:06 +0000 (08:39 +0000)]
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
danno@chromium.org [Wed, 17 Aug 2011 16:15:30 +0000 (16:15 +0000)]
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
jkummerow@chromium.org [Wed, 17 Aug 2011 15:56:54 +0000 (15:56 +0000)]
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
danno@chromium.org [Wed, 17 Aug 2011 13:55:05 +0000 (13:55 +0000)]
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
keuchel@chromium.org [Wed, 17 Aug 2011 11:45:04 +0000 (11:45 +0000)]
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
keuchel@chromium.org [Wed, 17 Aug 2011 11:17:59 +0000 (11:17 +0000)]
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
mikhail.naganov@gmail.com [Wed, 17 Aug 2011 10:29:05 +0000 (10:29 +0000)]
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
vegorov@chromium.org [Wed, 17 Aug 2011 09:51:20 +0000 (09:51 +0000)]
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
danno@chromium.org [Wed, 17 Aug 2011 09:39:03 +0000 (09:39 +0000)]
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
mstarzinger@chromium.org [Wed, 17 Aug 2011 09:22:58 +0000 (09:22 +0000)]
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
jkummerow@chromium.org [Wed, 17 Aug 2011 08:48:54 +0000 (08:48 +0000)]
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
erik.corry@gmail.com [Wed, 17 Aug 2011 08:24:36 +0000 (08:24 +0000)]
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
ricow@chromium.org [Wed, 17 Aug 2011 08:22:41 +0000 (08:22 +0000)]
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
vegorov@chromium.org [Tue, 16 Aug 2011 15:51:49 +0000 (15:51 +0000)]
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
keuchel@chromium.org [Tue, 16 Aug 2011 15:15:34 +0000 (15:15 +0000)]
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
keuchel@chromium.org [Tue, 16 Aug 2011 14:24:12 +0000 (14:24 +0000)]
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
jkummerow@chromium.org [Tue, 16 Aug 2011 13:32:27 +0000 (13:32 +0000)]
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
lrn@chromium.org [Tue, 16 Aug 2011 13:31:08 +0000 (13:31 +0000)]
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
mstarzinger@chromium.org [Tue, 16 Aug 2011 12:09:47 +0000 (12:09 +0000)]
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
danno@chromium.org [Tue, 16 Aug 2011 11:47:06 +0000 (11:47 +0000)]
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
rossberg@chromium.org [Tue, 16 Aug 2011 10:08:50 +0000 (10:08 +0000)]
MIPS: port Implement Harmony semantics for typeof null (behind a flag).
Port r8876 (
2aeeae7)
Original commit message:
Harmony is intended to make typeof null === "null". This may
break existing programs. Implementing it will allow us to run
some tests on the actual web.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7650009
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8939
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 16 Aug 2011 09:58:34 +0000 (09:58 +0000)]
Refactored DirectCEntryStub::GenerateCall a bit to make it clearer what's going on and added an ASSERT.
Review URL: http://codereview.chromium.org/
7640016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8938
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 16 Aug 2011 08:48:45 +0000 (08:48 +0000)]
MIPS: port Simplify handling of exits from with and catch.
Ported r8922 (
5ea2fb5)
Original commit message:
Remove the try/finally used for with and catch. Instead of using
try/finally to handle break and continue from with or catch,
statically track nesting dept and clean up when compiling break or
continue.
And instead of using try/finally to handle throw to handler in a frame
whose pc is inside a with or catch, store the context that the handler
should run in in the handler itself.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7648026
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8936
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
cira@chromium.org [Mon, 15 Aug 2011 22:29:03 +0000 (22:29 +0000)]
Return error not null for date time format.
BUG=v8:1602
TEST=new (new v8Locale().createDateTimeFormat()).getWeekdays should return Error not a Null.
Review URL: http://codereview.chromium.org/
7647027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8935
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 15 Aug 2011 12:55:18 +0000 (12:55 +0000)]
Add FIXED_DOUBLE_ARRAY_TYPE to INSTANCE_TYPE_LIST_ALL in objects.h
Leaving this out can cause crashes when running with --heap-stats (but this is only used when reporting heap statistics, so this is not a stability issue).
Review URL: http://codereview.chromium.org/
7647018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8932
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 15 Aug 2011 10:39:51 +0000 (10:39 +0000)]
Prepare push to trunk. Now working on version 3.5.6.
Review URL: http://codereview.chromium.org/
7645020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8931
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 12 Aug 2011 14:52:03 +0000 (14:52 +0000)]
Change AddElementsToFixedArray to work on FixedArrayBase rather than JSObject
In the process, make ElementsAccessors work internally more seamlessly with FixedArrayBase.
R=svenpanne@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
7618012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8930
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 12 Aug 2011 13:54:27 +0000 (13:54 +0000)]
Change JSObject elements to be of type FixedArrayBase
R=kmillikin@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
7617010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8927
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Fri, 12 Aug 2011 10:52:49 +0000 (10:52 +0000)]
Simplify handling of exits from with and catch.
Remove the try/finally used for with and catch. Instead of using
try/finally to handle break and continue from with or catch,
statically track nesting dept and clean up when compiling break or
continue.
And instead of using try/finally to handle throw to handler in a frame
whose pc is inside a with or catch, store the context that the handler
should run in in the handler itself.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7618007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8922
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 12 Aug 2011 10:13:40 +0000 (10:13 +0000)]
Add roundsd instruction to ia32 and use it in optimized Math.floor.
It is available platforms that have SSE 4.1 and allows us to handle
negative numbers without deoptimization. Before we would deoptimize
on negative inputs to Math.floor. x64 already uses this instruction.
* Change Math.floor unit test to make sure every test case gets
optimized by changing the source code for each test case.
* Fix HIR debug printing for some instructions.
Review URL: http://codereview.chromium.org/
7628017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8921
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 12 Aug 2011 09:52:41 +0000 (09:52 +0000)]
Update .gitignore to include out/ directory created by Gyp/Make builds
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8920
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 12 Aug 2011 09:49:55 +0000 (09:49 +0000)]
Pick the namespace alias 'i' from v8.h.
These files already include v8.h so they don't need to define the
namespace alias again.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/
7640012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8919
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 12 Aug 2011 08:45:17 +0000 (08:45 +0000)]
Do not use deprecated ARM instructions in DirectCEntryStub::GenerateCall.
Non-ancient versions of the ARM-ARM explicitly deprecate most uses of the PC
within instructions and older ARM implementations have a non-predictable offset
(8 or 12) for some of these deprecated uses. Avoiding the deprecated instruction
costs us one additional instruction in DirectCEntryStub::GenerateCall, but this
should not cause any significant performance degradation.
The deoptimizer still uses the PC in a stm instruction, but it is a bit unclear
what to do about that, so simply a comment has been added to reconsider this in
the future.
Review URL: http://codereview.chromium.org/
7633014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8916
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Thu, 11 Aug 2011 22:41:07 +0000 (22:41 +0000)]
Landing change for bradnelson@google.com from codereview.chromium.org/
7616013/ :
Dropping removed source file from the gyp build description.
BUG=None
TEST=None
R=iposva@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8912
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Thu, 11 Aug 2011 16:29:28 +0000 (16:29 +0000)]
Preliminary code for block scopes and block contexts.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
7549008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8911
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 11 Aug 2011 16:11:07 +0000 (16:11 +0000)]
Rollback of r8903
Review URL: http://codereview.chromium.org/
7620012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8909
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 11 Aug 2011 15:18:55 +0000 (15:18 +0000)]
Quick fix to issue 1593
BUG=v8:1593
Review URL: http://codereview.chromium.org/
7622009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8903
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 11 Aug 2011 14:00:16 +0000 (14:00 +0000)]
Create a common base class for Fixed-, FixedDouble- and ExternalArrays.
Also unify Crankshaft code to load array length.
BUG=v8:1493
TEST=external-arrays.js
Review URL: http://codereview.chromium.org/
7600025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8901
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 11 Aug 2011 13:59:29 +0000 (13:59 +0000)]
Output missing comments after the last disassembled instruction.
Review URL: http://codereview.chromium.org/
7623014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8900
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 11 Aug 2011 13:58:28 +0000 (13:58 +0000)]
Third attempt to fix ARM cross-compile build
Review URL: http://codereview.chromium.org/
7620009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8899
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 11 Aug 2011 13:56:09 +0000 (13:56 +0000)]
Fixed printing of deoptimization input data without --print-code-verbose.
Review URL: http://codereview.chromium.org/
7617008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8898
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 11 Aug 2011 12:52:37 +0000 (12:52 +0000)]
Removed some arbitrary size restrictions when disassembling generated code.
We output line-by-line now, this avoids hitting StringBuffer ASSERTs when
disassembling huge code objects.
Review URL: http://codereview.chromium.org/
7622006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8897
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 11 Aug 2011 12:07:37 +0000 (12:07 +0000)]
Revert some .gyp refactoring to fix ARM cross-compilation
Review URL: http://codereview.chromium.org/
7623009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8894
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 11 Aug 2011 09:08:44 +0000 (09:08 +0000)]
Make threaded tests not use static fields for communication.
TEST=cctest/Threaded4
Review URL: http://codereview.chromium.org/
7620007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8892
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 11 Aug 2011 08:26:01 +0000 (08:26 +0000)]
Remove unused code from runtime profiler.
Review URL: http://codereview.chromium.org/
7617003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8887
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 11 Aug 2011 07:22:16 +0000 (07:22 +0000)]
Simplify and optimize ToBoolean handling.
Changing our builtin JavaScript code slightly, we can make sure that we never
see internal objects as arguments for ToBoolean at runtime. Removing that case
from the stub generator and crankshaft makes things a lot easier.
Heap numbers can never be undetectable (only strings and spec objects can), so
we can leave out a useless test.
Try to re-use a non-null register value when returning 'true' in some cases.
Removed special handling of the 'handle all' case, it will very probably never
happen in real code and only makes things more complicated.
Improved naming of the ToBoolean stubs a bit, reflecting the order in which
cases are handled in the code itself.
Review URL: http://codereview.chromium.org/
7497063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8886
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
antonm@chromium.org [Thu, 11 Aug 2011 06:40:14 +0000 (06:40 +0000)]
Allows not API functions as inputs for CreationConext method.
Review URL: http://codereview.chromium.org/
7552034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8885
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 10 Aug 2011 16:05:17 +0000 (16:05 +0000)]
Fix fun.apply(receiver, arguments) optimization.
R=kmillikin@chromium.org
BUG=v8:1592
TEST=mjsunit/regress/regress-1592.js
Review URL: http://codereview.chromium.org/
7497067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8884
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 10 Aug 2011 14:07:26 +0000 (14:07 +0000)]
Fix cross-compilation for ARM (hopefully)
TEST=Arm builder on Chromium waterfall successfully compiles
Review URL: http://codereview.chromium.org/
7607032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8880
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 10 Aug 2011 13:11:14 +0000 (13:11 +0000)]
Fix x64 build.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/
7604034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8879
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00