platform/upstream/v8.git
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

13 years agoFix lint
erik.corry@gmail.com [Tue, 11 Jan 2011 11:47:30 +0000 (11:47 +0000)]
Fix lint

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

13 years agoFix Solaris build. Patch from Ryan Dahl. See http://codereview.chromium.org/5968004/
erik.corry@gmail.com [Tue, 11 Jan 2011 11:44:16 +0000 (11:44 +0000)]
Fix Solaris build.  Patch from Ryan Dahl.  See codereview.chromium.org/5968004/

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

13 years agoRemove duplicate members from some LIR instruction by using the HIR accessors.
fschneider@chromium.org [Tue, 11 Jan 2011 11:41:01 +0000 (11:41 +0000)]
Remove duplicate members from some LIR instruction by using the HIR accessors.

Remove unused LOperands from keyed-loads. We do not have multiple representations
for load instructions anymore.

Correct number of output operands as for a couple of instructions form 1 to 0
because they do not produce a result (e.g. PushArgument)

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

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

13 years agoX64 Crankshaft: Add LTemplatedInstruction and some derived classes to lithium-x64.cc.
whesse@chromium.org [Tue, 11 Jan 2011 11:33:52 +0000 (11:33 +0000)]
X64 Crankshaft: Add LTemplatedInstruction and some derived classes to lithium-x64.cc.
Review URL: http://codereview.chromium.org/6128008

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

13 years agoAdd more bailouts for Array.slice over arguments.
antonm@chromium.org [Tue, 11 Jan 2011 11:23:40 +0000 (11:23 +0000)]
Add more bailouts for Array.slice over arguments.

Unfortunately, arguments is pretty much the normal JS object.  For now
I am adding more sanity checks (in hope that typically arguments
list is rather short.)  However it probably requires more systematic
treatment, for example, we could optimistically copy elements until
we meet first hole and in this case resort to JS builtin.

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

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

13 years agoDisable crashing mozilla test from bug 1032 on arm with crankshaft
ricow@chromium.org [Tue, 11 Jan 2011 07:55:23 +0000 (07:55 +0000)]
Disable crashing mozilla test from bug 1032 on arm with crankshaft

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

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

13 years agoFix presubmit error - really
sgjesse@chromium.org [Mon, 10 Jan 2011 21:10:51 +0000 (21:10 +0000)]
Fix presubmit error - really

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/6205003

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

13 years agoFix presubmit error
sgjesse@chromium.org [Mon, 10 Jan 2011 21:03:48 +0000 (21:03 +0000)]
Fix presubmit error

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/6206003

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

13 years agoUpdate the bits reserved for the gap size in the depotimization table
sgjesse@chromium.org [Mon, 10 Jan 2011 19:43:38 +0000 (19:43 +0000)]
Update the bits reserved for the gap size in the depotimization table

On ARM the a constant pool can be emitted during the gap code generation which leads to larger gap code size

BUG=v8:1018
Review URL: http://codereview.chromium.org/6125004

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

13 years agoChange the hydrogen timing data to include zone allocation.
kmillikin@chromium.org [Mon, 10 Jan 2011 14:16:47 +0000 (14:16 +0000)]
Change the hydrogen timing data to include zone allocation.

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

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

13 years agoEnable sharding of individual testsuites in tools/test.py
ricow@chromium.org [Mon, 10 Jan 2011 13:54:42 +0000 (13:54 +0000)]
Enable sharding of individual testsuites in tools/test.py

This patch enables two new flags for the tools/test.py script;
--shard-count - giving the ability to split the tests to be run
into shard-count chunks.
--shard-run - giving the ability to specify which of the shards to actually run.

Example
  tools/test.py -j15 --shard-count=2 --shard-run=1 mozilla
would split the mozilla tests into two chunks and run the tests in the first chunk

Running:
  tools/test.py -j15 --shard-count=2 --shard-run=1 mozilla
  tools/test.py -j15 --shard-count=2 --shard-run=2 mozilla
is equivalent (in terms of test coverage) of just running:
  tools/test.py -j15 mozilla

In addition, tests are now sorted before they are returned from the
test specific ListTests methods (sputnik and mozilla tests where
already sorted before they where returned).

