platform/upstream/v8.git
13 years agoX64: Add a jumptable to for deoptimization checks on X64.
ricow@chromium.org [Mon, 28 Feb 2011 13:57:42 +0000 (13:57 +0000)]
X64: Add a jumptable to for deoptimization checks on X64.

The current version includes an extra jump compared to IA32, because
we need to load the jump address into a register and do an indirect
jump, but in the normal case we just jump over this by negating the
deoptimization conditional.

Review URL: http://codereview.chromium.org/6596032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove Error.prototype.toStrings prototype property.
ager@chromium.org [Mon, 28 Feb 2011 13:29:05 +0000 (13:29 +0000)]
Remove Error.prototype.toStrings prototype property.

I did not use the helper function for adding this builtin function which meant that I missed the removal of the prototype property.

BUG=
TEST=

Review URL: http://codereview.chromium.org/6588050

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoWhen checking number of parameters in MakeCrankshaft code don't forget about receiver.
vegorov@chromium.org [Mon, 28 Feb 2011 13:20:10 +0000 (13:20 +0000)]
When checking number of parameters in MakeCrankshaft code don't forget about receiver.

BUG=v8:1209
TEST=test/mjsunit/regress/regress-1209.js

Review URL: http://codereview.chromium.org/6591042

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoPrepare push to trunk. Now working on version 3.1.8.
vegorov@chromium.org [Mon, 28 Feb 2011 12:30:11 +0000 (12:30 +0000)]
Prepare push to trunk. Now working on version 3.1.8.
Review URL: http://codereview.chromium.org/6598035

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoDetect overflow of contant pool in virtual frame compiler.
vegorov@chromium.org [Mon, 28 Feb 2011 12:09:53 +0000 (12:09 +0000)]
Detect overflow of contant pool in virtual frame compiler.

Gracefully fallback to a different code pattern when that happens.

BUG=http://crbug.com/61802
TEST=none

Review URL: http://codereview.chromium.org/6599002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Fix the use of the ToBooleanStub when VFP3 is not available
sgjesse@chromium.org [Mon, 28 Feb 2011 11:52:06 +0000 (11:52 +0000)]
ARM: Fix the use of the ToBooleanStub when VFP3 is not available
Review URL: http://codereview.chromium.org/6594045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove all functionality from class HSubgraph.
kmillikin@chromium.org [Mon, 28 Feb 2011 08:52:00 +0000 (08:52 +0000)]
Remove all functionality from class HSubgraph.

Move the member functions of HSubgraph to HGraphBuilder.

Review URL: http://codereview.chromium.org/6573006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFlush watermarks after compacting map space on mark-sweep collection.
vegorov@chromium.org [Fri, 25 Feb 2011 15:00:46 +0000 (15:00 +0000)]
Flush watermarks after compacting map space on mark-sweep collection.

MapCompact does not use MC-allocation routines so watermarks are not updated automatically and might become inconsistent.

BUG=http://crbug.com/59688

Review URL: http://codereview.chromium.org/6588007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Align full codegen with IA32 version
sgjesse@chromium.org [Fri, 25 Feb 2011 13:29:02 +0000 (13:29 +0000)]
ARM: Align full codegen with IA32 version

Use ToBooleanStub in DoTest instead of runtime call.
Try allocation in generated code in VisitRegExpLiteral.
Use TranscendentalCacheStub for sin, cos and log instead of calling runtime.

Minor "alignment" of the full codegen code across platforms.
Review URL: http://codereview.chromium.org/6597003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64 Crankshaft: Fix error in r6897. Restore context register after KeyedCallIC....
whesse@chromium.org [Fri, 25 Feb 2011 13:22:38 +0000 (13:22 +0000)]
X64 Crankshaft: Fix error in r6897.  Restore context register after KeyedCallIC.  Only non-trivial change is to lithium-codegen-x64.cc.Update copyright dates on all recently modified X64 platform files.
Review URL: http://codereview.chromium.org/6592008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Fix instruction double to i
sgjesse@chromium.org [Fri, 25 Feb 2011 13:04:07 +0000 (13:04 +0000)]
ARM: Fix instruction double to i

The double to i convertion should round to zero not infinity.

Thes bug was revealed by http://codereview.chromium.org/6597003, where the value of (x * 1.0000000001) | 0 was x - 1 and not x when x was a negative smi.

I will not commit http://codereview.chromium.org/6597003 before this is committed.

TEST=test/mjsunit/smi-ops-inlined.js
Review URL: http://codereview.chromium.org/6594008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix assertion failure because of incorrect use of MaybeObjects.
ager@chromium.org [Fri, 25 Feb 2011 12:56:46 +0000 (12:56 +0000)]
Fix assertion failure because of incorrect use of MaybeObjects.

