platform/upstream/v8.git
13 years agoX64 Crank: Implemented DoBranch and all *AndBranch comparisons.
lrn@chromium.org [Wed, 19 Jan 2011 10:17:18 +0000 (10:17 +0000)]
X64 Crank: Implemented DoBranch and all *AndBranch comparisons.

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

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

13 years agoPrepare push to trunk. We are now working in 3.0.10.
erik.corry@gmail.com [Wed, 19 Jan 2011 09:42:17 +0000 (09:42 +0000)]
Prepare push to trunk. We are now working in 3.0.10.
Review URL: http://codereview.chromium.org/6380003

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

13 years agoFix the license info to correctly state Copyright "the V8 project
ager@chromium.org [Wed, 19 Jan 2011 09:20:18 +0000 (09:20 +0000)]
Fix the license info to correctly state Copyright "the V8 project
authors" instead of "Google" so it is consistent with the individual
files.

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

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

13 years agoFix possibly wrong use of strncpy_s
sgjesse@chromium.org [Wed, 19 Jan 2011 08:34:24 +0000 (08:34 +0000)]
Fix possibly wrong use of strncpy_s

This should also fix MinGW build.
Review URL: http://codereview.chromium.org/6376003

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

13 years agoRevert r6376 and r6373 which changes external array support. The ARM
ager@chromium.org [Wed, 19 Jan 2011 08:20:42 +0000 (08:20 +0000)]
Revert r6376 and r6373 which changes external array support. The ARM
version did not work.

TBR=kbr@chromium.org
Review URL: http://codereview.chromium.org/6295013

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

13 years agoProperly create variables to access outer arguments and function names.
antonm@chromium.org [Wed, 19 Jan 2011 08:16:17 +0000 (08:16 +0000)]
Properly create variables to access outer arguments and function names.

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

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

13 years agoAdding inspector module and macro-ized object type list.
sgjesse@chromium.org [Wed, 19 Jan 2011 08:04:48 +0000 (08:04 +0000)]
Adding inspector module and macro-ized object type list.

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

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

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

13 years agoFix ARM compilation after external array changes.
ager@chromium.org [Wed, 19 Jan 2011 07:18:04 +0000 (07:18 +0000)]
Fix ARM compilation after external array changes.

TBR=kbr@chromium.org
Review URL: http://codereview.chromium.org/6261014

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

13 years agoRevert strict mode (Mozilla test failure).
mmaly@chromium.org [Tue, 18 Jan 2011 23:01:50 +0000 (23:01 +0000)]
Revert strict mode (Mozilla test failure).

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

13 years agoTruncate rather than round to nearest when performing float-to-integer
kbr@chromium.org [Tue, 18 Jan 2011 21:51:50 +0000 (21:51 +0000)]
Truncate rather than round to nearest when performing float-to-integer
conversions for external array types, which implement the Typed Array
spec. The new code paths are for SSE3 and SSE2 capable processors.
The code for non-SSE2 processors is unchanged for now. The ARM port
appears to already be correct.

Moved the generation of the external array load and store intrinsics
to the stub cache (on all platforms) so that they are generated at run
time and can take advantage of CPU features.

This functionality is covered by the array-unit-tests.html test in the
WebGL conformance test suite:
http://khronos.org/webgl/wiki/Testing/Conformance
https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/array-unit-tests.html

Manually verified all of the SSE3/SSE2/non-SSE2 code paths by enabling
each in turn. Tested in Chromium on 32-bit Mac OS X and 64-bit Linux.

BUG=http://code.google.com/p/chromium/issues/detail?id=50972
TEST=none (see above)

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

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

13 years agoIntroduce extra IC state to record additional feedback from IC-s.
vitalyr@chromium.org [Tue, 18 Jan 2011 16:54:48 +0000 (16:54 +0000)]
Introduce extra IC state to record additional feedback from IC-s.

Extra IC state is only two bits and only supported for call IC-s for
now. To change its extra state an IC stub jumps to a new miss stub
that goes to runtime as usual but then instead of going megamorphic
generates a monomorphic stub with the updated state.

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

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

13 years agoFirst part of ES5 strict mode.
mmaly@chromium.org [Tue, 18 Jan 2011 16:43:53 +0000 (16:43 +0000)]
First part of ES5 strict mode.

- var eval | arguments
- catch (eval | arguments)
- 'with' is disabled
- function can't be named eval or arguments
- function parameter name cannot be eval or arguments
- no duplicate parameter names allowed