This change is needed to split a single test suite over two slaves on
the waterfall.

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

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

13 years agoARM: Implement delete operation in lithium codegen.
ager@chromium.org [Mon, 10 Jan 2011 12:24:19 +0000 (12:24 +0000)]
ARM: Implement delete operation in lithium codegen.

I'm using the post call generator for the macro assembler
InvokeBuiltin call to be consistent with the ia32 version. It only
generates one call, but using the post call generator it should be
easier to catch if we change that at some point.

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

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

13 years agoSplit LInstruction into multiple variant to make our LIR more compact.
fschneider@chromium.org [Mon, 10 Jan 2011 12:19:15 +0000 (12:19 +0000)]
Split LInstruction into multiple variant to make our LIR more compact.

This change introduces LTemplateInstruction which is a specialized version
of LInstruction and takes one template parameter to indicate whether the
instruction produces a result operand.

All instruction that do not have a result inherit from LTemplateInstruction<0>.
Instructions that have a result operand from LTemplateInstruction<1>

All the Define* function only operate on instructions with a result.

For this to work I also refactored the places where we do

  LInstruction* result = new Lxyy

into

  Lxyz* result = new Lxyz

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

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

13 years agoARM: Set status for flaky test
sgjesse@chromium.org [Mon, 10 Jan 2011 12:01:28 +0000 (12:01 +0000)]
ARM: Set status for flaky test

BUG=v8:1032
TEST=Mozila ecma/Date/15.9.3.1-1.js
Review URL: http://codereview.chromium.org/6212002

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

13 years agoSimplify Join and speedup joining arrays of numbers.
sandholm@chromium.org [Mon, 10 Jan 2011 11:44:54 +0000 (11:44 +0000)]
Simplify Join and speedup joining arrays of numbers.
Review URL: http://codereview.chromium.org/6173004

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

13 years agoCrankshaft: Move LParallelMove to lithium.h, add LGap to lithium-x64.h.
whesse@chromium.org [Mon, 10 Jan 2011 11:31:21 +0000 (11:31 +0000)]
Crankshaft: Move LParallelMove to lithium.h, add LGap to lithium-x64.h.
Review URL: http://codereview.chromium.org/6132002

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

13 years agoARM: Mozilla test is now passing after r6236
sgjesse@chromium.org [Mon, 10 Jan 2011 10:22:26 +0000 (10:22 +0000)]
ARM: Mozilla test is now passing after r6236

BUG=Mozilla ecma/TypeConversion/9.2
TEST=v8:1023
Review URL: http://codereview.chromium.org/6210002

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

13 years agoLanding for Martin Maly.
ager@chromium.org [Mon, 10 Jan 2011 08:17:05 +0000 (08:17 +0000)]
Landing for Martin Maly.

Fix xcode project.
Add missing files (lithium.cc, lithium.h, lithium-x64.cc).
Add 64 bit targets to "All" targets group for Xcode build.

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

13 years agoPrepare push to trunk. Now working on version 3.0.8.
kmillikin@chromium.org [Mon, 10 Jan 2011 08:05:34 +0000 (08:05 +0000)]
Prepare push to trunk.  Now working on version 3.0.8.

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

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

13 years agoLanding for Martyn Capewell.
ager@chromium.org [Mon, 10 Jan 2011 08:04:30 +0000 (08:04 +0000)]
Landing for Martyn Capewell.

ARM: Fix comparison of NaN values.

Enables the cumulative exception flag when comparing values, and uses it to
detect NaN results.

BUG=1023
TEST=none

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

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

13 years agoMake better use of the %_FastAsciiArrayJoin function.
sandholm@chromium.org [Mon, 10 Jan 2011 08:00:48 +0000 (08:00 +0000)]
Make better use of the %_FastAsciiArrayJoin function.
Review URL: http://codereview.chromium.org/6100005

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

13 years agoLanding for Martin Maly.
ager@chromium.org [Mon, 10 Jan 2011 07:59:13 +0000 (07:59 +0000)]
Landing for Martin Maly.

Implement DoCallKeyed for arm lithium compiler.

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

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