Review URL: http://codereview.chromium.org/6599001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64 Crankshaft: Add untagged version of TranscendentalCacheStub to x64, enable Cos...
whesse@chromium.org [Fri, 25 Feb 2011 12:12:47 +0000 (12:12 +0000)]
X64 Crankshaft: Add untagged version of TranscendentalCacheStub to x64, enable Cos, Sin, and Log in lithium.
Review URL: http://codereview.chromium.org/6580032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix bug 73940.
lrn@chromium.org [Fri, 25 Feb 2011 11:30:22 +0000 (11:30 +0000)]
Fix bug 73940.

I think this actually turns the code in question into dead code, because the current definition of UseSparseVariant only allows arrays in DictionaryMode, and these never return encoded ranges from %GetArrayKeys. This is a subtle link between the definition of %GetArrayKeys and UseSparseVariant, so I would prefer to keep the code rather than having an invisible depeendency.

BUG=73940

Review URL: http://codereview.chromium.org/6596004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoClear exceptions set during attempts to lazily optimize.
lrn@chromium.org [Fri, 25 Feb 2011 11:17:31 +0000 (11:17 +0000)]
Clear exceptions set during attempts to lazily optimize.

Resubmit of patch for issue 1145 with a few additions:
- Now also clears exceptions when calling Runtime_LazyRecompile.
- Sets function where parsing fails to not be optimizable.

BUG=v8:1145
TEST=test/mjsunit/regress/regress-1145.js

Review URL: http://codereview.chromium.org/6469050

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64: Implement DoHasInstanceType
ricow@chromium.org [Thu, 24 Feb 2011 19:25:22 +0000 (19:25 +0000)]
X64: Implement DoHasInstanceType

Review URL: http://codereview.chromium.org/6581036

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoGet property may throw an exception thanks to JS accessors.
antonm@chromium.org [Thu, 24 Feb 2011 17:42:56 +0000 (17:42 +0000)]
Get property may throw an exception thanks to JS accessors.

Check result before and bail out if exception has been thrown.

BUG=v8:1172
TEST=test/mjsunit/regress/regress-1172-bis.js

Review URL: http://codereview.chromium.org/6580030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoLanding for Zaheer.
antonm@chromium.org [Thu, 24 Feb 2011 15:39:09 +0000 (15:39 +0000)]
Landing for Zaheer.

Direct call accessor getter callbacks (arm implementation).

Original review: http://codereview.chromium.org/6462029/

Review URL: http://codereview.chromium.org/6576035

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix bug in r6930 and r6933
sgjesse@chromium.org [Thu, 24 Feb 2011 15:26:27 +0000 (15:26 +0000)]
Fix bug in r6930 and r6933

The loading the register used for the null object was to early and it could be clobbered.

TBR=karlklose@chromium.org
BUG=none
TEST=mozilla/ecma_3/Statements/regress-131348
Review URL: http://codereview.chromium.org/6578020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64 Crankshaft: Implement Math.abs on x64 lithium.
whesse@chromium.org [Thu, 24 Feb 2011 15:21:30 +0000 (15:21 +0000)]
X64 Crankshaft: Implement Math.abs on x64 lithium.
Review URL: http://codereview.chromium.org/6576030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix compile failure from revision 6934 and win64 compile failure from revision 6931.
ricow@chromium.org [Thu, 24 Feb 2011 14:22:36 +0000 (14:22 +0000)]
Fix compile failure from revision 6934 and win64 compile failure from revision 6931.

Review URL: http://codereview.chromium.org/6576033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix array concat to follow the specification in the presence of element getters.
lrn@chromium.org [Thu, 24 Feb 2011 14:00:52 +0000 (14:00 +0000)]
Fix array concat to follow the specification in the presence of element getters.

Also fix issue 1175 and 1177.

BUG=v8:1175

Review URL: http://codereview.chromium.org/6568007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64: Port r5445
sgjesse@chromium.org [Thu, 24 Feb 2011 13:37:59 +0000 (13:37 +0000)]
X64: Port r5445

r5445: Implement for-in cache validity checking in the full codegen on IA-32.

BUG=v8:867
TEST=none
Review URL: http://codereview.chromium.org/6576028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix porting bug in r6929
sgjesse@chromium.org [Thu, 24 Feb 2011 12:41:26 +0000 (12:41 +0000)]
Fix porting bug in r6929
Review URL: http://codereview.chromium.org/6579036

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64: Implement DoComputeOsrOutputFrame and fix Generate_OnStackReplacement.
ricow@chromium.org [Thu, 24 Feb 2011 12:01:24 +0000 (12:01 +0000)]
X64: Implement DoComputeOsrOutputFrame and fix Generate_OnStackReplacement.

