fschneider@chromium.org
b59f2b700b
Fix a bug in %_GetCachedArrayIndex.
...
This inline runtime function had the wrong super class.
It did not cause any problems since it is only used in
our natives and never in a test context.
Review URL: http://codereview.chromium.org/7253004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 08:49:01 +00:00
sgjesse@chromium.org
26e53ac042
MIPS: port Fix receiver check in arguments ICs.
...
Ported r8429 (60a2787)
BUG=
TEST=
Review URL: http://codereview.chromium.org//7276027
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 07:54:01 +00:00
sgjesse@chromium.org
b6afa34afa
MIPS: Long branch implementation and trampoline improvement.
...
Improve the branch and branch-trampoline mechanism to automatically
use long-jumps when function size grows large. Reduce size of emitted
trampoline pools.
Now passes mozilla regress-80981.js.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7239020
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 07:31:42 +00:00
ager@chromium.org
614e542869
Ensure 16-byte stack alignment on Solaris.
...
GCC generates instructions such as movdqa that requires 16-byte alignment.
R=ricow@chromium.org
BUG=v8:1505
TEST=
Review URL: http://codereview.chromium.org/7277031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-28 07:07:09 +00:00
ager@chromium.org
a8e4b0cfb1
Prepare push to trunk. Now working on version 3.4.8.
...
R=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/7235025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 13:16:07 +00:00
ager@chromium.org
89cc886ba7
Fix receiver check in arguments ICs.
...
The receiver needs to be checked in the same way as all other KeyedLoadICs to take non-JSObject and objects that require access checks or has interceptors into account.
R=sgjesse@chromium.org
BUG=87478
TEST=mjsunit/regress/regress-crbug-87478.js
Review URL: http://codereview.chromium.org/7259015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 13:02:51 +00:00
sgjesse@chromium.org
54d6072332
Change the handling of stack check on backward branches
...
The hydrogen stack check instruction is now added to each loop and the stack check handling on the back edge has been removed.
This change causes regression on small tight loops as the stack check is now at the top of the loop instead of at the bottom, and that requires one additional unconditional jump per loop iteration. However the reason for this change is to avoid worse regressions for upcoming changes to correctly support debugger break in optimized code.
R=fschneider@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7216009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 12:12:27 +00:00
sgjesse@chromium.org
b7850c06d1
MIPS: port Better codegen for '<expression> === void <literal>'.
...
Ported r8420 (fd2ddbb)
Original commit message:
Detect the pattern in both, the full compiler and crankshaft and generate direct pointer
comparisons. Along the way I cleaned up 'typeof <expression> == <string literal>' comparisons
as well by lifting platform independent code and checking the symmetric case.
BUG=v8:1440
TEST=cctest/test-api.cc
Review URL: http://codereview.chromium.org//7262026
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 10:45:54 +00:00
lrn@chromium.org
fb4a2d160d
Cleanup of return types and names in factory.
...
Review URL: http://codereview.chromium.org/7240025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 09:02:34 +00:00
sgjesse@chromium.org
17c2a7a5ed
MIPS: update missing write barrier for arguments store ICs, per comments.
...
Per review comments in http://codereview.chromium.org/7238020 after
issue was closed, we had used an un-necessary Add, which is removed here.
Thanks for the suggestion.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7259010
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-27 08:56:25 +00:00
yangguo@chromium.org
310ed9ebba
removed some unnecessary stuff from d8's initialization
...
and got rid of the utility context unless interactive shell is used
Review URL: http://codereview.chromium.org/7219003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 20:04:32 +00:00
cira@chromium.org
ab2c0d4503
Change timeType and dateType in i18n date format API into timeStyle and dateStyle to match the proposal.
...
I've kept old keys too, until ChromeOS user switches to time/dateStyle.
Fixed regex for matching styles in date and number format.
TEST=i18n.kaziprst.org/datetimeformat.html should show proper results for both timeType and timeStyle.
Review URL: http://codereview.chromium.org/7244008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 16:58:28 +00:00
keuchel@chromium.org
5d8443c4cb
Updated test expectations of future reserved keyword tests.
...
Review URL: http://codereview.chromium.org/7237027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 16:54:47 +00:00
keuchel@chromium.org
ab3d4cf7b8
Proper handling of future reserved words in strict and normal mode.
...
BUG=86442
TEST=mjsunit/keywords-and-reserved_words.js
Review URL: http://codereview.chromium.org/7207007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 14:59:51 +00:00
keuchel@chromium.org
628a2e2a1f
Better codegen for '<expression> === void <literal>'.
...
Detect the pattern in both, the full compiler and crankshaft and generate direct pointer
comparisons. Along the way I cleaned up 'typeof <expression> == <string literal>' comparisons
as well by lifting platform independent code and checking the symmetric case.
BUG=v8:1440
TEST=cctest/test-api.cc
Review URL: http://codereview.chromium.org/7216008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 14:30:10 +00:00
sandholm@chromium.org
22abf6a579
Check for empty substring.
...
Review URL: http://codereview.chromium.org/7237023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 13:44:27 +00:00
sgjesse@chromium.org
b55a673177
MIPS: Minor bug fixes to macro-asm and simulator.
...
3 small fixes:
- Fix erroneous use of reg t6 in macro-assembler.
- Minor optimization to overflow-check macros.
- Fix un-init var use (typo) in simulator FPCall handling.
None of these affected test cases.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7236025
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-06-24 13:23:18 +00:00
vegorov@chromium.org
9310a8d78f
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
2011-06-24 12:04:14 +00:00
mikhail.naganov@gmail.com
f4bf8f8fee
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
2011-06-24 11:38:47 +00:00
sgjesse@chromium.org
94e5f2f35a
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
2011-06-24 08:46:57 +00:00
sgjesse@chromium.org
2f64c849f2
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
2011-06-24 08:26:47 +00:00
ricow@chromium.org
840e31a0b3
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
2011-06-24 07:46:57 +00:00
sgjesse@chromium.org
1d53788e7e
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
2011-06-23 12:03:16 +00:00
vitalyr@chromium.org
bbd5889f2c
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
2011-06-23 11:22:21 +00:00
ager@chromium.org
b652d79b10
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
2011-06-23 09:30:39 +00:00
fschneider@chromium.org
4bc671c2b0
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
2011-06-23 09:20:07 +00:00
lrn@chromium.org
1eb34e542c
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
2011-06-23 08:28:23 +00:00
ager@chromium.org
5ea7238814
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
2011-06-23 06:33:38 +00:00
ager@chromium.org
03fc1660b3
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
2011-06-23 06:26:50 +00:00
mikhail.naganov@gmail.com
0416b2edc4
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
2011-06-22 20:41:02 +00:00
mikhail.naganov@gmail.com
0a12f5dcf8
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
2011-06-22 20:23:48 +00:00
erik.corry@gmail.com
293c851db3
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
2011-06-22 20:22:44 +00:00
sgjesse@chromium.org
322d246e7e
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
2011-06-22 19:49:31 +00:00
sgjesse@chromium.org
8677fd370c
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
2011-06-22 19:18:04 +00:00
cira@chromium.org
2b77b78446
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
2011-06-22 18:55:06 +00:00
yangguo@chromium.org
286f1d6bc3
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
2011-06-22 17:32:35 +00:00
whesse@chromium.org
183efaee32
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
2011-06-22 15:30:00 +00:00
sandholm@chromium.org
a8921c4681
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
2011-06-22 14:20:23 +00:00
mikhail.naganov@gmail.com
650df48c55
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
2011-06-22 13:54:35 +00:00
whesse@chromium.org
8e7405800e
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
2011-06-22 13:08:40 +00:00
jkummerow@chromium.org
1e1387f12c
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
2011-06-22 12:39:45 +00:00
lrn@chromium.org
e8b2016b58
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
2011-06-22 12:36:29 +00:00
fschneider@chromium.org
d64b48fb3c
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
2011-06-22 10:24:40 +00:00
erik.corry@gmail.com
5b7b0ce861
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
2011-06-22 10:13:10 +00:00
lrn@chromium.org
e378829b24
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
2011-06-22 09:06:03 +00:00
svenpanne@chromium.org
0bb0d672b6
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
2011-06-22 08:28:35 +00:00
sgjesse@chromium.org
ee78600543
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
2011-06-22 07:48:32 +00:00
sgjesse@chromium.org
42a87564c3
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
2011-06-22 06:24:34 +00:00
ager@chromium.org
31ce5cca07
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
2011-06-22 05:53:40 +00:00
peter.rybin@gmail.com
d689da9108
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
2011-06-21 19:42:35 +00:00