13 years agoAdd failing test to expectations to get the bot greener
sgjesse@chromium.org [Mon, 10 Jan 2011 07:37:55 +0000 (07:37 +0000)]
Add failing test to expectations to get the bot greener

BUG=v8:1031
TEST=mozilla ecma/TypeConversion/9.2
Review URL: http://codereview.chromium.org/6146006

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

13 years agoRevert 6220 (generic descriptor support in Object.defineOwnProperty)
ricow@chromium.org [Mon, 10 Jan 2011 07:20:54 +0000 (07:20 +0000)]
Revert 6220 (generic descriptor support in Object.defineOwnProperty)

This change caused a webkit failure in http/tests/security/xss-DENIED-defineProperty.html.

 I will look into this and reapply when I find a solution.

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

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

13 years agoARM: Fix lithium codegeneration of TypeofIs
sgjesse@chromium.org [Fri, 7 Jan 2011 14:27:32 +0000 (14:27 +0000)]
ARM: Fix lithium codegeneration of TypeofIs

The previous implementation was incomplete and wrong.

TBR=karlklose@chromium.org
Review URL: http://codereview.chromium.org/6113003

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

13 years agoDisable flaky test on x64 when running with --crankshaft.
ricow@chromium.org [Fri, 7 Jan 2011 13:53:20 +0000 (13:53 +0000)]
Disable flaky test on x64 when running with --crankshaft.

mjsunit/compiler/simple-osr is flaky.

Disabling for now until we get osr in place on the x64 port.

Bug 1026 created to track this:
http://code.google.com/p/v8/issues/detail?id=1026

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

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

13 years agoSpeed up a regression test regress-3249650.js so it does not timeout.
whesse@chromium.org [Fri, 7 Jan 2011 13:52:36 +0000 (13:52 +0000)]
Speed up a regression test regress-3249650.js so it does not timeout.
Review URL: http://codereview.chromium.org/6175001

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

13 years agoARM: Implement lithium codegen for DoTypeof, DoTypeofIs and DoSmiUntag
sgjesse@chromium.org [Fri, 7 Jan 2011 13:44:05 +0000 (13:44 +0000)]
ARM: Implement lithium codegen for DoTypeof, DoTypeofIs and DoSmiUntag
Review URL: http://codereview.chromium.org/6174001

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

13 years agoAviod double checking IS_STRING when joining arrays.
sandholm@chromium.org [Fri, 7 Jan 2011 13:21:34 +0000 (13:21 +0000)]
Aviod double checking IS_STRING when joining arrays.
Review URL: http://codereview.chromium.org/5977013

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

13 years agoChange interpretation of malformed \c? escapes in RegExp to match JSC.
lrn@chromium.org [Fri, 7 Jan 2011 12:35:42 +0000 (12:35 +0000)]
Change interpretation of malformed \c? escapes in RegExp to match JSC.

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

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

13 years agoARM: Support DoCallGlobal in lithium code generator.
karlklose@chromium.org [Fri, 7 Jan 2011 12:34:39 +0000 (12:34 +0000)]
ARM: Support DoCallGlobal in lithium code generator.

BUG=
TEST=

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

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

13 years agoAdded a few new debugger tests.
sgjesse@chromium.org [Fri, 7 Jan 2011 11:59:41 +0000 (11:59 +0000)]
Added a few new debugger tests.

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

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

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

13 years agoCreate platform-independent lithium files, move LGapResolver and LGapNode there
whesse@chromium.org [Fri, 7 Jan 2011 11:49:22 +0000 (11:49 +0000)]
Create platform-independent lithium files, move LGapResolver and LGapNode there
Review URL: http://codereview.chromium.org/6121001

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

13 years agoLanding for Peter Hallam
ricow@chromium.org [Fri, 7 Jan 2011 11:49:09 +0000 (11:49 +0000)]
Landing for Peter Hallam

First cut at bug 992

Fixes JS portion of DefineOwnProperty when there is
an existing property and the new descriptor is generic.

Makes code follow spec steps more closely.

Fixes typo for check for unchanged enumerable in step 6.

Adds regression test.

Codereview url: http://codereview.chromium.org/6035014/

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

13 years agoFix win64 build (int conversion)
ricow@chromium.org [Fri, 7 Jan 2011 10:51:44 +0000 (10:51 +0000)]
Fix win64 build (int conversion)

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

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