The existing version does not have a correct implementation of
Generate_OnStackReplacement since we do not correctly find the loop
depth. This is mainly because EmitStackCheck in full-codegen-x64.cc
did not write it and partly due to us reading at the wrong offset
(which had no effect when it was not written in the first place, we
simply got a random number from the next instruction).

The DoComputeOsrOoutputFrame is very similar to the ia32 version.

Review URL: http://codereview.chromium.org/6581028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Port r5445
sgjesse@chromium.org [Thu, 24 Feb 2011 11:39:27 +0000 (11:39 +0000)]
ARM: Port r5445

r5445: Implement for-in cache validity checking in the full codegen on IA-32.
Review URL: http://codereview.chromium.org/6581031

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64: Port r6635 and r6659
sgjesse@chromium.org [Thu, 24 Feb 2011 11:36:14 +0000 (11:36 +0000)]
X64: Port r6635 and r6659

r6635: Remove the redundant load on every context lookup.
r6659: Do not compile the unreachable body of functions with illegal redeclarations.

The crankshaft part of these changes are already ported.
Review URL: http://codereview.chromium.org/6581029

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix wrong assertion in assembler causing the shell to crash with --code-comments.
ricow@chromium.org [Thu, 24 Feb 2011 10:29:01 +0000 (10:29 +0000)]
Fix wrong assertion in assembler causing the shell to crash with --code-comments.

Since writting a code comment can include a pc-jump the assertion
should just check that we are greater than or equal to
kMinRelocCommentSize (renamed from kRelocCommentSize), not that we are
actually equal to.

Review URL: http://codereview.chromium.org/6580028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Fix DoubleToI.
karlklose@chromium.org [Thu, 24 Feb 2011 10:07:35 +0000 (10:07 +0000)]
ARM: Fix DoubleToI.

BUG=1811
TEST=test/mjsunit/regress/regress-1181.js

Review URL: http://codereview.chromium.org/6573004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoPrepare push to trunk. Now working on version 3.1.7.
fschneider@chromium.org [Thu, 24 Feb 2011 09:54:37 +0000 (09:54 +0000)]
Prepare push to trunk. Now working on version 3.1.7.

Review URL: http://codereview.chromium.org/6580027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove old Python version of tickprocessor
mikhail.naganov@gmail.com [Thu, 24 Feb 2011 08:23:37 +0000 (08:23 +0000)]
Remove old Python version of tickprocessor

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix presubmit error.
sgjesse@chromium.org [Thu, 24 Feb 2011 08:23:08 +0000 (08:23 +0000)]
Fix presubmit error.

TBR=ricow@chromium.org
Review URL: http://codereview.chromium.org/6580026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Port r6635 and r6659
sgjesse@chromium.org [Thu, 24 Feb 2011 07:17:43 +0000 (07:17 +0000)]
ARM: Port r6635 and r6659

r6635: Remove the redundant load on every context lookup.
r6659: Do not compile the unreachable body of functions with illegal redeclarations.
Review URL: http://codereview.chromium.org/6572003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoLand update to sputnik tests.
ricow@chromium.org [Thu, 24 Feb 2011 06:38:45 +0000 (06:38 +0000)]
Land update to sputnik tests.

Original cl:
http://codereview.chromium.org/6542066/

Landing to ensure sync with buildbot update.

Review URL: http://codereview.chromium.org/6579032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix debug tracing of live ranges and remove unused code.
fschneider@chromium.org [Wed, 23 Feb 2011 15:25:04 +0000 (15:25 +0000)]
Fix debug tracing of live ranges and remove unused code.

When printing the sub-parts of a live range, only print the use intervals
belonging to each part.

Add a flag to print all use positions (incl. environment uses)

Review URL: http://codereview.chromium.org/6566005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoTemporarily disable DoStoreContextSlot in x64 lithium codegen to diagnose non-reprodu...
whesse@chromium.org [Wed, 23 Feb 2011 13:52:11 +0000 (13:52 +0000)]
Temporarily disable DoStoreContextSlot in x64 lithium codegen to diagnose non-reproducible buildbot error.  Fix presubmit error.
Review URL: http://codereview.chromium.org/6572002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64 Crankshaft: Add DoOuterContext to x64 lithium.
whesse@chromium.org [Wed, 23 Feb 2011 13:26:28 +0000 (13:26 +0000)]
X64 Crankshaft: Add DoOuterContext to x64 lithium.
Review URL: http://codereview.chromium.org/6570008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove most uses of HSubgraph as an argument.
kmillikin@chromium.org [Wed, 23 Feb 2011 11:59:18 +0000 (11:59 +0000)]
Remove most uses of HSubgraph as an argument.

In a lot of cases where we were passing a subgraph (a pair of basic blocks),
we actually only needed a basic block.