Add FLAG_strict_mode

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

13 years agoFix lint error introduced by r6367.
vegorov@chromium.org [Tue, 18 Jan 2011 16:16:00 +0000 (16:16 +0000)]
Fix lint error introduced by r6367.

TBR=erik.corry@gmail.com

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

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

13 years agoBasic GDB JIT Interface integration.
vegorov@chromium.org [Tue, 18 Jan 2011 16:11:01 +0000 (16:11 +0000)]
Basic GDB JIT Interface integration.

It has certain overheads even when gdb is not attached so it is guarded by ENABLE_GDBJIT_INTERFACE define and --gdbjit flag.

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

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

13 years agoX64 Crankshaft: Add addition of tagged and int32 values to Crankshaft on x64. Enable...
whesse@chromium.org [Tue, 18 Jan 2011 14:32:13 +0000 (14:32 +0000)]
X64 Crankshaft: Add addition of tagged and int32 values to Crankshaft on x64.  Enable CallIC to global function to call optimized code.
Review URL: http://codereview.chromium.org/6329006

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

13 years agoFix operand type for keyed calls.
fschneider@chromium.org [Tue, 18 Jan 2011 14:25:05 +0000 (14:25 +0000)]
Fix operand type for keyed calls.

Record the key as a input operand for keyed call instructions instead
of wrongly making it a temp operand.

This bug does currently not show up as a problem because the
uses are recorded only in the instruction summary.

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

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

13 years agoDo not optimize functions which are in new space.
antonm@chromium.org [Tue, 18 Jan 2011 13:59:49 +0000 (13:59 +0000)]
Do not optimize functions which are in new space.

If there are many shortliving closures, they pollute sampler window and
delay optimizations of functions which should be optimized.

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

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

13 years agoDisable aggressive optimizations on the last optimization attempt.
vitalyr@chromium.org [Tue, 18 Jan 2011 13:43:48 +0000 (13:43 +0000)]
Disable aggressive optimizations on the last optimization attempt.

Only has effect on the loop invariant code motion and Check instructions
for now.

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

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

13 years agoARM: Implement double constants in the lithium ARM backend and fix
ager@chromium.org [Tue, 18 Jan 2011 11:31:17 +0000 (11:31 +0000)]
ARM: Implement double constants in the lithium ARM backend and fix
missing minus zero check in MathFloor implementation.

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

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

13 years agoIncremented preparse version number.
lrn@chromium.org [Tue, 18 Jan 2011 10:00:36 +0000 (10:00 +0000)]
Incremented preparse version number.

Revision 6309 changed which functions were considered lazy.
That also means that there must be preparse data for now non-lazy functions.

BUG=
TEST=

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

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

13 years agoLanding for Mark Larson.
ager@chromium.org [Tue, 18 Jan 2011 07:25:05 +0000 (07:25 +0000)]
Landing for Mark Larson.

Add a README.chromium and LICENSE file for Strongtalk assembler.

This allows the Chromium license tool to automatically include
Strongtalk in about:credits.

BUG= None
TEST= Strongtalk section in Chrome's about:credits
R= ager

Codereview URL: http://codereview.chromium.org/6357004/

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

13 years agoDo not use possibly stale values for cache size, etc.
antonm@chromium.org [Mon, 17 Jan 2011 16:54:56 +0000 (16:54 +0000)]
Do not use possibly stale values for cache size, etc.

Those value can become invalid if cache gets cleared by GC.

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

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

13 years agoMerge changes to LTemplateInstruction to X64 (Issue 1048).
lrn@chromium.org [Mon, 17 Jan 2011 13:51:59 +0000 (13:51 +0000)]
Merge changes to LTemplateInstruction to X64 (Issue 1048).

Implement ConstantD and ConstantI.

BUG=1048

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

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

13 years agoClean up test lists. I cannot reproduce any of these locally. My guess
ager@chromium.org [Mon, 17 Jan 2011 13:27:16 +0000 (13:27 +0000)]
Clean up test lists. I cannot reproduce any of these locally. My guess
is that the mozilla ones were caused by the safe-point table problem
and the deoptimization ones are fixed by adding support for mod and
div.

Let's see if the buildbot agrees.
Review URL: http://codereview.chromium.org/6260007

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

13 years agoEnable compilation of very simple functions in x64 crankshaft.
ricow@chromium.org [Mon, 17 Jan 2011 13:11:39 +0000 (13:11 +0000)]
Enable compilation of very simple functions in x64 crankshaft.

