fschneider@chromium.org [Mon, 30 May 2011 12:48:35 +0000 (12:48 +0000)]
Fix timeout and a small bug in a regression test.
Review URL: http://codereview.chromium.org/7085031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8106
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 30 May 2011 11:31:41 +0000 (11:31 +0000)]
Simple support for const variables in Crankshaft.
The approach is to handle the common case in the optimizing
compiler and to bailout for the rare corner cases.
This is done by initializing all local const-variables with
the hole value and disallowing any use of the hole value statically.
Review URL: http://codereview.chromium.org/6026006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8104
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Mon, 30 May 2011 10:47:38 +0000 (10:47 +0000)]
Fix JSON issue with arrays.
Review URL: http://codereview.chromium.org/7089003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8100
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 30 May 2011 09:42:28 +0000 (09:42 +0000)]
Removed dead flags.
Review URL: http://codereview.chromium.org/7077028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8097
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Mon, 30 May 2011 09:23:17 +0000 (09:23 +0000)]
Minor JSON cleanup. Also added comment requested for r8086.
Review URL: http://codereview.chromium.org/7086026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8095
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 30 May 2011 08:43:52 +0000 (08:43 +0000)]
Prepare push to trunk. Now working on version 3.4.1.
Review URL: http://codereview.chromium.org/7087025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8094
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 30 May 2011 07:53:21 +0000 (07:53 +0000)]
Allocate normal register for LDoubleToI in DoToInt32 (fixes no-sse3 issue)
Review URL: http://codereview.chromium.org/7083021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8093
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 30 May 2011 07:38:45 +0000 (07:38 +0000)]
Remove unused DummyScope implementation.
R=lrn@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7062020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8092
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Mon, 30 May 2011 07:33:12 +0000 (07:33 +0000)]
Simplify the Scope API.
Eliminate the LocalType enum in favor of a pair of functions, one for var
and const declarations and one for parameters. Move the responsibility for
adding a parameter variable to the Scope's internal data structure into the
Scope and out of the parser.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8091
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 30 May 2011 06:10:41 +0000 (06:10 +0000)]
linux: extend the ifdefs in shell.cc to cover V8_SHARED too
Review URL: http://codereview.chromium.org/7076030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8090
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 30 May 2011 06:04:36 +0000 (06:04 +0000)]
Correctly set the length of string before creating filler object in the json parser (fixes crbug 84186).
Testcase created based on the supplied test case from the bug report, but using json parse directly instead of through the chrome javascript console.
Review URL: http://codereview.chromium.org/7084023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Thu, 26 May 2011 14:41:11 +0000 (14:41 +0000)]
Fix Win compilation issue introduced in r8081.
Review URL: http://codereview.chromium.org/7074009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8086
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 26 May 2011 14:03:30 +0000 (14:03 +0000)]
Double allocation size for special json strings on every resize (fixes
crbug 83877)
The issue was that with the relatively small start and increment size of the string we created a ton of string handles when scanning a large string with special characters (500k+ in this case).
In addition, since we can not be sure the the newly allocated string
is in newspace a check is introduced and if not a filler object is
inserted instead of shrinking.
Review URL: http://codereview.chromium.org/7075009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8082
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sandholm@chromium.org [Thu, 26 May 2011 13:58:48 +0000 (13:58 +0000)]
JSON.stringify improvement. Fast case in C++ for string arrays.
Review URL: http://codereview.chromium.org/7077004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 26 May 2011 13:52:14 +0000 (13:52 +0000)]
ARM: Avoid using ldrd/strd with post increment
These instructions seems to cause problems in some situations. This reverts parts of r7873.
R=erik.corry@gmail.com
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//6962010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8080
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 26 May 2011 12:16:13 +0000 (12:16 +0000)]
Fix stray character in last build
TBR=kmillikin@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8078
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 26 May 2011 12:07:22 +0000 (12:07 +0000)]
Prevent deopt on double value assignment to typed arrays
Implement truncation of double and tagged values when assigning to an element of a typed arrays in order to avoid depots.
BUG=1313
TEST=test/mjsunit/external-array.js
Review URL: http://codereview.chromium.org/6961019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8077
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 26 May 2011 11:22:29 +0000 (11:22 +0000)]
Revert "Pass undefined to JS builtins when called with implicit receiver."
Presubmit and failing test.
TBR=lrn@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7071009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8075
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 26 May 2011 11:17:15 +0000 (11:17 +0000)]
Add a simple test for inlining of arguments accesses.
R=whesse@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7062018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8074
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 26 May 2011 11:07:48 +0000 (11:07 +0000)]
Pass undefined to JS builtins when called with implicit receiver.
A couple of corner cases have to be treated specially to not break
everything: eval and getter/setter definitions.
R=lrn@chromium.org
BUG=v8:1365
TEST=mjsunit/regress/regress-1365.js
Review URL: http://codereview.chromium.org/7068009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8073
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 26 May 2011 10:56:07 +0000 (10:56 +0000)]
Do not allow inlining functions with direct arguments access.
Our implementations of arguments without materializing the arguments
object (based on inspecting the stack frame) does not work for inlined
functions. Guard all attempts by disallowing them if possible or else
bailing out of the optimizing compiler.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/6976022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8072
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 26 May 2011 07:46:18 +0000 (07:46 +0000)]
MIPS: Added the stop() instruction with same behavior as on Arm simulator.
The already working watchpoint break mechanism has been extended to handle "stop" instructions, with text messages.
Explanation (also in constants-mips.h):
On MIPS Simulator breakpoints can have different codes:
- Breaks between 0 and kMaxWatchpointCode are treated as simple watchpoints, the simulator will run through them and print the registers.
- Breaks between kMaxWatchpointCode and kMaxStopCode are treated as stop() instructions (see Assembler::stop()).
- Breaks larger than kMaxStopCode are simple breaks, dropping you into the debugger.
The current values are 31 for kMaxWatchpointCode and 127 for kMaxStopCode.
From the user's point of view this works the same way as the ARM stop instruction except for the break code usage detailed above.
Ported commits: r5723 (
3ba78d24)
BUG=
TEST=
Review URL: http://codereview.chromium.org//7062014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8069
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 26 May 2011 07:35:09 +0000 (07:35 +0000)]
Make RegExp objects not callable.
Review URL: http://codereview.chromium.org/6930006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8068
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Thu, 26 May 2011 07:02:35 +0000 (07:02 +0000)]
MIPS: port Fix GC-unsafe corner case in bit-not on ARM.
Port r8055 to mips.
(
5b50df9c)
BUG=
TEST=
Review URL: http://codereview.chromium.org//7075003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
cira@chromium.org [Wed, 25 May 2011 22:18:41 +0000 (22:18 +0000)]
Landing codereview.chromium.org/7033038 for jshin.
Make 'ignoreCase' work in collator.
BUG=28604
TEST=http://www.i18nl10n.com/chrome/coll.html
Review URL: http://codereview.chromium.org/7008023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 25 May 2011 17:07:05 +0000 (17:07 +0000)]
Add fast cases for flat comparison to String::Is{Ascii,TwoByte}EqualTo.
R=ager@chromium.org
Review URL: http://codereview.chromium.org/7064017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8065
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 25 May 2011 16:47:54 +0000 (16:47 +0000)]
tools/stats-viewer: Update chromium stats table layout.
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/6992068
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8064
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 25 May 2011 12:40:04 +0000 (12:40 +0000)]
Untank the build.
Review URL: http://codereview.chromium.org/6992061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8060
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 25 May 2011 12:26:15 +0000 (12:26 +0000)]
Add comment better explaining the calling-stubs-from-stubs issue.
Review URL: http://codereview.chromium.org/7031046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8059
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 25 May 2011 10:49:48 +0000 (10:49 +0000)]
Add a comment about map collection into MarkCompactCollector::MarkUnmarkedObject.
Review URL: http://codereview.chromium.org/6992059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8056
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 25 May 2011 10:35:00 +0000 (10:35 +0000)]
Fix GC-unsafe corner case in bit-not on ARM
Review URL: http://codereview.chromium.org/6987009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8055
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 25 May 2011 08:37:38 +0000 (08:37 +0000)]
Change calls to undefined property setters to not throw (fixes issue 1355).
We currently throw when there is only a getter defined on the
property, but this should only be the case in strict mode.
Review URL: http://codereview.chromium.org/7064027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8054
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 25 May 2011 07:37:14 +0000 (07:37 +0000)]
Prepare push to trunk. Now working on version 3.4.0.
R=ager@chromium.org
Review URL: http://codereview.chromium.org/6979008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8052
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Wed, 25 May 2011 06:41:39 +0000 (06:41 +0000)]
MIPS: Fixed two bugs related to double function calls.
These originated from
4dfb7f2e.
This fixes cctest test-api/ConversionNumber in soft-float mode.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7068002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8051
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 25 May 2011 06:04:01 +0000 (06:04 +0000)]
MIPS: port Fix calls of strict mode function with an implicit receiver.
Port of r8040 to mips.
Original commit message:
Strict mode functions are to get 'undefined' as the receiver when
called with an implicit receiver. Modes are bad! It forces us to have
checks on all function calls.
This change attempts to limit the cost by passing information about
whether or not a call is with an implicit or explicit receiver in ecx
as part of the calling convention. The cost is setting ecx on all
calls and checking ecx on entry to strict mode functions.
Implicit/explicit receiver state has to be maintained by ICs. Various
stubs have to not clobber ecx or save and restore it.
CallFunction stub needs to check if the receiver is implicit when it
doesn't know from the context.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6992051
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8050
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 24 May 2011 21:07:55 +0000 (21:07 +0000)]
Migrate flag from bit_field2 to bit_field3
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7064029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8049
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 24 May 2011 16:23:22 +0000 (16:23 +0000)]
Ensure that external pixel arrays use a byte register in Crankshaft.
BUG=v8:1406
TEST=fast/canvas/canvas-putImageData.html
Review URL: http://codereview.chromium.org/7067028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8048
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 24 May 2011 15:11:48 +0000 (15:11 +0000)]
Remove some dead code from full-codegen on all platforms.
BUG=
TEST=
Review URL: http://codereview.chromium.org/6966033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8047
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 24 May 2011 14:49:02 +0000 (14:49 +0000)]
Platform and build updates for Android build
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org//7059015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8042
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Tue, 24 May 2011 14:02:59 +0000 (14:02 +0000)]
Add tests for function statements in strict mode.
Small fixes.
Added test for const declaration in strict mode.
TEST=preparser/strict-function-statement
Review URL: http://codereview.chromium.org/6990056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8041
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Tue, 24 May 2011 14:01:36 +0000 (14:01 +0000)]
Fix calls of strict mode function with an implicit receiver.
Only IA32 version for now. I'll start porting.
Strict mode functions are to get 'undefined' as the receiver when
called with an implicit receiver. Modes are bad! It forces us to have
checks on all function calls.
This change attempts to limit the cost by passing information about
whether or not a call is with an implicit or explicit receiver in ecx
as part of the calling convention. The cost is setting ecx on all
calls and checking ecx on entry to strict mode functions.
Implicit/explicit receiver state has to be maintained by ICs. Various
stubs have to not clobber ecx or save and restore it.
CallFunction stub needs to check if the receiver is implicit when it
doesn't know from the context.
Review URL: http://codereview.chromium.org/7039036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8040
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 24 May 2011 13:48:55 +0000 (13:48 +0000)]
Modify use of RelocInfo::CODE_TARGET_WITH_ID in full-codegen to make it the same on all platforms.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7063021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8039
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 24 May 2011 13:02:01 +0000 (13:02 +0000)]
Update gyp files with json parser.
Review URL: http://codereview.chromium.org/7066019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8034
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 24 May 2011 12:28:10 +0000 (12:28 +0000)]
Handle changes to the Object prototype in fast handling of arrays
R=ager@chromium.org
BUG=v8:1403
TEST=test/mjsunit/regress/regress-1403.js
Review URL: http://codereview.chromium.org//7067019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8032
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 24 May 2011 12:20:16 +0000 (12:20 +0000)]
Rename TypeRecording...Stub into ...Stub.
There is no need for this long name.
Review URL: http://codereview.chromium.org/7063017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8031
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 24 May 2011 12:19:57 +0000 (12:19 +0000)]
Enhance gc-nvp-trace-processor.py:
- correctly display time spent in scavenger (it was attributed to 'other' scope).
- display time spent in 'external' scope.
Review URL: http://codereview.chromium.org/7067022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8030
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 24 May 2011 12:16:23 +0000 (12:16 +0000)]
Create stand-alone json parser (including scanner).
The current json parser and scanner inherits fromt he normal scanners and parsers,
which are more complicated than we need for parsing json.
The supplied scanner works directly on the string supplied and has a
fast case mode for scanning only ascii characters (it will simply
create a substring or a symbol directly from the existing string). To
allow for creating symbols from a substring I have added a
SubStringAsciiSymbolKey that creates the hash based from our string
without extracting the sub-string. In case we need to add the symbol
it simply creates the symbol directly from the characters inside the
given string.
Review URL: http://codereview.chromium.org/7039037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8029
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 24 May 2011 12:12:41 +0000 (12:12 +0000)]
Fix a bug in deoptimization on x64.
When deoptimizing to just after an ignored (because of a duplicate
property name) object literal property initializer, we incorrectly saw
the value of the initializer expression on the stack in the
unoptimized code. The bug affected x64 only.
R=fschneider@chromium.org
BUG=v8:1404
Review URL: http://codereview.chromium.org/7066015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8028
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 24 May 2011 11:07:06 +0000 (11:07 +0000)]
Change strict mode poison pill to be the samme type error function (fixes issue 1387).
We are now following the spec, and with regards to the error message we are following firefox (webkit still has different type errors in their nightly)
Review URL: http://codereview.chromium.org/7067017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8026
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 24 May 2011 08:59:51 +0000 (08:59 +0000)]
Fix poliarty of CheckMap smi check on ia32
R=karlklose@chromium.org
BUG=none
TEST=existing tests
Review URL: http://codereview.chromium.org/7067018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8025
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 24 May 2011 08:38:42 +0000 (08:38 +0000)]
Remove wrong assert to fix a debug crash with arguments object.
We don't need to assert the existence of a length-property of the
arguments object because it is not a JSArray, but just a normal JSObject.
BUG=v8:1227
Review URL: http://codereview.chromium.org/7064020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8024
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 24 May 2011 07:56:20 +0000 (07:56 +0000)]
MIPS: arch-independent changes to support mips.
This change supports all non-crankshaft features except serialization.
This must be built after the changes in http://codereview.chromium.org/6966031
are landed.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7039058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8023
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 24 May 2011 07:23:32 +0000 (07:23 +0000)]
MIPS: Update for 23-May commits, and a few older ones.
Make mips-specifc changes for r7999, r8001, r8002.
Also bring in changes for older commits 7203, 7279, 7693, 7715, 7788.
Mips changes for 7715 (Arm: Support hardfloat in SCons build), and
7693 (Implement hardfloat calling convention in macro assembler and simulator)
resulted in changes to SConstruct.
BUG=
TEST=
Review URL: http://codereview.chromium.org//6966031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8022
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 23 May 2011 22:23:50 +0000 (22:23 +0000)]
Inline more zone stuff.
R=ager@chromium.org
Review URL: http://codereview.chromium.org/7066004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8009
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
karlklose@chromium.org [Mon, 23 May 2011 16:17:40 +0000 (16:17 +0000)]
Remove stub call in non-VFP3 code path of external array load.
KeyedLoadStubCompiler::GenerateLoadExternalArray is tail-calling a stub, which it is not allowed to, because its major key is higher than InstanceOf. Instead of changing the major key I decided to provide an inline implementation.
TEST=test-api/ExternalArrays with --noenable-vfp3
R=danno@chromium.org
Review URL: http://codereview.chromium.org/7060007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8002
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 23 May 2011 15:59:38 +0000 (15:59 +0000)]
Add bit_field3 to Map objects
Reuse instance_descriptor field in the map to store additional flags when there are no descriptors. When descriptors get added to the map, move the flags to the DescriptorArray and access through indirection.
Review URL: http://codereview.chromium.org/7033024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8001
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Mon, 23 May 2011 15:17:10 +0000 (15:17 +0000)]
Avoid calling ToObject on JSFunction receiver arguments for Function.call and Function.apply.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7062007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8000
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 23 May 2011 15:04:32 +0000 (15:04 +0000)]
Ensure SMI check for receiver in external array store stub for ARM.
R=ager@chromium.org
BUG=none
TEST=test/mjsunit/external-array.js
Review URL: http://codereview.chromium.org/7058011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7999
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 23 May 2011 13:42:33 +0000 (13:42 +0000)]
SMI checks for receiver in KeyedLoad/Store (done right this time)
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7059013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7998
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 23 May 2011 13:03:45 +0000 (13:03 +0000)]
Add regression test for issue 1401
R=ager@chromium.org
BUG=v8:1401
TEST=test/regress/regress-1401.js
Review URL: http://codereview.chromium.org//7062002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7995
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 23 May 2011 13:00:11 +0000 (13:00 +0000)]
Use placement new for ZoneLists in the parser.
Review URL: http://codereview.chromium.org/7059012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7994
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 23 May 2011 12:59:02 +0000 (12:59 +0000)]
Isolates cleanup: get rid of some ugly macros.
Review URL: http://codereview.chromium.org/7062003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7993
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 23 May 2011 12:56:00 +0000 (12:56 +0000)]
Remove newlines from preparser command line parameters to make Windows happy.
Review URL: http://codereview.chromium.org/6974009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7992
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 23 May 2011 12:48:17 +0000 (12:48 +0000)]
Optimise the deoptimisation check to improve performance on modern ARM cores.
BUG=none
TEST=none
Committed: http://code.google.com/p/v8/source/detail?r=7909
Reverted in r7916.
Review URL: http://codereview.chromium.org//7021007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7991
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Mon, 23 May 2011 11:41:28 +0000 (11:41 +0000)]
grokdump: Update the list of instance types.
Review URL: http://codereview.chromium.org/7058008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7990
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 23 May 2011 11:40:36 +0000 (11:40 +0000)]
Add missing SMI checks to fix reliability bots
R=ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/6974008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7989
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 23 May 2011 10:53:39 +0000 (10:53 +0000)]
Fix missing retun value.
Why did it ever work?
Review URL: http://codereview.chromium.org/6990035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7988
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 23 May 2011 10:47:43 +0000 (10:47 +0000)]
Improve bit tests on IA32.
Bit tests with a memory operand should be avoided on Intel processors.
On Atom bts with a memory operand has 10~11 cycles latency and on Core 2
it has 5~6 cycles latency, and also produces multiple uops.
If the bit base operand is a register the latency is 1 cycle instead.
This CL improves several cases from Kraken 1.1 benchmark on Atom. For example,
12% for imaging-desaturate, 8% for audio-fft, and 5% for audio-beat-detection.
Review URL: http://codereview.chromium.org//7048003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7987
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kasperl@chromium.org [Mon, 23 May 2011 10:41:02 +0000 (10:41 +0000)]
Changed d8 to print exception stack traces like samples/shell.cc.
Review URL: http://codereview.chromium.org/7060006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7986
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Mon, 23 May 2011 10:35:30 +0000 (10:35 +0000)]
Create template system for strict-mode tests.
This makes it possible to get total coverage without creating thousands
of individual test files.
Review URL: http://codereview.chromium.org/7061008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7985
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 23 May 2011 09:11:24 +0000 (09:11 +0000)]
Fix object visitor.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7984
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 23 May 2011 08:35:46 +0000 (08:35 +0000)]
Experimental i18n extension breaks shared library build. Revert recent
changes to unblock V8 release.
Revert "Adding DateTimeFormat class to i18n API with following methods:"
Revert "Some internal methods are requested when v8 is built as DLL (V8_SHARED), and"
R=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/7060005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7981
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Mon, 23 May 2011 07:12:58 +0000 (07:12 +0000)]
MIPS: Minor fixes to simulator and builtins-mips.
Updated to include fixes to several mips arch-specific files, corresponding to recent changes in r7944, r7935, r7926, r7914, r7910, r7895, and parts of r7423, which had previously been missed for mips. Rebased on r7964.
The simulator changes were missed on r7893 for code-stubs-mips,
where the DirectCEntry stuff was added.
There are also a couple small changes to builtins-mips following
r7879 for the other architectures.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7042031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7977
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 23 May 2011 07:00:54 +0000 (07:00 +0000)]
Fixed pretty printing of typeof/delete/void expressions. Put spaces around binary operations and comparisons to improve readability.
Review URL: http://codereview.chromium.org/7055008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7976
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 23 May 2011 06:14:32 +0000 (06:14 +0000)]
Some internal methods are requested when v8 is built as DLL (V8_SHARED), and
they are not available.
Make them no-op (or better yet part of public API).
TEST = Build Chromium with V8_SHARED
Review URL: http://codereview.chromium.org/7004051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7973
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Mon, 23 May 2011 06:00:45 +0000 (06:00 +0000)]
Prepare push to trunk. Now working on version 3.3.10.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/7059006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7971
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Fri, 20 May 2011 15:45:06 +0000 (15:45 +0000)]
ll_prof: Add function optimization status markers.
Review URL: http://codereview.chromium.org/7056012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7970
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Fri, 20 May 2011 15:11:00 +0000 (15:11 +0000)]
Remove redundant 'running' checks for ProfilerEventsProcessor in tests.
A follow up to r7949
R=vitalyr@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7040014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7969
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 20 May 2011 11:49:52 +0000 (11:49 +0000)]
Refactoring only: Simplified LChunkBuilder:DoTest a bit, making it a simple if-then-else cascade.
Review URL: http://codereview.chromium.org/7055006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7968
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
cira@chromium.org [Thu, 19 May 2011 21:12:47 +0000 (21:12 +0000)]
Adding DateTimeFormat class to i18n API with following methods:
- format
- getWeekdays
- getMonths
- get Eras
- getAmPm
TEST=Visit i18n.kaziprst.org/datetimeformat.html
Review URL: http://codereview.chromium.org/7014019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7967
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 19 May 2011 13:26:47 +0000 (13:26 +0000)]
Allocate fewer handles in the TypeFeedbackOracle.
R=vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7047009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7964
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Thu, 19 May 2011 13:15:57 +0000 (13:15 +0000)]
When inlining fails, disable optimization of the proper function.
Also, refactor disabling of optimization to make it easier to ensure
that both SharedFunctionInfo and Code get disabled.
R=whesse@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7033020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7963
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 19 May 2011 13:14:12 +0000 (13:14 +0000)]
Also skip unary op IC when iterating over break locations in the debugger.
Review URL: http://codereview.chromium.org/7040002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7962
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Thu, 19 May 2011 12:53:50 +0000 (12:53 +0000)]
Refactor TraceInlining method of hydrogen so it works correctly.
Fix TraceInline.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7049005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7961
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 19 May 2011 11:47:34 +0000 (11:47 +0000)]
Rename Proxy class to Foreign, to avoid confusion with Harmony proxies.
Also fix grokdump, which was off by one after intro of JSProxy type.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7959
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 19 May 2011 09:22:32 +0000 (09:22 +0000)]
Avoid conflict between method and type name.
Make builder happy.
Review URL: http://codereview.chromium.org/7046004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7954
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Thu, 19 May 2011 09:01:46 +0000 (09:01 +0000)]
Added preparser strict-mode tests.
Now tests for use of eval, arguments, reserved words and with statement.
Review URL: http://codereview.chromium.org/7037024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7951
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Thu, 19 May 2011 08:25:38 +0000 (08:25 +0000)]
Fix bug with long stack traces truncation in DevTools CPU profiler.
R=sgjesse@chromium.org,vitalyr@chromium.org
BUG=1398
TEST=cctest/test-cpu-profiler/Issue1398
Review URL: http://codereview.chromium.org/7046001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7949
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Thu, 19 May 2011 08:10:27 +0000 (08:10 +0000)]
Remove execScript from V8. No longer present i neither Firefox nor Safari.
R=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7046002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7948
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 18 May 2011 23:26:38 +0000 (23:26 +0000)]
Put 7942 "Per-isolate embedder-specific data" back
TBR=
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7947
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 18 May 2011 22:35:41 +0000 (22:35 +0000)]
Revert "Per-isolate embedder-specific data"
This reverts commit
42f5dc01fb9adbf55242da9f6515e9a37132217b.
Checking if this helps webkit-tests
TBR=dslomov@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7946
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 18 May 2011 17:43:20 +0000 (17:43 +0000)]
Fix compilation warning on some C++ compilers.
TBR=
Review URL: http://codereview.chromium.org/7034030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7945
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 18 May 2011 17:32:36 +0000 (17:32 +0000)]
Fix handling of -0 in the unary-op IC and avoid repeated patching/transitions.
When the stub return a heap number we do a state transition to
a version HEAP_NUMBER that can handle -0.
There is room for further improvement in the typefeedback for the
case of -0. This change however does not address this and only fixes
the acute issue.
Review URL: http://codereview.chromium.org/7037025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7944
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 18 May 2011 17:18:35 +0000 (17:18 +0000)]
Make GVN side effect analysis more precise.
When descending the dominator tree we used to collect side effects from all blocks between the dominator and the dominated blocks in the block ordering. This could include blocks that do not appear on paths from the dominator to the dominated and unnecessarily removed available values from the GVN map.
Review URL: http://codereview.chromium.org/7036010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7943
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 18 May 2011 16:20:45 +0000 (16:20 +0000)]
Per-isolate embedder-specific data
BUG=
TEST=
Review URL: http://codereview.chromium.org/6975020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7942
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 18 May 2011 15:28:43 +0000 (15:28 +0000)]
Assert that independent handles do not participate in grouping.
Review URL: http://codereview.chromium.org/7044007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7941
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 18 May 2011 15:08:50 +0000 (15:08 +0000)]
ll_prof: Output tick percentage by symbol/library.
Review URL: http://codereview.chromium.org/7039040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7940
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 18 May 2011 15:01:57 +0000 (15:01 +0000)]
Use MarkIndependent in sample shell.
Review URL: http://codereview.chromium.org/7043006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7938
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 18 May 2011 14:53:02 +0000 (14:53 +0000)]
Add code to ia32 TypeRecordingBinaryOpStub to handle SHR Smi overflow.
BUG=v8:1395
TEST=
Review URL: http://codereview.chromium.org/7039013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7937
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 18 May 2011 14:00:34 +0000 (14:00 +0000)]
Move derived get trap from builtins to global context.
Review URL: http://codereview.chromium.org/7017008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7936
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00