13 years agoFix GC issue in instanceof stub
sgjesse@chromium.org [Fri, 7 Jan 2011 10:37:26 +0000 (10:37 +0000)]
Fix GC issue in instanceof stub

The the call of the builtin in InstanceofStub was not correctly protected with an internal frame leading to the return address being handled as a pointer during GC.

Marked the Instanceof stub as allowing stub calls (the RecordWriteStub was removed some days ago).

This issue was not caught by the assertion designed for this when debug mode is run with --debug-code (which out tests always does) as generating code for Abort set the allow stub calls flag to true. This has been fixed by restoring the allow stub calls flag correctly.
Review URL: http://codereview.chromium.org/6097010

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

13 years agoRevert r6194: Clean up code for type feedback a bit.
fschneider@chromium.org [Fri, 7 Jan 2011 10:36:27 +0000 (10:36 +0000)]
Revert r6194: Clean up code for type feedback a bit.

This causes a big performance regression. I'll investigate.

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

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

13 years agoMove IsArgumentsMarker from class MaybeObject to Object.
kmillikin@chromium.org [Fri, 7 Jan 2011 10:06:28 +0000 (10:06 +0000)]
Move IsArgumentsMarker from class MaybeObject to Object.

Since we never need to ask it of a MaybeObject, put it with the other
oddball testers in class Object for consistency.

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

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

13 years agoX64 Crankshaft: Implement some methods in LInstruction, update mjsunit test expectations.
whesse@chromium.org [Fri, 7 Jan 2011 09:47:16 +0000 (09:47 +0000)]
X64 Crankshaft: Implement some methods in LInstruction, update mjsunit test expectations.
Review URL: http://codereview.chromium.org/6118002

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

13 years agoARM implementations of LoadElements, LoadKeyedFastElement, StoreNamedField, StoreKeye...
sgjesse@chromium.org [Fri, 7 Jan 2011 07:33:46 +0000 (07:33 +0000)]
ARM implementations of LoadElements, LoadKeyedFastElement, StoreNamedField, StoreKeyedFastElement.

BUG=none
TEST=none

Patch by Martyn Capewell from ARM Ltd.

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

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

13 years agoFix presubmit (r6209).
karlklose@chromium.org [Thu, 6 Jan 2011 16:20:45 +0000 (16:20 +0000)]
Fix presubmit (r6209).

BUG=
TEST=

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

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

13 years agoUse a separate marker value to allocate the arguments object on deoptimzation.
fschneider@chromium.org [Thu, 6 Jan 2011 15:53:56 +0000 (15:53 +0000)]
Use a separate marker value to allocate the arguments object on deoptimzation.

Before we used the hole value for this purpose, but this does not work once we
start using the hole value for other purposes in the optimizing compiler.

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

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

13 years agoARM: Support DoCheckInstanceType in lithium codegenerator.
karlklose@chromium.org [Thu, 6 Jan 2011 15:25:03 +0000 (15:25 +0000)]
ARM: Support DoCheckInstanceType in lithium codegenerator.

BUG=
TEST=

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

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

13 years agoFix disassembly comment for CallFunctionStub.
kmillikin@chromium.org [Thu, 6 Jan 2011 14:13:40 +0000 (14:13 +0000)]
Fix disassembly comment for CallFunctionStub.

The comment was printing the entire minor key but labeling it with 'argc'.

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

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

13 years agoUse hydrogen accessor instead of copying members.
karlklose@chromium.org [Thu, 6 Jan 2011 14:02:46 +0000 (14:02 +0000)]
Use hydrogen accessor instead of copying members.

BUG=
TEST=

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

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

13 years agoAvoid calling inherited setters when creating object literals and their boilerplates.
lrn@chromium.org [Thu, 6 Jan 2011 14:00:50 +0000 (14:00 +0000)]
Avoid calling inherited setters when creating object literals and their boilerplates.
Fix issue 1015.

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

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

13 years agoSmall change to stack checks in unoptimized code.
kmillikin@chromium.org [Thu, 6 Jan 2011 13:48:12 +0000 (13:48 +0000)]
Small change to stack checks in unoptimized code.