This change includes support for safepointtables and adding deoptimization info (but not for deoptimizing).

Implemented crankshaft functions:
CallCode
GenerateSafepointTable
RegisterEnvironmentForDeoptimization
EmitGoto

This change allows us to compile very simple functions with crankshaft:
An empty function
A function returning a constant.
A function returning a parameter.

There is 6 disabled tests that require us to be able to deoptimize
which is currently not supported.

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

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

13 years agoAdd UseAny to create a LOperand without register preference.
fschneider@chromium.org [Mon, 17 Jan 2011 12:54:52 +0000 (12:54 +0000)]
Add UseAny to create a LOperand without register preference.

The result can be a register, a stack slot or a constant operand.

Right now it is only used for enviroment uses.

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

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

13 years agoARM: Reenable Div and Mod in the ARM lithium codegenerator. The
ager@chromium.org [Mon, 17 Jan 2011 12:52:06 +0000 (12:52 +0000)]
ARM: Reenable Div and Mod in the ARM lithium codegenerator. The
crashes uncovered by this were caused by constant pool in safe-point
tables. This should be safe to enable now.

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

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

13 years agoARM: Fix ARM safepoint tables by ensuring that constant pools are not
ager@chromium.org [Mon, 17 Jan 2011 12:45:39 +0000 (12:45 +0000)]
ARM: Fix ARM safepoint tables by ensuring that constant pools are not
emitted as part of the safepoint tables.

Always emit the constant pool as part of generating deferred code
(whether or not there actually is any deferred code) and ASSERT that
there is no pending relocation info while using db and dd to write
tables.

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

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

13 years agoRemove the remaining LOperand-members from concrete LIR instructions.
fschneider@chromium.org [Mon, 17 Jan 2011 12:22:31 +0000 (12:22 +0000)]
Remove the remaining LOperand-members from concrete LIR instructions.

This change introduces the third template parameters for LIR instructions
to specify the number of temp-operands. This is one step towards
removing the instruction-summaries.

I also added hydrogen-accessors in more places and refactored
the LIR-branch instructions to have common super-classes to
avoid code duplication.

Added MUST_USE_RESULT to the functions that record uses
and definitions so that all LOperands are stored in the
LIR instructions (and not only in the summaries).

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

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

13 years agoChange the algorithm and generated code for parallel moves on IA32.
kmillikin@chromium.org [Mon, 17 Jan 2011 11:25:36 +0000 (11:25 +0000)]
Change the algorithm and generated code for parallel moves on IA32.

Instead of spilling and then immediately restoring eax to resolve
memory to memory moves, the gap move resolver now tracks registers
that are known to be free and uses one if available.  If not it spills
but restores lazily when the spilled value is needed or at the end of
the algorithm.

Instead of using esi for resolving cycles and assuming it is free to
overwrite because it can be rematerialized, the gap move resolver now
resolves cycles using swaps, possibly using a free register as above.

The algorithm is also changed to be simpler: a recursive depth-first
traversal of the move dependence graph.  It uses a list of moves to be
performed (because it mutates the moves themselves), but does not use
any auxiliary structure other than the control stack.  It does not
build up a separate list of scheduled moves to be interpreted by the
code generate, but emits code on the fly.

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

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

13 years agoPrepare push to trunk. We are now working in 3.0.9.
sgjesse@chromium.org [Mon, 17 Jan 2011 10:38:47 +0000 (10:38 +0000)]
Prepare push to trunk. We are now working in 3.0.9.
Review URL: http://codereview.chromium.org/6354006

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

13 years agoRemove unnecessary recording of temp operands in the register allocator.
fschneider@chromium.org [Mon, 17 Jan 2011 10:08:58 +0000 (10:08 +0000)]
Remove unnecessary recording of temp operands in the register allocator.

When processing register contraints we used to add writable input operands
also as temp operands to the same instruction.

This does not seem necessary since we create a fresh virtual register
for writable inputs and insert a definition in the gap before the instruction.

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

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

13 years agoMake invalid break/continue statements an early syntax error.
lrn@chromium.org [Mon, 17 Jan 2011 09:36:10 +0000 (09:36 +0000)]
Make invalid break/continue statements an early syntax error.

Previously we delayed the throwing of syntax errors until runtime, so
unreachable errors didn't get reported.
To match a change in JSC, we now stop parsing and report the error immediately.