Review URL: http://codereview.chromium.org/6570006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64 Crankshaft: Add Typeof and TypeofIs to x64 lithium. Fix presubmit.
whesse@chromium.org [Wed, 23 Feb 2011 11:29:11 +0000 (11:29 +0000)]
X64 Crankshaft: Add Typeof and TypeofIs to x64 lithium.  Fix presubmit.
Review URL: http://codereview.chromium.org/6568004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix presubmit for r6908.
karlklose@chromium.org [Wed, 23 Feb 2011 11:25:27 +0000 (11:25 +0000)]
Fix presubmit for r6908.

TBR=whesse

Review URL: http://codereview.chromium.org/6568005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoHIR refactoring.
fschneider@chromium.org [Wed, 23 Feb 2011 11:19:50 +0000 (11:19 +0000)]
HIR refactoring.

Review URL: http://codereview.chromium.org/6538080

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Implement DoPower in the lithium code generator.
karlklose@chromium.org [Wed, 23 Feb 2011 10:41:13 +0000 (10:41 +0000)]
ARM: Implement DoPower in the lithium code generator.

Review URL: http://codereview.chromium.org/6532020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64 Crankshaft: Disable incompletely implemented on-stack replacement.
whesse@chromium.org [Wed, 23 Feb 2011 10:33:49 +0000 (10:33 +0000)]
X64 Crankshaft: Disable incompletely implemented on-stack replacement.
Review URL: http://codereview.chromium.org/6567003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agox64: Implement delete property in lithium backend.
ager@chromium.org [Wed, 23 Feb 2011 10:10:47 +0000 (10:10 +0000)]
x64: Implement delete property in lithium backend.

Review URL: http://codereview.chromium.org/6570005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agox64: Implement context stores and loads, unknown osr value, and osr
ager@chromium.org [Wed, 23 Feb 2011 09:51:53 +0000 (09:51 +0000)]
x64: Implement context stores and loads, unknown osr value, and osr
entry in lithium backend.

Review URL: http://codereview.chromium.org/6566002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoProperly reset external catcher if exception couldn't be externally caught.
ager@chromium.org [Wed, 23 Feb 2011 06:55:47 +0000 (06:55 +0000)]
Properly reset external catcher if exception couldn't be externally caught.

We can wrongly assume that exception which is not intended to be caught
by external try/catch should be caught if this exception inherits
external catcher from some previous exception.  To prevent that,
clear external catcher when processing exceptions which cannot be
externally caught.

BUG=v8:1184
TEST=test/mjsunit/regress/regress-1184.js

Review URL: http://codereview.chromium.org/6538081

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix for bug http://code.google.com/p/v8/issues/detail?id=1176.
mmaly@chromium.org [Tue, 22 Feb 2011 17:20:25 +0000 (17:20 +0000)]
Fix for bug code.google.com/p/v8/issues/detail?id=1176.

Review URL: http://codereview.chromium.org/6469083/

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoOptimize functions needing a local context.
rossberg@chromium.org [Tue, 22 Feb 2011 16:56:57 +0000 (16:56 +0000)]
Optimize functions needing a local context.

Allocate the context in the prologue. Two issues had to be solved:
(1) deoptimization needs to handle functions with a local context,
(2) we need a safepoint in the prologue.
(Thanks to Kevin.)

Review URL: http://codereview.chromium.org/6534022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix CPU profiling for Crankshaft.
mikhail.naganov@gmail.com [Tue, 22 Feb 2011 16:31:24 +0000 (16:31 +0000)]
Fix CPU profiling for Crankshaft.

The main issue was due to multiple recompilations of functions.  Now
code objects are grouped by function using SFI object address.
JSFunction objects are no longer tracked, instead we track SFI object
moves. To pick a correct code version, we now sample return addresses
instead of JSFunction addresses.

tools/{linux|mac|windows}-tickprocessor scripts differentiate
between code optimization states for the same function
(using * and ~ prefixes introduced earlier).

DevTools CPU profiler treats all variants of function code as
a single function.

ll_prof treats each optimized variant as a separate entry, because
it can disassemble each one of them.

tickprocessor.py not updated -- it is deprecated and will be removed.

BUG=v8/1087,b/3178160
TEST=all existing tests pass, including Chromium layout tests

Review URL: http://codereview.chromium.org/6551011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64 Crankshaft: Implement CallKeyed in optimizing compiler.
whesse@chromium.org [Tue, 22 Feb 2011 14:40:13 +0000 (14:40 +0000)]
X64 Crankshaft: Implement CallKeyed in optimizing compiler.
Review URL: http://codereview.chromium.org/6541069

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agogrokdump: Simple windows minidump analysis on linux.
vitalyr@chromium.org [Tue, 22 Feb 2011 14:25:26 +0000 (14:25 +0000)]
grokdump: Simple windows minidump analysis on linux.

