vegorov@chromium.org [Fri, 24 Jun 2011 12:04:14 +0000 (12:04 +0000)]
Fix three GC unsafe places found by gcmole's dead_vars analysis.
Review URL: http://codereview.chromium.org/7247013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8411
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 24 Jun 2011 11:38:47 +0000 (11:38 +0000)]
Remove obsolete aggregating and non-working producers heap profilers.
2000 LOC are gone!
R=sgjesse@chromium.org
BUG=1481
Review URL: http://codereview.chromium.org/7247018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8406
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 24 Jun 2011 08:46:57 +0000 (08:46 +0000)]
MIPS: port Add missing write barrier for arguments store ICs.
Ported r8390 (52d4605)
BUG=
TEST=
Review URL: http://codereview.chromium.org//7238020
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8405
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Fri, 24 Jun 2011 08:26:47 +0000 (08:26 +0000)]
MIPS: Fix a bug in MacroAssembler::CheckFastElements.
This fixes 3 mjsunit tests when running with --stress-opt: object-freeze,
object-prevent-extensions, object-seal.
Original commit was
54ce3d60 (r8176).
BUG=
TEST=
Review URL: http://codereview.chromium.org//7236024
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8404
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Fri, 24 Jun 2011 07:46:57 +0000 (07:46 +0000)]
Add regression test for optimized version of Math.abs.
This issue was already fixed on bleeding edge, but adding regression
test to get coverage and to make sure it works on the branches.
Review URL: http://codereview.chromium.org/7237022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8402
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 23 Jun 2011 12:03:16 +0000 (12:03 +0000)]
Revert "ARM: Improve register allocation and constraints."
This reverts r8381.
It was causing Mozilla test mozilla/ecma/Date/15.9.3.8-5 to fail and Sputnik tests S15.9.3.1_A5_T5, S15.9.3.1_A5_T1, S15.9.3.1_A5_T2, S15.9.3.1_A5_T4, S15.9.3.1_A5_T3 and S15.9.3.1_A5_T6 to timeout.
R=ager@chromium.org
BUG=none
TEST=mozilla/ecma/Date/15.9.3.8-5, S15.9.3.1_A5_T5, S15.9.3.1_A5_T1, S15.9.3.1_A5_T2, S15.9.3.1_A5_T4, S15.9.3.1_A5_T3 and S15.9.3.1_A5_T6
Review URL: http://codereview.chromium.org//7246004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8397
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Thu, 23 Jun 2011 11:22:21 +0000 (11:22 +0000)]
Trim fast elements tail on significant length decreases.
Runtime_RegExpExecMultiple had to be updated because it assumed
setting an array's length to zero still keeps some capacity in the
backing store.
R=ager@chromium.org
Review URL: http://codereview.chromium.org/7237004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8396
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 23 Jun 2011 09:30:39 +0000 (09:30 +0000)]
Shrink dictionaries on deletion if number of elements are less than a
quarter of the capacity.
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/7190032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8391
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 23 Jun 2011 09:20:07 +0000 (09:20 +0000)]
Add missing write barrier for arguments store ICs.
Review URL: http://codereview.chromium.org/7207006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8390
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 23 Jun 2011 08:28:23 +0000 (08:28 +0000)]
Make extensions in different tests have different names.
In the threaded test, they influenced each other.
Review URL: http://codereview.chromium.org/7244001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8389
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 23 Jun 2011 06:33:38 +0000 (06:33 +0000)]
Fix renaming patch to also compile in debug mode.
R=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7236015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8387
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 23 Jun 2011 06:26:50 +0000 (06:26 +0000)]
HBasicBlock::CreateSimulate argument name clarity
* src/hydrogen.h:
* src/hydrogen.cc (HBasicBlock::CreateSimulate): Rename "id" arg to
"ast_id".
BUG=
TEST=
Review URL: http://codereview.chromium.org/7234010
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8385
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 22 Jun 2011 20:41:02 +0000 (20:41 +0000)]
Prevent a NULL deref.
Patch by Rachel Blum <groby@chromium.org>
R=mnaganov@chromium.org
Review URL: http://codereview.chromium.org/7218036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8384
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 22 Jun 2011 20:23:48 +0000 (20:23 +0000)]
Fix issue 1354: Bad function name inference.
R=kmillikin@chromium.org, vitalyr@chromium.org
BUG=1354
TEST=test-func-name-inference
Review URL: http://codereview.chromium.org/7206015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8383
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 22 Jun 2011 20:22:44 +0000 (20:22 +0000)]
Fix 64 bit build on FreeBSD. 32 bit build is still borked.
Review URL: http://codereview.chromium.org/7229008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8382
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 22 Jun 2011 19:49:31 +0000 (19:49 +0000)]
ARM: Improve register allocation and constraints.
Gives ~20% boost for Crypto benchmark on A9.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7148018
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8381
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 22 Jun 2011 19:18:04 +0000 (19:18 +0000)]
ARM: Add PostIndex support to Ldrd/Strd macro fallback code.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7080052
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8380
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
cira@chromium.org [Wed, 22 Jun 2011 18:55:06 +0000 (18:55 +0000)]
Adding support for number formating to the JS i18n API.
This is the last part of the API that belongs in public spec.
Methods supported:
- format
- derive
Options supported:
- style (decimal, scientific, currency and percent)
- pattern
- skeleton
TEST= Visit i18n.kaziprst.org/numberformat.html
Review URL: http://codereview.chromium.org/7129051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8379
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 22 Jun 2011 17:32:35 +0000 (17:32 +0000)]
d8 drops into a shell if no files are passed on command line
Fixes regression introduced in r8241.
BUG=
TEST=Run ./d8 --print_code -- should drop into shell.
Review URL: http://codereview.chromium.org/7193011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8378
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 22 Jun 2011 15:30:00 +0000 (15:30 +0000)]
Slightly improve r8367, fix to overflow of on-stack replacement.
The improvement is included in the port of r8367 to earlier versions of V8.
Review URL: http://codereview.chromium.org/7229011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8370
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Wed, 22 Jun 2011 14:20:23 +0000 (14:20 +0000)]
Inctroduce NewStrictSubstring to avoid check for SubString(str, 0, str.length). Cleanup JsonParser.
Review URL: http://codereview.chromium.org/7230006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8369
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Wed, 22 Jun 2011 13:54:35 +0000 (13:54 +0000)]
Cleanup extra initialization of TickSample fields.
R=vitalyr@chromium.org
BUG=1293
Review URL: http://codereview.chromium.org/7203005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8368
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 22 Jun 2011 13:08:40 +0000 (13:08 +0000)]
Fix an overflow in on-stack replacement spill-slot allocation for Crankshaft.
BUG=v8:1407
TEST=
Review URL: http://codereview.chromium.org/7231008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8367
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 22 Jun 2011 12:39:45 +0000 (12:39 +0000)]
Add possibility to configure 'prototype' property via FunctionTemplate
BUG=v8:1479
TEST=test-api/SetPrototypeProperties
Review URL: http://codereview.chromium.org/7229007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8366
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 22 Jun 2011 12:36:29 +0000 (12:36 +0000)]
Prepare push to trunk. Now working on V8 version 3.4.7.
Review URL: http://codereview.chromium.org/7234008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8365
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 22 Jun 2011 10:24:40 +0000 (10:24 +0000)]
Eliminate unnecessary patching of load-length ICs in megamorphic state.
This avoid the worst case of patching ICs repeatedly with the
same stub code object.
BUG=v8:1489
Review URL: http://codereview.chromium.org/7230007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8364
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 22 Jun 2011 10:13:10 +0000 (10:13 +0000)]
Limit the size of the space reserved for code on systems that
are short of virtual memory. This should make V8 work in 64 bit
on OpenBSD in its default configuration. It is a simplified
version of the reverted 8133 which also lowered the non-code
heap size, causing test failures in Chromium on MacOS.
Review URL: http://codereview.chromium.org/7234004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8363
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 22 Jun 2011 09:06:03 +0000 (09:06 +0000)]
Combined identical classes V8JavaScriptScanner and StandAloneJavaScriptScanner.
Now only uses the common superclass of the two scanner classes.
Updated comment on KeywordMatcher.
Review URL: http://codereview.chromium.org/7211013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8362
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 22 Jun 2011 08:28:35 +0000 (08:28 +0000)]
Make ToBooleanStub more consistent across platforms.
The declaration of the ToBoolean class moved to the platform-independent part
and its implementations are now structurally very similar. This is just an
intermediate cleanup step to add type recording at the call site.
Note that the MIPS implementation has not really been touched, so it should
continue to work, too.
Review URL: http://codereview.chromium.org/7218012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8359
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 22 Jun 2011 07:48:32 +0000 (07:48 +0000)]
MIPS: Fix arguments-branch update per review comments.
This is a follow-on to r8340, http://codereview.chromium.org/7216004/
Søren had commited changes and closed issue, as Karl was commenting about
problems in the code.
Thanks Karl, for your detailed code review. I have corrected the issues
you raised.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7232004
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8358
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 22 Jun 2011 06:24:34 +0000 (06:24 +0000)]
ARM: Fix context save/restore for VFP registers.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7217011
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8357
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 22 Jun 2011 05:53:40 +0000 (05:53 +0000)]
Allow compiling v8_shell with the 'host' toolset.
BUG=82437
TEST=Compile browser_tests for Arm against http://codereview.chromium.org/7087014/
Review URL: http://codereview.chromium.org/7212014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8356
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Tue, 21 Jun 2011 19:42:35 +0000 (19:42 +0000)]
Issue 1418: Debug: extends setBreakpoint API to accept partial script name as a parameter
Review URL: http://codereview.chromium.org/7200024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8355
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 21 Jun 2011 13:57:03 +0000 (13:57 +0000)]
[x64] Fix disassembly of movmskpd instruction.
The destination is a GP register, not an XMM register. ia32 did not
have this problem.
BUG=
TEST=Check --print_code output for code that tests for -0.0.
Review URL: http://codereview.chromium.org/7191015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8352
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 21 Jun 2011 13:34:16 +0000 (13:34 +0000)]
Make multi-line comments not count when checking whether --> is first on a line.
A multi-line comment containing a newline is considered a line-terminator for
other purposes, but a "-->" following such a comment is considered as being
on the same line as the text preceeding the multi-line comment.
This behavior matches JSC matching Firefox.
TEST=cctest/test-parsing/ScanHTMLEndComments
Review URL: http://codereview.chromium.org/7218009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8351
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 21 Jun 2011 11:18:15 +0000 (11:18 +0000)]
Remove redundant hydrogen- and lithium instruction for symbol comparison.
We had two instructions HCompareJsObjectEq and HCompareSymbolEq that behave
exactly the same. I removed one and renamed the remaining instruction into
HCompareObjectEq.
Review URL: http://codereview.chromium.org/7206040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8349
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Tue, 21 Jun 2011 09:27:38 +0000 (09:27 +0000)]
Fix wrong bounds check on arguments object.
TEST=added to test/mjsunit/arguments.js
Review URL: http://codereview.chromium.org/7217005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8348
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 21 Jun 2011 08:07:45 +0000 (08:07 +0000)]
Correctly handle non-array receivers in Array length setter.
BUG=v8:1491
TEST=mjsunit/regress/regress-1491.js
Review URL: http://codereview.chromium.org/7206038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8343
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 21 Jun 2011 08:02:34 +0000 (08:02 +0000)]
Heap profiler: add an ability to iterate over snapshot's nodes.
This is a preparation for removing aggregated heap snapshots.
W/o this API, counting object instances in a snapshot is very hard.
R=sgjesse@chromium.org
BUG=1481
TEST=cctest/test-heap-profiler/NodesIteration
Review URL: http://codereview.chromium.org/7204040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8342
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 21 Jun 2011 07:52:19 +0000 (07:52 +0000)]
Use issue number instead of username for TODO comment
Review URL: http://codereview.chromium.org/7216007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8341
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 21 Jun 2011 07:47:26 +0000 (07:47 +0000)]
MIPS: port Merge arguments branch to bleeding edge (second try).
Ported r8315 (d70d395).
BUG=
TEST=
Review URL: http://codereview.chromium.org//7216004
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8340
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 21 Jun 2011 07:34:01 +0000 (07:34 +0000)]
MIPS: Port some DIV changes to BinaryOpStub::GenerateInt32Stub().
There were some changes in ARM r8172 that we needed to port to MIPS,
but missed.
The bug was exposed with the Arm & Mips fix in r8321, "Fix wrong
parenthesis in stub ARM and MIPS generation code."
BUG=
TEST=
Review URL: http://codereview.chromium.org//7211006
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8339
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 21 Jun 2011 07:32:23 +0000 (07:32 +0000)]
MIPS: Update an outdated comment in the CEntryStub.
Following r8289 (bf0c0cf).
BUG=
TEST=
Review URL: http://codereview.chromium.org//7211007
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8338
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 20 Jun 2011 15:11:04 +0000 (15:11 +0000)]
Prepare push to trunk. Now working on V8 version 3.4.6. Revision 8324, which also claims this, has been superseded by this one.
Review URL: http://codereview.chromium.org/7210016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8336
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 20 Jun 2011 14:14:33 +0000 (14:14 +0000)]
Restore accidentally deleted src/extensions/experimental/i18n.js
Review URL: http://codereview.chromium.org/7205030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8335
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 20 Jun 2011 13:13:28 +0000 (13:13 +0000)]
Use the correct soname when linking together the preparser shared lib.
[I've accidentally lost my gcl_info directory and I see no way to commit the old CL, so I simply deleted the old CL opened a new one. :-P ]
Review URL: http://codereview.chromium.org/7210012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8332
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 20 Jun 2011 12:45:09 +0000 (12:45 +0000)]
Fix DoHasInstanceType on ARM
Was broken by the recent JumpIfSmi() cleanup.
TEST=es5conform
Review URL: http://codereview.chromium.org/7206023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8331
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 20 Jun 2011 12:33:08 +0000 (12:33 +0000)]
Refactor the way we collect the information for associating type-related infos
with AST IDs. Previously 3 different places had to match in how they handle a
given case, now we are down to 2, with an even simpler logic.
The downside is that due to this simpler logic the allocated dictionary could be
larger than before, but test have shown that this happens *very* rarely, because
its capacity is rounded to the next power of 2, anyway. Furthermore, the oracle
doesn't live long enough that we should really care.
The whole oracle is probably still a bit too tricky in its details, but this is
at least a step into the right direction.
Review URL: http://codereview.chromium.org/7204003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8330
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 20 Jun 2011 12:29:03 +0000 (12:29 +0000)]
Include the loop header block when eliminating stack checks
In simple unconditional loops - like the following - the hydrogen stack check elimination did not detect the call as the loop header block itself was not considered.
function f(o) {
while(true) {
o.a();
}
}
R=fschneider@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7210010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8329
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 20 Jun 2011 12:20:30 +0000 (12:20 +0000)]
Do not automatically pretenure global closures in runtime.cc
unless the caller has indicated that pretenuring is desirable.
This is intended to fix http://jsperf.com/scope-lookups/3
Review URL: http://codereview.chromium.org/7210011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8328
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 20 Jun 2011 11:52:24 +0000 (11:52 +0000)]
Made parser not accept unicode escapes inside "native" when used as a keyword.
This is a regression relative to the original behavior, when "native" was a keyword,
since keywords cannot contain esacpes.
Added tests for escapes and for not allowing line-terminators betwen "native" and "function".
Review URL: http://codereview.chromium.org/7206022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8327
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 20 Jun 2011 10:20:57 +0000 (10:20 +0000)]
Make "native" not a keyword.
We now only recognize "native function" when it occurs in extension scripts
(parsing with a non-NULL extension), and only if there is no line-terminator
between "native" and "function" (so that it would otherwise be a Syntax Error).
Preparsing never recognizes native functions, which is acceptable since we
never preparse extension scripts (because we don't allow lazy functions
anyway).
BUG=v8:1097
Review URL: http://codereview.chromium.org/7206020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8326
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 20 Jun 2011 10:19:00 +0000 (10:19 +0000)]
Crankshaft support for polymorphic array handling
Review URL: http://codereview.chromium.org/7170012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8325
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 20 Jun 2011 09:30:54 +0000 (09:30 +0000)]
Prepare push to trunk. Now working on version 3.4.6.
Review URL: http://codereview.chromium.org/7212007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8324
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Mon, 20 Jun 2011 07:40:42 +0000 (07:40 +0000)]
Generalized Stephen's patch from codereview.chromium.org/7044100/ and
added a few test cases.
Review URL: http://codereview.chromium.org/7212006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8323
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 17 Jun 2011 18:32:36 +0000 (18:32 +0000)]
Cleanup: use JumpIf[Not]Smi() whenever we can
Review URL: http://codereview.chromium.org/7191007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8322
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 17 Jun 2011 10:45:29 +0000 (10:45 +0000)]
Fix wrong parenthesis in stub ARM and MIPS generation code.
I think the problem did not manifest as a bug, since the only
consequence was to generate extra code to return heap number
results in case of the INT32-stub.
Review URL: http://codereview.chromium.org/7192006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8321
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 17 Jun 2011 08:40:30 +0000 (08:40 +0000)]
Fix issue 1417: check for script source availability when enumerating optimized functions.
R=kasperl@chromium.org,kmillikin@chromium.org
BUG=1417
TEST=test-log/Issue23768
Review URL: http://codereview.chromium.org/7184027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8320
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 17 Jun 2011 08:20:27 +0000 (08:20 +0000)]
Fix mozilla test-expectatations to match the new behavior of multi-line comments.
Review URL: http://codereview.chromium.org/7189030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8319
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 17 Jun 2011 08:01:12 +0000 (08:01 +0000)]
Refix issue 1472. The previous fix worked for the example in the bug
report, but was not general enough to catch all cases. This is a new
approach. Includes regression test!
Review URL: http://codereview.chromium.org/7193007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8318
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Fri, 17 Jun 2011 07:23:07 +0000 (07:23 +0000)]
Make line-terminators inside multi-line comments count.
Now follows the specification. Follows WebKit change in revision 89100.
BUG=86431
TEST=regress-892742
Review URL: http://codereview.chromium.org/7184034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8317
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 16 Jun 2011 15:18:48 +0000 (15:18 +0000)]
Add missing assert to Label destructor.
Review URL: http://codereview.chromium.org/7172026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8316
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Thu, 16 Jun 2011 14:12:58 +0000 (14:12 +0000)]
Merge arguments branch to bleeding edge (second try).
Review URL: http://codereview.chromium.org/7187007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8315
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 16 Jun 2011 08:35:26 +0000 (08:35 +0000)]
Reinitialize the arguments object in d8 when renewing the evaluation context (fixes issue 1477).
Review URL: http://codereview.chromium.org/7189007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8312
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 16 Jun 2011 07:58:47 +0000 (07:58 +0000)]
Fix building in release mode with disassembler=on
BUG=v8:1473
Review URL: http://codereview.chromium.org/7147014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8311
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 16 Jun 2011 07:00:46 +0000 (07:00 +0000)]
ARM: Clean up literal pool generation.
Remove dead code, and generate pools less frequently.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7108061
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8309
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Thu, 16 Jun 2011 06:37:49 +0000 (06:37 +0000)]
Revert "Merge arguments branch to bleeding merge."
This reverts commit
ceb31498b9d69edca3260820fb4047045891ce6d.
TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/7172030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8308
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 15 Jun 2011 20:15:40 +0000 (20:15 +0000)]
Avoid OOM on regexps with nested quantifiers.
http://code.google.com/p/v8/issues/detail?id=1472
Review URL: http://codereview.chromium.org/7170014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8302
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 15 Jun 2011 19:57:39 +0000 (19:57 +0000)]
Add missing branches in code generated for LModI with power-of-2 divisor.
BUG=v8:1476
TEST=test/mjsunit/regress/regress-1476.js
Review URL: http://codereview.chromium.org/7097015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8301
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Wed, 15 Jun 2011 15:09:28 +0000 (15:09 +0000)]
Merge arguments branch to bleeding merge.
Review URL: http://codereview.chromium.org/7167006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8300
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 15 Jun 2011 13:54:40 +0000 (13:54 +0000)]
Make name and message non-enumerable on Error object (this is a partial fix for issue 1215)
Review URL: http://codereview.chromium.org/7172011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8299
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 15 Jun 2011 13:33:10 +0000 (13:33 +0000)]
Add a number of old tests to the mjsunit test suite.
R=kasperl@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7171016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8298
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 15 Jun 2011 11:41:03 +0000 (11:41 +0000)]
Change DefineOrRedefineDataProperty to use local lookup (fix issue 1435).
This prevents us from normalizing when we do not need to.
Review URL: http://codereview.chromium.org/7168012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8296
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 15 Jun 2011 10:47:37 +0000 (10:47 +0000)]
Ensure that bound functions does not have a prototype (fixes issue 794)
Review URL: http://codereview.chromium.org/7148014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8293
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 15 Jun 2011 10:07:10 +0000 (10:07 +0000)]
MIPS: port First steps towards better code generation for LBranch.
Ported r8274 (03e42c0)
BUG=
TEST=
Review URL: http://codereview.chromium.org//7170006
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8292
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 15 Jun 2011 09:58:04 +0000 (09:58 +0000)]
Prepare push to trunk.
Review URL: http://codereview.chromium.org/7171015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8291
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 15 Jun 2011 09:20:24 +0000 (09:20 +0000)]
Generate better branch code for instanceof-predicates.
Review URL: http://codereview.chromium.org/7168013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8290
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Wed, 15 Jun 2011 09:17:54 +0000 (09:17 +0000)]
Update an outdated comment in the CEntryStub on ARM.
R=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/7134106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8289
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 15 Jun 2011 06:51:22 +0000 (06:51 +0000)]
Remove unused methods.
Do not force set DEBUG.
R=kasperl@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7171014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8287
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 15 Jun 2011 06:44:57 +0000 (06:44 +0000)]
Correctly set ReadOnly flag on indexed properties when using the API Set method (fixes issue 1470)
Review URL: http://codereview.chromium.org/7149015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8286
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 14 Jun 2011 19:26:09 +0000 (19:26 +0000)]
Fix invalid assertion.
Runtime_DeclareContextSlot is used to declare global variables.
R=vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7158001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8285
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 14 Jun 2011 15:00:57 +0000 (15:00 +0000)]
Guard an unsafe cast of a catch context's extension object.
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7149019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8283
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 14 Jun 2011 13:21:24 +0000 (13:21 +0000)]
Distinguish keyed loads with a symbol key from fast elements loads.
This change fixes the deoptimization when a keyed load is used with
a symbol key. Before we would wrongly generate a fast elements load.
Now we generate a generic keyed load instead.
BUG=1471
Review URL: http://codereview.chromium.org/7150010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8281
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Tue, 14 Jun 2011 12:48:25 +0000 (12:48 +0000)]
Make valgrind happy with SparseSet.
R=ager@chromium.org
BUG=crbug.com/83626
Review URL: http://codereview.chromium.org/7111047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8279
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 14 Jun 2011 12:16:23 +0000 (12:16 +0000)]
Change the representation of catch contexts.
Before, they had no extra slots and an extension object with one named
property. Now, they use the extension slot for the property name and have
an extra slot for the thrown object. This increases the size of the context
itself, but removes overall allocation and eliminates a level of indirection.
R=ager@chromium.org
Review URL: http://codereview.chromium.org/7152002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8277
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 14 Jun 2011 11:28:14 +0000 (11:28 +0000)]
Geve correct error message when Object.isExtensible is called on a non object (fixes issue 1452)
Review URL: http://codereview.chromium.org/7146010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8275
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 14 Jun 2011 09:15:25 +0000 (09:15 +0000)]
First steps towards better code generation for LBranch:
* AST Expression nodes get a separate testing ID to record type info in
ToBooleanStub later. This is necessary to avoid clashes with other uses of
already existing IDs.
* In order to avoid threading the condition expression through tons of places,
TestContexts carry it now with them. Note that we will probably only need the
testing ID of the expression, but having the whole thing at hand makes
debugging easier. Probably we will change this later...
Review URL: http://codereview.chromium.org/7046073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8274
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 14 Jun 2011 09:10:39 +0000 (09:10 +0000)]
Always print the deoptimization data when disassembling the generated code
R=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7003093
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8273
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 14 Jun 2011 06:37:56 +0000 (06:37 +0000)]
MIPS: port Refactor platform-specific code for determining shared stub for keyed load/stores.
Ported r8253 (9d8e6ab).
BUG=
TEST=
Review URL: http://codereview.chromium.org//7003141
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8272
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 13:43:48 +0000 (13:43 +0000)]
Skip test-debug/DebuggerAgent on ARM. Issue 945.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 10 Jun 2011 12:41:43 +0000 (12:41 +0000)]
added explicit attributes since constructors have only one argument now.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8267
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 10 Jun 2011 12:41:35 +0000 (12:41 +0000)]
removed isolates from d8 since they are not necessary anymore
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8266
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 10 Jun 2011 12:41:26 +0000 (12:41 +0000)]
corrected parts in d8 that accesses the new "deisolated" Thread in platform.h
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8265
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 10 Jun 2011 12:33:55 +0000 (12:33 +0000)]
Add GetOwnPropertyNames method for Object in the API
Patch by Peter Varga.
BUG=none
TEST=cctest/test-api/PropertyEnumeration
Review URL: http://codereview.chromium.org/7129058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8264
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 10 Jun 2011 12:15:30 +0000 (12:15 +0000)]
Added two convenience methods to access an int/double argument from within a
runtime function and use these in various places.
Review URL: http://codereview.chromium.org/7003114
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8263
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Fri, 10 Jun 2011 12:09:48 +0000 (12:09 +0000)]
Add support for hydrogen control instructions with >2 successor blocks.
This change makes the number of successors of a control instruction
configurable with a template parameter and changes the existing instructions
to use it.
To iterate over all successors I added an iterator instead of always calling
First- and SecondSuccessor.
Review URL: http://codereview.chromium.org/7114004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8262
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 09:54:04 +0000 (09:54 +0000)]
"Deiceolate" Thread classes.
Thread class was receiving an isolate parameter by default.
This approact violates the assumption that only VM threads
can have an associated isolate, and can lead to troubles,
because accessing the same isolate from different threads
leads to race conditions.
This was found by investigating mysterious failures of the
CPU profiler layout test on Linux Chromium. As almost all
threads were associated with some isolate, the sampler was
trying to sample them.
As a side effect, we have also fixed the DebuggerAgent test.
Thanks to Vitaly for help in fixing isolates handling!
R=vitalyr@chromium.org
BUG=none
TEST=none
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8259
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Fri, 10 Jun 2011 09:45:02 +0000 (09:45 +0000)]
Fix issue 1447 by not redefining properties unneccesarily in seal and freeze.
This avoids attempting to redefine function.arguments with a different
value than the current one. function.arguments returns a new copy on
each invocation.
R=lrn@chromium.org
BUG=v8:1447
TEST=mjsunit/regress/regress-1447.js
Review URL: http://codereview.chromium.org/7044104
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 09:42:08 +0000 (09:42 +0000)]
Revert accidental r8254..r8256
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8257
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 10 Jun 2011 09:36:35 +0000 (09:36 +0000)]
trying to fix test
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8256
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00