BUG=69736
TEST=

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

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

13 years agoMake closures optimizable by Crankshaft compiler.
antonm@chromium.org [Mon, 17 Jan 2011 08:11:03 +0000 (08:11 +0000)]
Make closures optimizable by Crankshaft compiler.

Currently only closures which only read from the context are supported.

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

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

13 years agoLanding for Martyn Capewell.
ager@chromium.org [Mon, 17 Jan 2011 07:26:36 +0000 (07:26 +0000)]
Landing for Martyn Capewell.

ARM: Implement DoInteger32ToDouble in lithium codegen. Clean up
temporary register use.

Code review URL: http://codereview.chromium.org/6257003/

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

13 years agoRelax verification of JSFunction result caches.
antonm@chromium.org [Mon, 17 Jan 2011 07:03:19 +0000 (07:03 +0000)]
Relax verification of JSFunction result caches.

As invocation of a functin may trigger GC and hence clear all the caches,
it's hard to ensure previous invariants.

Current invariant is both a key and a value should be the holes or not holes.

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

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

13 years agoOptimize JSON stringify by allowing QuoteJSONString to prefix with a comma.
sandholm@chromium.org [Sun, 16 Jan 2011 21:29:32 +0000 (21:29 +0000)]
Optimize JSON stringify by allowing QuoteJSONString to prefix with a comma.
Review URL: http://codereview.chromium.org/6335004

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

13 years agoFix typo that breaks compilation on x64.
whesse@chromium.org [Fri, 14 Jan 2011 16:15:40 +0000 (16:15 +0000)]
Fix typo that breaks compilation on x64.
Review URL: http://codereview.chromium.org/6342003

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

13 years agoFix accidental change to ia32 in r6329.
whesse@chromium.org [Fri, 14 Jan 2011 16:10:00 +0000 (16:10 +0000)]
Fix accidental change to ia32 in r6329.
Review URL: http://codereview.chromium.org/6362001

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

13 years agoAvoid trashing the FPSCR when calculating Math.floor
sgjesse@chromium.org [Fri, 14 Jan 2011 15:39:18 +0000 (15:39 +0000)]
Avoid trashing the FPSCR when calculating Math.floor

The restoring of FPSCR could restore a random value as the restore point could be jumped to from before FPSCR was loaded.
Review URL: http://codereview.chromium.org/6344002

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

13 years agoFix compilation failure on ia32 and x64.
karlklose@chromium.org [Fri, 14 Jan 2011 15:24:41 +0000 (15:24 +0000)]
Fix compilation failure on ia32 and x64.

TBR=ager

BUG=
TEST=

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

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

13 years agoDisable DivI and ModI again until the bug with SafepointWithRegistersAndDoubles is...
karlklose@chromium.org [Fri, 14 Jan 2011 15:08:44 +0000 (15:08 +0000)]
Disable DivI and ModI again until the bug with SafepointWithRegistersAndDoubles is solved.

BUG=
TEST=

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

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

13 years agoX64 Crankshaft: Add DoParallelMove to x64
whesse@chromium.org [Fri, 14 Jan 2011 15:07:44 +0000 (15:07 +0000)]
X64 Crankshaft: Add DoParallelMove to x64
Review URL: http://codereview.chromium.org/6290004

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

13 years agoFix name of the toString method on error objects. Bug caught by layout tests.
ager@chromium.org [Fri, 14 Jan 2011 14:51:19 +0000 (14:51 +0000)]
Fix name of the toString method on error objects. Bug caught by layout tests.

TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/6258004

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

13 years agoX64: Fix allocated register name table.
lrn@chromium.org [Fri, 14 Jan 2011 14:03:05 +0000 (14:03 +0000)]
X64: Fix allocated register name table.

BUG=
TEST=

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

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

13 years agoX64 Crnakshaft: Added GeneratePrologue implementation.
lrn@chromium.org [Fri, 14 Jan 2011 13:16:48 +0000 (13:16 +0000)]
X64 Crnakshaft: Added GeneratePrologue implementation.

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

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

13 years agoUnthread message handling test. Changing the MessageHandler in a
ager@chromium.org [Fri, 14 Jan 2011 13:14:26 +0000 (13:14 +0000)]
Unthread message handling test. Changing the MessageHandler in a
threaded test is not a good idea as it has an effect on other tests.

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

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