Analyses full minidump (.dmp) files.

Shows the processor state at the point of exception including the
stack of the active thread and the referenced objects in the V8
heap. Code objects are disassembled and the addresses linked from the
stack (pushed return addresses) are marked with "=>".

Review URL: http://codereview.chromium.org/6312058

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd file left out of last commit.
ricow@chromium.org [Tue, 22 Feb 2011 12:42:40 +0000 (12:42 +0000)]
Add file left out of last commit.

Review URL: http://codereview.chromium.org/6549016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd more generic version of reloc info padding to ensure enough space for reloc patch...
ricow@chromium.org [Tue, 22 Feb 2011 12:28:33 +0000 (12:28 +0000)]
Add more generic version of reloc info padding to ensure enough space for reloc patching during deoptimization (fixes issue 1174).

The old version only added extra space when we did indirect calls, but
the problem remains the same with normal calls that can be represented
as a single byte. When doing patching each call will always be at
least 2 bytes long because we use RUNTIME_ENTY as the reloc mode.

Review URL: http://codereview.chromium.org/6541053

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix second half of issue 1151, the first change (r6765) only fixed FunctionGetPrototy...
ricow@chromium.org [Tue, 22 Feb 2011 12:27:36 +0000 (12:27 +0000)]
Fix second half of issue 1151, the first change (r6765) only fixed FunctionGetPrototype, not FunctionSetPrototype.

Review URL: http://codereview.chromium.org/6548008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64: Refactor the string add in the type recording binary operation stub
sgjesse@chromium.org [Tue, 22 Feb 2011 12:26:31 +0000 (12:26 +0000)]
X64: Refactor the string add in the type recording binary operation stub

This makes the code have the same structore as on IA32 and ARM, and will also support possible fast adding a smi and string where the string is to the right and fast adding of String objects.
Review URL: http://codereview.chromium.org/6542060

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix bug with input representation of HValueOf.
fschneider@chromium.org [Tue, 22 Feb 2011 12:14:53 +0000 (12:14 +0000)]
Fix bug with input representation of HValueOf.

The class did not correctly implement the RequiredInputRepresentation.
I changed this functions to be abstract so that all hydrogen classes
must implement it.

As a convention instructions with zero input operands return None as input
representation.

Instructions that can handle all input representations without converting before
also have None as required input representation (e.g. HTest)

All other instructions need a proper required input representation.

Review URL: http://codereview.chromium.org/6538088

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64 Crankshaft: Implement DoubleToI in optimizing compiler.
whesse@chromium.org [Tue, 22 Feb 2011 12:02:47 +0000 (12:02 +0000)]
X64 Crankshaft: Implement DoubleToI in optimizing compiler.
Review URL: http://codereview.chromium.org/6551009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoImprove parseInt.
sandholm@chromium.org [Tue, 22 Feb 2011 11:21:15 +0000 (11:21 +0000)]
Improve parseInt.
Review URL: http://codereview.chromium.org/6546055

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoPartial refactoring of subgraphs.
kmillikin@chromium.org [Tue, 22 Feb 2011 10:32:16 +0000 (10:32 +0000)]
Partial refactoring of subgraphs.

Change the interface to the Hydrogen graph builder to appear like it
directly holds a current basic block and a current environment.
Remove some direct accesses to the current subgraph, and remove
subgraph accessors that simply forwarded to the exit block.

Review URL: http://codereview.chromium.org/6532088

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRefactored PathTracer in heap.cc.
sgjesse@chromium.org [Tue, 22 Feb 2011 10:05:30 +0000 (10:05 +0000)]
Refactored PathTracer in heap.cc.

This is so that it can be reused by LOL code later.

Patch by Mark Lam from Hewlett-Packard Development Company, LP

Review URL: http://codereview.chromium.org/6541044

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Add support for just one string argument in the string add stub
sgjesse@chromium.org [Tue, 22 Feb 2011 09:35:37 +0000 (09:35 +0000)]
ARM: Add support for just one string argument in the string add stub

Having a string add stub which can handle a string in just one of the arguments is essencial for the type recording binary operation stub when expecting strings. Otherwise string added with e.g. smi will always call the runtime for a type transition which will be back to the same types as the transition code keeps it in string arguments when one argument is a string.

This fixes the regression (especially Delta Blue) caused by replacing the generic binary operation stub with the type recording binary operation stub in the ARM lithium code generator.
Review URL: http://codereview.chromium.org/6551008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRevert "Expand fast case of parseInt to include radix == 10 and radix == 0."
ager@chromium.org [Tue, 22 Feb 2011 09:14:47 +0000 (09:14 +0000)]
Revert "Expand fast case of parseInt to include radix == 10 and radix == 0."

Causes Mozilla failures.

TBR=sandholm@chromium.org

