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
danno@chromium.org [Wed, 18 May 2011 13:17:29 +0000 (13:17 +0000)]
Reland 7917:
Better support for 'polymorphic' JS and external arrays
Allow keyed store/load stubs to switch between external array and fast JS arrays without forcing a state transition to the generic stub.
There CL consists of two pieces of functionality. First, code stubs for fast element arrays don't immediately transition to the MEGAMORPHIC state when there's a map mismatch. Second, two ICs are cached per map for fast elements, the MONOMORPHIC version, and a new MEGAMORPHIC version that handles two or more different maps and dispatches to shared stubs to perform the array operation.
Review URL: http://codereview.chromium.org/
7036016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7935
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 18 May 2011 12:46:21 +0000 (12:46 +0000)]
Add regression test for http://crbug.com/82769
Review URL: http://codereview.chromium.org/
7034025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7933
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 18 May 2011 12:26:04 +0000 (12:26 +0000)]
Revert accidental change from r7795 that was causing a bug fixed in r7790 to reappear.
Review URL: http://codereview.chromium.org/
6968010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7931
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 18 May 2011 12:22:19 +0000 (12:22 +0000)]
Fix incorrect coercion of other failures to Failure::Exception in ReThrow.
TEST=cctest/test-api/OutOfMemoryNested
Review URL: http://codereview.chromium.org/
7029028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7930
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Wed, 18 May 2011 12:20:36 +0000 (12:20 +0000)]
Fix bug 1396: Optimized calls to API functions assumed that the receiver was a JSObject, failed when compiling stub otherwise.
BUG=v8:1396
Review URL: http://codereview.chromium.org/
7045002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7929
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 18 May 2011 11:06:07 +0000 (11:06 +0000)]
Fix bug in optimized compiler's switch-statement.
In the case where the default-clause occurs as the first clause,
the case-blocks were not wired up correctly.
BUG=v8:1394
TEST=mjsunit/compiler/regress-1394.js
Review URL: http://codereview.chromium.org/
7037023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7927
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Wed, 18 May 2011 10:40:01 +0000 (10:40 +0000)]
Handle all kind of arguments in the ToBooleanStub. While this is not very thrilling in itself, it is one of several steps to add type recording to this stub. Removed a duplicate check for null in the ARM stub and made a tiny simplification, removing a sub instruction.
As a side note, this change has some positive impact on the performace, e.g. imaging-darkroom is 8.3% faster and ws-ieee754conv is even 19.9% faster. No idea why the speedup is so big in some cases, but never look a gift horse in the mouth... ;-)
Review URL: http://codereview.chromium.org/
7042004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7926
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vitalyr@chromium.org [Wed, 18 May 2011 09:19:14 +0000 (09:19 +0000)]
Remove NULL temp operand from ia32 LStoreKeyedSpecializedArrayElement.
Review URL: http://codereview.chromium.org/
7042006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7924
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 18 May 2011 08:49:07 +0000 (08:49 +0000)]
Prepare push to trunk. Now working on version 3.3.9.
Review URL: http://codereview.chromium.org/
7042005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7922
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
lrn@chromium.org [Wed, 18 May 2011 07:40:51 +0000 (07:40 +0000)]
Fix push of untagged value in type-recording unary op stub.
Review URL: http://codereview.chromium.org/
7037007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7919
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 17 May 2011 18:47:10 +0000 (18:47 +0000)]
Revert 7917
TBR=danno@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7918
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 17 May 2011 17:29:13 +0000 (17:29 +0000)]
Better support for 'polymorphic' JS and external arrays
Allow keyed store/load stubs to switch between external array and fast JS arrays without forcing a state transition to the generic stub.
There CL consists of two pieces of functionality. First, code stubs for fast element arrays don't immediately transition to the MEGAMORPHIC state when there's a map mismatch. Second, two ICs are cached per map for fast elements, the MONOMORPHIC version, and a new MEGAMORPHIC version that handles two or more different maps. Currently, the only array types supported by the MEGAMORPHIC stub are fast elements for objects and JSArrays.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
6894003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7917
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 17 May 2011 12:43:14 +0000 (12:43 +0000)]
Revert r7909
r7909: Optimise the deoptimisation check to improve performance on modern ARM cores.
Assert failure on mozilla/ecma/Date/15.9.3.8-2 and mozilla/ecma/Date/15.9.3.8-4.
R=ricow@chromium.org
Review URL: http://codereview.chromium.org//
7037006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7916
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 17 May 2011 12:18:19 +0000 (12:18 +0000)]
Extend Handle API with MarkIndependent.
Garbage collector is free to ignore object groups for independent handles and can collect then in minor collections.
Review URL: http://codereview.chromium.org/
7031005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7915
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 17 May 2011 12:05:06 +0000 (12:05 +0000)]
Add enumeration to specify if smi check needed
R==ager@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
7039004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7914
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
whesse@chromium.org [Tue, 17 May 2011 11:41:59 +0000 (11:41 +0000)]
Fix error in postfix ++ in Crankshaft.
Add HForceRepresentation, to represent the implicit ToNumber applied to the input of a count operation.
BUG=v8:1389
TEST=
Review URL: http://codereview.chromium.org/
7033008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7913
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 17 May 2011 11:24:38 +0000 (11:24 +0000)]
Fix presubmit errors.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/
7017011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7912
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 17 May 2011 11:11:12 +0000 (11:11 +0000)]
Fix bug restoring of JS entry sp so to fix profiler-related valgrind issues.
The profiler did not correctly identify when there was a JS frame
on the stack after an exception was thrown.
I also refactored the code to use PopTryHandler macro-instructions on all platforms
BUG=73722
TEST=No more valgrind errors related to v8::internal::StackFrameIterator.
Review URL: http://codereview.chromium.org/
7019010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7910
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00