13 years agoMake the 'name' property on error prototypes read-only and dont-delete
ager@chromium.org [Fri, 14 Jan 2011 12:51:04 +0000 (12:51 +0000)]
Make the 'name' property on error prototypes read-only and dont-delete
to avoid leaking of error objects to accessor methods when formatting
error messages internally.

Also, do not call overwritten toString methods on error objects when
formatting messages internally.

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

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

13 years agoMove class LGapResolver to the platform specific backend implementation files.
kmillikin@chromium.org [Fri, 14 Jan 2011 12:50:03 +0000 (12:50 +0000)]
Move class LGapResolver to the platform specific backend implementation files.

This change is in preparation for introducing platform-specific strategies
for resolving parallel moves.

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

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

13 years agoUnreviewed. Fix whitespaces for r6314.
podivilov@chromium.org [Fri, 14 Jan 2011 12:01:57 +0000 (12:01 +0000)]
Unreviewed. Fix whitespaces for r6314.

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

13 years agoTests for setting break points by script id and position.
podivilov@chromium.org [Fri, 14 Jan 2011 11:56:14 +0000 (11:56 +0000)]
Tests for setting break points by script id and position.

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

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

13 years agoFix win64 build by using int instead of size_t for position in StringBuilder
ricow@chromium.org [Fri, 14 Jan 2011 11:54:38 +0000 (11:54 +0000)]
Fix win64 build by using int instead of size_t for position in StringBuilder

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

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

13 years agoARM: Implement DoModI stub in the lithium code generator.
karlklose@chromium.org [Fri, 14 Jan 2011 11:48:43 +0000 (11:48 +0000)]
ARM: Implement DoModI stub in the lithium code generator.

BUG=
TEST=

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

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

13 years agoImplement DoStackCheck in x64 crankshaft
ricow@chromium.org [Fri, 14 Jan 2011 11:35:02 +0000 (11:35 +0000)]
Implement DoStackCheck in x64 crankshaft

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

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

13 years agoSpeed up FastAsciiArrayJoin on ia32 by improving hand-written assembly code.
whesse@chromium.org [Fri, 14 Jan 2011 10:57:49 +0000 (10:57 +0000)]
Speed up FastAsciiArrayJoin on ia32 by improving hand-written assembly code.
Review URL: http://codereview.chromium.org/6148007

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