Review URL: http://codereview.chromium.org/6542056

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoExpand fast case of parseInt to include radix == 10 and radix == 0.
sandholm@chromium.org [Tue, 22 Feb 2011 09:01:06 +0000 (09:01 +0000)]
Expand fast case of parseInt to include radix == 10 and radix == 0.
Review URL: http://codereview.chromium.org/6532087

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoChange the translation of break/continue into Hydrogen.
kmillikin@chromium.org [Tue, 22 Feb 2011 08:40:10 +0000 (08:40 +0000)]
Change the translation of break/continue into Hydrogen.

Resolve break and continue when we see them, rather then deferring
them until later.

Review URL: http://codereview.chromium.org/6541060

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix presubmit failure.
kmillikin@chromium.org [Tue, 22 Feb 2011 06:41:32 +0000 (06:41 +0000)]
Fix presubmit failure.

TBR=ager@chromium.org

Review URL: http://codereview.chromium.org/6552001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoShorten live ranges for arguments to runtime calls.
kmillikin@chromium.org [Tue, 22 Feb 2011 06:25:01 +0000 (06:25 +0000)]
Shorten live ranges for arguments to runtime calls.

Before, the live ranges of the arguments extended to the call itself, and
they were pushed immediately before the call.  Now, they are spilled eagerly
as soon as their value is available and they are spilled to the right place.

The inlined runtime calls in the optimized backend are changed to work as in
all the other backends: they get their arguments untranslated and can choose
their own custom evaluation order.

Review URL: http://codereview.chromium.org/6526047

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix Xcode project.
mmaly@chromium.org [Tue, 22 Feb 2011 01:10:28 +0000 (01:10 +0000)]
Fix Xcode project.

TBR= ager@chromium.org

BUG=
TEST=

Review URL: http://codereview.chromium.org/6551006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoCallIC and KeyedCallIC not wrapping this for strict mode functions.
mmaly@chromium.org [Tue, 22 Feb 2011 00:39:21 +0000 (00:39 +0000)]
CallIC and KeyedCallIC not wrapping this for strict mode functions.
Fix CallIC and KeyedCallIC to correctly use Handle<Object>.

Review URL: http://codereview.chromium.org/6523052

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMinor refactoring: unify lazy function compilation for in loop and no in loop variants.
antonm@chromium.org [Mon, 21 Feb 2011 18:28:20 +0000 (18:28 +0000)]
Minor refactoring: unify lazy function compilation for in loop and no in loop variants.

Review URL: http://codereview.chromium.org/6542017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoBug: OS::MemoryMappedFile::open() should not truncate a pre-existing file.
mikhail.naganov@gmail.com [Mon, 21 Feb 2011 17:17:26 +0000 (17:17 +0000)]
Bug: OS::MemoryMappedFile::open() should not truncate a pre-existing file.

Patch by Mark Lam from Hewlett-Packard Development Company, LP

Review URL: http://codereview.chromium.org/6543039

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6872 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoChange the baseline compiler to match the Hydrogen graph builder.
kmillikin@chromium.org [Mon, 21 Feb 2011 16:49:39 +0000 (16:49 +0000)]
Change the baseline compiler to match the Hydrogen graph builder.

The Hydrogen graph translation does not build a branch for unary negation in
an effect context, so the baseline compiler should not do so either.

Review URL: http://codereview.chromium.org/6546050

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoHeap::gc_count_, last_gc_count, and kGCsBetweenCleanup should be unsigned
vegorov@chromium.org [Mon, 21 Feb 2011 16:11:46 +0000 (16:11 +0000)]
Heap::gc_count_, last_gc_count, and kGCsBetweenCleanup should be unsigned
in order to not be vulnerable to overflow issues.

Patch by Mark Lam of Hewlett-Packard Development Company, LP

Review URL: http://codereview.chromium.org/5966001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoImplement pixel array elements access in the presence of an
ager@chromium.org [Mon, 21 Feb 2011 15:59:23 +0000 (15:59 +0000)]
Implement pixel array elements access in the presence of an
interceptor that does not handle the elements load.

Review URL: http://codereview.chromium.org/6551001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6869 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix broken build by removing more const qualifiers.
fschneider@chromium.org [Mon, 21 Feb 2011 13:27:36 +0000 (13:27 +0000)]
Fix broken build by removing more const qualifiers.

Review URL: http://codereview.chromium.org/6532085

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6867 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove const qualifier in a few places in the hydrogen IR files.
fschneider@chromium.org [Mon, 21 Feb 2011 12:05:17 +0000 (12:05 +0000)]
Remove const qualifier in a few places in the hydrogen IR files.

This is a preparation step for a larger refactoring of the
hydrogen instructions.