The stack checks include a loop nesting depth encoded in the code stream
after the call to the stack check stub.  Change the code to jump around this
instruction as well as the call when the stack check is OK.

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

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

13 years agoFix errors in x64 crankshaft port, add failing tests to test expectations.
whesse@chromium.org [Thu, 6 Jan 2011 13:29:22 +0000 (13:29 +0000)]
Fix errors in x64 crankshaft port, add failing tests to test expectations.
Review URL: http://codereview.chromium.org/6104004

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

13 years agoFixed some tabs left in d8.js
sgjesse@chromium.org [Thu, 6 Jan 2011 13:27:10 +0000 (13:27 +0000)]
Fixed some tabs left in d8.js

TBR=mark.lam@palm.com
Review URL: http://codereview.chromium.org/6029011

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

13 years agoMisc debugger enhancements and bug fixes.
sgjesse@chromium.org [Thu, 6 Jan 2011 13:14:32 +0000 (13:14 +0000)]
Misc debugger enhancements and bug fixes.

1. Added gdb style debugger commands (and their shortcuts) for d8.
These include:
- s[tep] : step into the current statement.
- s[tep]i[n]: step into the current statement with the minimum step.
- n[ext] : step to the next statement.
- fin[ish] : step out of the current function.
- cond : setting conditions on breakpoints.
- d[elete] : deletes breakpoints.
- en[able]|dis[able]: enables/disables breakpoints including
exception breakpoints.
- ignore : ignores a breakpoint for a specified period.
- inf[o] ar[gs] : info on arguments of the current function.
- inf[o] lo[cals] : info on local vars of the current function.
- inf[o] br[eakpoints] : info on breakpoints.
- l[ist] : similar to source, but allows the user to continually
dump subsequent lines of source code either in the
forward or backward direction.
- quit / exit / disconnect : terminates the remote debugger
session.

NOTE: Active breakpoints will automatically be disabled when
the remote debugger detaches. This allows v8 to continue to
run without worrying about a loss of a debugger session.

2. Added support for breaking the debugger by simply typing ENTER.
The break command is now optional.

3. Once the debugger is broken, the user can now just type ENTER
to repeat the last command. This is useful to functionality that
needs to be invoked repeatedly e.g. step, list.

4. Added more verbose descriptions in d8's help.

5. Fixed a line and column number offset bug in the listing of breakpoint
line and column numbers.

6. Added a gc command to allow GCs to be requested from the debugger
interface. The plumbing for requesting different types of GCs is
there, but the underlying implementation currently only triggers a
full mark-compact GC. The command also returns the before and after
sizes of the heap.

7. Added trace json, and flags commands that are not published in help.
trace json is used for tracing the debugger packets send from and
received by d8. flags is for setting v8 flags. These are useful for
people debugging v8 itself, but not necessarily users of v8.

8. Added the ability to enable and disable break on all / uncaught
exceptions in to d8.

9. Added a fix to prevent the Debugger Agent from being re-instantiated
if one already exists.

10. Added the ability to filter results of the script command by matching
text or numbers on the results.

11. Added v8 flags to enable/disable the sending of debugger BeforeCompile,
AfterCompile, and ScriptCollected events.

12. Fixed some undefined value bugs that resulted in v8 or the debugger
failing.

13. Added a few minor WEBOS__ customizations (analogous to ANDROID
customizations).

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

Review URL: http://codereview.chromium.org/5980006
Review URL: http://codereview.chromium.org/6086010

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

13 years agoImplement DoFunctionLiteral on ARM.
danno@chromium.org [Thu, 6 Jan 2011 12:53:59 +0000 (12:53 +0000)]
Implement DoFunctionLiteral on ARM.
Review URL: http://codereview.chromium.org/6112001

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

13 years agoInstanceof slow case bind is incorrect.
sgjesse@chromium.org [Thu, 6 Jan 2011 12:41:41 +0000 (12:41 +0000)]
Instanceof slow case bind is incorrect.

Currently, the bind for the slow label is after the pushing of the
args registers which renders the args pushing dead code because there
is a Ret preceeding it. The comments also imply that the arg pushing
should be part of the InvokeBuiltins tail call.

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

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

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