13 years agoDon't lazily compile functions that are immediately receded by '('.
lrn@chromium.org [Fri, 14 Jan 2011 10:50:13 +0000 (10:50 +0000)]
Don't lazily compile functions that are immediately receded by '('.

We heuristically expect those functions to be called immediately.

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

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

13 years agoFix bug when the scanner does a pushback at the end of input.
lrn@chromium.org [Fri, 14 Jan 2011 10:49:18 +0000 (10:49 +0000)]
Fix bug when the scanner does a pushback at the end of input.

We don't advance the input cursor past the end of input, so we shouldn't
decrease it when we pushback the kEndOfInput marker.

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

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

13 years agoFix presubmit
ricow@chromium.org [Fri, 14 Jan 2011 10:33:41 +0000 (10:33 +0000)]
Fix presubmit

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

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

13 years agoAdd implementations of some more x64 lithium methods.
ricow@chromium.org [Fri, 14 Jan 2011 10:27:25 +0000 (10:27 +0000)]
Add implementations of some more x64 lithium methods.

This puts us very close to being able to compile the empty function.

This changes only has a small number of 64 bit specific assembler instructions.

The remaining changes are much more platform specific and will go in another change.

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

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

13 years agoFix number of result operands for LThrow.
fschneider@chromium.org [Fri, 14 Jan 2011 09:45:30 +0000 (09:45 +0000)]
Fix number of result operands for LThrow.

This instruction does not produce a result. We don't need a result
LOperand for it.

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

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

13 years agoARM: Implement DoDivI in the lithium code generator.
karlklose@chromium.org [Fri, 14 Jan 2011 08:49:52 +0000 (08:49 +0000)]
ARM: Implement DoDivI in the lithium code generator.

This change provides fast code for a few special cases and calls the GenericBinaryOpStub for the rest.

It also changes the register allocation in the generation of lithium instructions to use fixed registers that are compatible with the generic stub. This allocation can be change once we use a more flexible implementation.

Finally, this change provides infrastructure to save double registers at safepoints, which is need to call the stub in deferred code.

BUG=
TEST=

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

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

13 years agoAdd function for setting breakpoint by scriptId and position to debugger script
podivilov@chromium.org [Thu, 13 Jan 2011 17:32:10 +0000 (17:32 +0000)]
Add function for setting breakpoint by scriptId and position to debugger script

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

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

13 years agoWrap external pointers more carefully.
antonm@chromium.org [Thu, 13 Jan 2011 15:56:33 +0000 (15:56 +0000)]
Wrap external pointers more carefully.

On 32-bit platforms any pointer with 0 as LSB can be wrapped into Smi.  However, on 64-bit
platforms it's currently not the case as x64 Smis must have 0s in lower 32 bit word.
Even worse, macroassembler Move instruction will try to fetch integer value from Smi
and will shift by 32 bits to the right rendering stored pointer incorrect.

BUG=v8:1037

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

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

13 years agoExpose receiver check type in call type feedback.
vitalyr@chromium.org [Thu, 13 Jan 2011 14:16:08 +0000 (14:16 +0000)]
Expose receiver check type in call type feedback.

This a preparatory step to support fast function calls on primitive
values. Not really used yet in hydrogen.

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

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

13 years agoFix the xcode build by not including x64 specific code when generating
ricow@chromium.org [Thu, 13 Jan 2011 14:10:26 +0000 (14:10 +0000)]
Fix the xcode build by not including x64 specific code when generating
32 bit code.

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

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

13 years agoLanding for Rodolph Perfetta.
ager@chromium.org [Thu, 13 Jan 2011 12:21:47 +0000 (12:21 +0000)]
Landing for Rodolph Perfetta.

Implementing Math.floor and Math.sqrt for crankshaft.

BUG=none
TEST=none

Code review URL: http://codereview.chromium.org/6250002/

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

13 years agoX64 Crankshaft: Ported lots of boilerplate code.
lrn@chromium.org [Thu, 13 Jan 2011 10:04:02 +0000 (10:04 +0000)]
X64 Crankshaft: Ported lots of boilerplate code.
Small tweaks to make X64 compliant.
A few UNIMPLEMENTED left, but most empty functions call Abort to bail out.

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

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

13 years agoLanding for cira@chromium.org
ager@chromium.org [Thu, 13 Jan 2011 09:44:23 +0000 (09:44 +0000)]
Landing for cira@chromium.org

Adding gyp file for all of the experimental extensions (currently i18n-extension only).
Embedder should define icu_src_path to point to their copy of ICU library.

Code review URL: http://codereview.chromium.org/6246003/

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

13 years agoLanding for Martin Maly.
ager@chromium.org [Thu, 13 Jan 2011 09:34:19 +0000 (09:34 +0000)]
Landing for Martin Maly.

Fix x64 XCode project files.

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

13 years agoRevert r6284 and r6283 as they caused the fuzzer tests to fail.
sgjesse@chromium.org [Thu, 13 Jan 2011 08:24:19 +0000 (08:24 +0000)]
Revert r6284 and r6283 as they caused the fuzzer tests to fail.
Review URL: http://codereview.chromium.org/6295002

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

13 years agoDo not allow accessors to intercept getting/setting properties on
ager@chromium.org [Thu, 13 Jan 2011 06:56:54 +0000 (06:56 +0000)]
Do not allow accessors to intercept getting/setting properties on
error objects under construction and string conversions.

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

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

13 years agoSimplify CheckPrototypeMaps.
vitalyr@chromium.org [Thu, 13 Jan 2011 00:34:08 +0000 (00:34 +0000)]
Simplify CheckPrototypeMaps.

This instruction only depends on the prototype and the holder and can
completely ignore the receiver and its map.

This change also fixes a small bug on arm where a cell was loaded
instead of the prototype from new space.

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

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

13 years agoUse hydrogen accessor in a few more places to save space in the lithium IR.
fschneider@chromium.org [Wed, 12 Jan 2011 15:46:39 +0000 (15:46 +0000)]
Use hydrogen accessor in a few more places to save space in the lithium IR.

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

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

13 years agoRevert accidental part of http://codereview.chromium.org/6123007/
erik.corry@gmail.com [Wed, 12 Jan 2011 14:32:51 +0000 (14:32 +0000)]
Revert accidental part of codereview.chromium.org/6123007/
6281 that causes a performance regression.
Review URL: http://codereview.chromium.org/6106014

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

13 years agoOptimize JSON stringify for arrays.
sandholm@chromium.org [Wed, 12 Jan 2011 14:16:19 +0000 (14:16 +0000)]
Optimize JSON stringify for arrays.
Review URL: http://codereview.chromium.org/6164004

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

13 years agoAllow arguments in safepoints with registers.
vitalyr@chromium.org [Wed, 12 Jan 2011 14:14:14 +0000 (14:14 +0000)]
Allow arguments in safepoints with registers.

This should enable calling runtime functions with arguments from
deferred lithium code.

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

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

13 years agoFix bug in r6283
sgjesse@chromium.org [Wed, 12 Jan 2011 14:00:19 +0000 (14:00 +0000)]
Fix bug in r6283

Make sure that arguments are pushed only once before calling runtime

TEST=11 sputnik tests
Review URL: http://codereview.chromium.org/6151009

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

13 years agoIA32: Refactor to avoid duplicate code.
sgjesse@chromium.org [Wed, 12 Jan 2011 12:52:15 +0000 (12:52 +0000)]
IA32: Refactor to avoid duplicate code.
Review URL: http://codereview.chromium.org/6226006

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

13 years agoAdd a few more mozilla exceptions under BUG(1032).
ricow@chromium.org [Wed, 12 Jan 2011 12:27:39 +0000 (12:27 +0000)]
Add a few more mozilla exceptions under BUG(1032).

These test crashes occasionally as well:
ecma/Date/15.9.3.1-2
ecma/Date/15.9.3.1-3
ecma/Date/15.9.3.1-5

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

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

13 years agoFixes needed to compile on gcc-4.4.1 on ARM. It is still necessary
erik.corry@gmail.com [Wed, 12 Jan 2011 11:56:41 +0000 (11:56 +0000)]
Fixes needed to compile on gcc-4.4.1 on ARM.  It is still necessary
to add -fno-strict-aliasing.
Review URL: http://codereview.chromium.org/6123007

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

13 years agoIA32: Remove an invalid assert
sgjesse@chromium.org [Wed, 12 Jan 2011 11:53:30 +0000 (11:53 +0000)]
IA32: Remove an invalid assert
Review URL: http://codereview.chromium.org/6129005

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

13 years agoLanding for Martin Maly.
ager@chromium.org [Wed, 12 Jan 2011 09:29:20 +0000 (09:29 +0000)]
Landing for Martin Maly.

Fix CalculateEmitStore HashMap use.

The hash maps are setup to store strings or smis but instead Literal is being in them. It seems to only work by accident.

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

13 years agoARM: Allow Mozilla test js1_5/GC/regress-203278-2 to tiemout
sgjesse@chromium.org [Wed, 12 Jan 2011 08:10:09 +0000 (08:10 +0000)]
ARM: Allow Mozilla test js1_5/GC/regress-203278-2 to tiemout

BUG=v8:1040
TEST=Mozilla test js1_5/GC/regress-203278-2
Review URL: http://codereview.chromium.org/6204005

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

13 years agoARM: Always use the overflow flag to check for NaNs participating in a floating point...
sgjesse@chromium.org [Wed, 12 Jan 2011 07:47:13 +0000 (07:47 +0000)]
ARM: Always use the overflow flag to check for NaNs participating in a floating point compare.

Looks as if we don't need to use the vcmpe instruction instead of the vcmp, as the overflow FPSCR bit suits our purpose. If we at some point need vcmpe lte's implement it as a separate instruction.
Review URL: http://codereview.chromium.org/6197003

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

13 years agoCrankshaft: Move LEnvironment and LPointerMap classes to platform-independent lithium...
whesse@chromium.org [Tue, 11 Jan 2011 15:51:08 +0000 (15:51 +0000)]
Crankshaft: Move LEnvironment and LPointerMap classes to platform-independent lithium.h.  Move WriteTranslation method from LEnvironment class to LCodeGen class.
Review URL: http://codereview.chromium.org/6142011

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

13 years agoIntroduce two more template parameter for Lithium instructions for input and temp...
fschneider@chromium.org [Tue, 11 Jan 2011 15:47:34 +0000 (15:47 +0000)]
Introduce two more template parameter for Lithium instructions for input and temp operands.

Each LInstruction is now a subclass of LTemplateInstruction<R, I, T>

where R is number of outputs, I number of inputs and T number of temps.

This change only actually uses the parameter I for input operands.
Since the parameter T for temps is 0, it incurs no extra cost.

A separate change will introduce using the temps parameter.

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

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

13 years agoAdd fine-grained diff implementation to LiveEdit engine.
peter.rybin@gmail.com [Tue, 11 Jan 2011 14:55:47 +0000 (14:55 +0000)]
Add fine-grained diff implementation to LiveEdit engine.

BUG=1013
TEST=

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

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

13 years agoRemove unused Temp() function form LChunkBuilder.
fschneider@chromium.org [Tue, 11 Jan 2011 14:38:13 +0000 (14:38 +0000)]
Remove unused Temp() function form LChunkBuilder.

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

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

13 years agoImplement DoApplyArguments.
karlklose@chromium.org [Tue, 11 Jan 2011 14:11:03 +0000 (14:11 +0000)]
Implement DoApplyArguments.

ARM: Implement DoApplyArguments in the lithium code generator.

This patch also introduces an optional SafepointGenerator argument to InvokeFunction, InvokeCode and InvokeProloque.

BUG=
TEST=

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

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

13 years agoARM: Implement ClassOf in the lithium arm backend.
ager@chromium.org [Tue, 11 Jan 2011 14:01:53 +0000 (14:01 +0000)]
ARM: Implement ClassOf in the lithium arm backend.

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

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

13 years agoReuse the gap move resolver.
kmillikin@chromium.org [Tue, 11 Jan 2011 13:50:12 +0000 (13:50 +0000)]
Reuse the gap move resolver.

Rather than allocating a fresh gap move resolver for every parallel
move, use a single one per Lithium code generator.  This avoids always
reallocating the temporary zone-allocated lists used by the gap move
resolver.

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

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

13 years agoSSE2 truncating double-to-i.
vitalyr@chromium.org [Tue, 11 Jan 2011 13:48:49 +0000 (13:48 +0000)]
SSE2 truncating double-to-i.

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

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

13 years agoARM: Add instructions VFPCompareAndSetFlags and VFPCompareAndLoadFlags to macro assembler
sgjesse@chromium.org [Tue, 11 Jan 2011 12:45:25 +0000 (12:45 +0000)]
ARM: Add instructions VFPCompareAndSetFlags and VFPCompareAndLoadFlags to macro assembler

Also removed the SBit from the vcmp instruction as it is not part of the instruction.
Review URL: http://codereview.chromium.org/6117003

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

13 years agoVisit all roots in the UnreachableObjectsFilter.
mikhail.naganov@gmail.com [Tue, 11 Jan 2011 12:38:19 +0000 (12:38 +0000)]
Visit all roots in the UnreachableObjectsFilter.

If an object is only referenced from DOM wrappers, it can only
be seen if all roots are visited.

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

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

13 years agoAdd reporting of JS heap size limit to GetHeapStatistics.
mikhail.naganov@gmail.com [Tue, 11 Jan 2011 12:36:09 +0000 (12:36 +0000)]
Add reporting of JS heap size limit to GetHeapStatistics.

I found it useful to know inside the heap profiler to avoid
crashes due to heap overflow.

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

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

13 years agoARM: Add deferred stack overflow checks to goto code generation in ARM
ager@chromium.org [Tue, 11 Jan 2011 12:32:00 +0000 (12:32 +0000)]
ARM: Add deferred stack overflow checks to goto code generation in ARM
lithium when needed.

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

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

13 years agoAdd source file lithium-codegen-x64.cc. Add class declarations to lithium-codegen...
whesse@chromium.org [Tue, 11 Jan 2011 12:24:18 +0000 (12:24 +0000)]
Add source file lithium-codegen-x64.cc.  Add class declarations to lithium-codegen-x64.h.
Review URL: http://codereview.chromium.org/6135008

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

13 years agoFix ARM debug build by moving an assert.
fschneider@chromium.org [Tue, 11 Jan 2011 12:20:22 +0000 (12:20 +0000)]
Fix ARM debug build by moving an assert.

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

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

13 years agoUse HIR accessor for CheckPrototypeMaps to remove the duplicate members in lithium.
fschneider@chromium.org [Tue, 11 Jan 2011 12:10:11 +0000 (12:10 +0000)]
Use HIR accessor for CheckPrototypeMaps to remove the duplicate members in lithium.

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

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

13 years agoARM: use existing transcendental cache stub for tagged inputs.
ager@chromium.org [Tue, 11 Jan 2011 11:54:37 +0000 (11:54 +0000)]
ARM: use existing transcendental cache stub for tagged inputs.

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

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