Review URL: http://codereview.chromium.org/6542042

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove passing tests from ARM test expectations. Yay!
ager@chromium.org [Mon, 21 Feb 2011 11:58:19 +0000 (11:58 +0000)]
Remove passing tests from ARM test expectations. Yay!

TBR=karlklose@chromium.org

Review URL: http://codereview.chromium.org/6548006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6865 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRemove passing tests from expectations. Yay!
ager@chromium.org [Mon, 21 Feb 2011 11:55:45 +0000 (11:55 +0000)]
Remove passing tests from expectations. Yay!

Review URL: http://codereview.chromium.org/6488028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6864 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64 Crankshaft: Add ModI and ModT to x64 optimizing compiler.
whesse@chromium.org [Mon, 21 Feb 2011 11:32:28 +0000 (11:32 +0000)]
X64 Crankshaft: Add ModI and ModT to x64 optimizing compiler.
Review URL: http://codereview.chromium.org/6548005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6863 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoUnifying the handling of storing and loading from safepoint stack
ager@chromium.org [Mon, 21 Feb 2011 11:29:45 +0000 (11:29 +0000)]
Unifying the handling of storing and loading from safepoint stack
slots across architectures.

Review URL: http://codereview.chromium.org/6541051

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6862 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Implement DoMathRound in the lithium code generator.
karlklose@chromium.org [Mon, 21 Feb 2011 10:30:25 +0000 (10:30 +0000)]
ARM: Implement DoMathRound in the lithium code generator.

Review URL: http://codereview.chromium.org/6519051

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agox64: implement apply with arguments in lithium backend.
ager@chromium.org [Mon, 21 Feb 2011 07:54:55 +0000 (07:54 +0000)]
x64: implement apply with arguments in lithium backend.

Includes the plumbing to make sure that all calls generated by the macroassembler for lithium will generate record a safepoint.

Review URL: http://codereview.chromium.org/6469053

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdjust pointer maps for branches when connecting live ranges.
vegorov@chromium.org [Fri, 18 Feb 2011 16:29:41 +0000 (16:29 +0000)]
Adjust pointer maps for branches when connecting live ranges.

Review URL: http://codereview.chromium.org/6541024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6858 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agox64: Fix safepoint register index calculation.
ager@chromium.org [Fri, 18 Feb 2011 16:16:17 +0000 (16:16 +0000)]
x64: Fix safepoint register index calculation.

We leave room for all registers on the stack so we have to add a bit.

This is not nicely factored and I need to do that. This will fix the breakage and I
will fix the rest on Monday.

TBR=lrn@chromium.org

Review URL: http://codereview.chromium.org/6544017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6857 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64 Crankshaft: Implement MathRound, MathFloor, MathSqrt, and MathPowHalf UnaryMathOp...
whesse@chromium.org [Fri, 18 Feb 2011 14:34:17 +0000 (14:34 +0000)]
X64 Crankshaft: Implement MathRound, MathFloor, MathSqrt, and MathPowHalf UnaryMathOperations in optimizing code generator.  Remove unneeded bailout on Math.pow(-0, 0.5) from ia32 and x64 platforms - we produce the correct value without bailing out.
Review URL: http://codereview.chromium.org/6532054

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6856 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMinor cleanup.
antonm@chromium.org [Fri, 18 Feb 2011 14:22:29 +0000 (14:22 +0000)]
Minor cleanup.

Do not relookup code object and use optimized_code instead
shadowing existing code local.

Review URL: http://codereview.chromium.org/6541020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoFix presubmit.
ager@chromium.org [Fri, 18 Feb 2011 14:10:42 +0000 (14:10 +0000)]
Fix presubmit.

TBR=lrn@chromium.org

Review URL: http://codereview.chromium.org/6532055

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6854 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agox64: Implement regexp literals and string CharCodeAt in lithium backend.
ager@chromium.org [Fri, 18 Feb 2011 14:00:46 +0000 (14:00 +0000)]
x64: Implement regexp literals and string CharCodeAt in lithium backend.

Review URL: http://codereview.chromium.org/6469052

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agox64: Implement the missing generic load and store operations.
ager@chromium.org [Fri, 18 Feb 2011 12:54:43 +0000 (12:54 +0000)]
x64: Implement the missing generic load and store operations.

Review URL: http://codereview.chromium.org/6541019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6852 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoX64 Crankshaft: Implement LValueOf and (dummy) LArgumentsObject.
whesse@chromium.org [Fri, 18 Feb 2011 12:06:52 +0000 (12:06 +0000)]
X64 Crankshaft: Implement LValueOf and (dummy) LArgumentsObject.
Review URL: http://codereview.chromium.org/6542011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoUse [[DefineOwnProperty]] to put 'constructor' field on the protoype object.
antonm@chromium.org [Fri, 18 Feb 2011 10:53:38 +0000 (10:53 +0000)]
Use [[DefineOwnProperty]] to put 'constructor' field on the protoype object.

That better follows ECMA-262 (see 13.2 Creating Function Objects) and allows
to ignore nasty JS accessors for 'constructor' property.

BUG=v8:1172
TEST=test/mjsunit/regress/regress-1172.js

Review URL: http://codereview.chromium.org/6531037

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6849 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAdd access checks to Object.preventExtensions + add regression test for 1027.
ricow@chromium.org [Fri, 18 Feb 2011 10:39:02 +0000 (10:39 +0000)]
Add access checks to Object.preventExtensions + add regression test for 1027.

Object.preventExtensions can currently be used cross-domain. With this
change we follow firefox (IE9 has our current behaviour). In addition
this includes a regression test for 1027 and access tests for
Object.seal and Object.freeze.

Review URL: http://codereview.chromium.org/6534019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRevert "This is not wrapped for strict mode and builtin functions."
mmaly@chromium.org [Thu, 17 Feb 2011 21:56:37 +0000 (21:56 +0000)]
Revert "This is not wrapped for strict mode and builtin functions."

This reverts commit 6845

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoChange behavior of global declarations in the presence of setters.
ager@chromium.org [Thu, 17 Feb 2011 21:04:53 +0000 (21:04 +0000)]
Change behavior of global declarations in the presence of setters.

Call accessors in the global object prototype when initializing global
variables. Function declarations are special cased for compatibility
with Safari and setters are not called for them. If this special
casing was not done webkit layout tests would fail.

Make the declaration of global const variables in the presence of
callbacks a redeclaration error.

Handle const context slot declarations conflicting with a CALLBACK as
a redeclaration error. That is, unless it is on a context extension
object which is not a real object and therefore conceptually have no
accessors in prototype chains. Accessors in prototype chains of
context extension objects are explicitly ignored in SetProperty.

Review URL: http://codereview.chromium.org/6534029

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoThis is not wrapped for strict mode and builtin functions.
mmaly@chromium.org [Thu, 17 Feb 2011 17:52:03 +0000 (17:52 +0000)]
This is not wrapped for strict mode and builtin functions.
CallIC and KeyedCallIC do not wrap this when calling builtin
and strict mode functions.

Review URL: http://codereview.chromium.org/6523052

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoMake OutOfMemory exception thrown from JS call into FatalProcessOutOfMemory as well.
antonm@chromium.org [Thu, 17 Feb 2011 17:21:59 +0000 (17:21 +0000)]
Make OutOfMemory exception thrown from JS call into FatalProcessOutOfMemory as well.

That unifies the behaviour with CALL_HEAP_FUNCTION macro.

BUG=v8:1165

Review URL: http://codereview.chromium.org/6528050

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoRevert change to const and global variable declarations. It causes
ager@chromium.org [Thu, 17 Feb 2011 16:54:49 +0000 (16:54 +0000)]
Revert change to const and global variable declarations. It causes
may WebKit layout test failures.

I will look into it tomorrow.
TBR=kmillikin@chromium.org

Review URL: http://codereview.chromium.org/6537021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6843 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoCygwin support
vegorov@chromium.org [Thu, 17 Feb 2011 16:33:10 +0000 (16:33 +0000)]
Cygwin support

Patch by Bert Belder.

BUG=v8:64
BUG=v8:964
BUG=v8:1029

Review URL: http://codereview.chromium.org/6525028

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6842 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoCall accessors in the global object prototype when initializing global
ager@chromium.org [Thu, 17 Feb 2011 16:30:15 +0000 (16:30 +0000)]
Call accessors in the global object prototype when initializing global
variables.

Make the declaration of global const variables in the presence of
callbacks a redeclaration error.

Handle const context slot declarations conflicting with a CALLBACK as
a redeclaration error. That is, unless it is on a context extension
object which is not a real object and therefore conceptually have no
accessors in prototype chains. Accessors in prototype chains of
context extension objects are explicitly ignored in SetProperty.

Review URL: http://codereview.chromium.org/6519050

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6841 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoAvoid clobbering register containing name in CompilerStoreGlobal.
vegorov@chromium.org [Thu, 17 Feb 2011 16:02:12 +0000 (16:02 +0000)]
Avoid clobbering register containing name in CompilerStoreGlobal.

Review URL: http://codereview.chromium.org/6519052

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6840 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

13 years agoARM: Port new version of ParallelMove's GapResolver to ARM. Fix error in vstr(Double...
whesse@chromium.org [Thu, 17 Feb 2011 15:25:38 +0000 (15:25 +0000)]
ARM: Port new version of ParallelMove's GapResolver to ARM.  Fix error in vstr(DoubleRegister, MemOperand), where it was implemented as a vldr, in r6830.
Review URL: http://codereview.chromium.org/6311010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00