platform/upstream/v8.git
15 years agoRe-add v8_shell target to v8.gyp. Patch by Joel Stanley.
kasperl@chromium.org [Thu, 9 Jul 2009 05:25:08 +0000 (05:25 +0000)]
Re-add v8_shell target to v8.gyp. Patch by Joel Stanley.

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

15 years agoAddress review comments.
ager@chromium.org [Thu, 9 Jul 2009 04:22:05 +0000 (04:22 +0000)]
Address review comments.

Only jump over 'else' part of a conditional if it is actually
generated.  Update a comment to more correctly reflect what is going
on.

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

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

15 years ago- Update comments and fix a small glitch in the ARM disassembler.
iposva@chromium.org [Wed, 8 Jul 2009 22:13:42 +0000 (22:13 +0000)]
- Update comments and fix a small glitch in the ARM disassembler.
- Fix the use of OS::ActivationFrameAlignment() when running with
  the simulator.
Review URL: http://codereview.chromium.org/155109

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

15 years agoFix crash bug in ARM codegenerator by adding another special case for
ager@chromium.org [Wed, 8 Jul 2009 22:05:06 +0000 (22:05 +0000)]
Fix crash bug in ARM codegenerator by adding another special case for
generating code after a call to LoadConditionAndSpill.

This crash is hit on www.rightmove.co.uk when using the ARM
codegenerator.
Review URL: http://codereview.chromium.org/149351

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

15 years agoFix crash in arm conditional expression code generation.
ager@chromium.org [Wed, 8 Jul 2009 19:43:22 +0000 (19:43 +0000)]
Fix crash in arm conditional expression code generation.
Review URL: http://codereview.chromium.org/155234

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

15 years ago* Move almost all roots into an array ready for use by a constant-pool
erik.corry@gmail.com [Wed, 8 Jul 2009 19:12:58 +0000 (19:12 +0000)]
* Move almost all roots into an array ready for use by a constant-pool
register on ARM.
* Make some compile-time loops into run-time loops for compactness.
Review URL: http://codereview.chromium.org/149324

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

15 years agoFix an X64 problem with builtin fixups. Remove an assert from fixups that is no...
whesse@chromium.org [Wed, 8 Jul 2009 16:19:13 +0000 (16:19 +0000)]
Fix an X64 problem with builtin fixups.  Remove an assert from fixups that is no longer true on all platforms.
Review URL: http://codereview.chromium.org/149332

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

15 years agoX64: Fix bug in for-in iteration.
lrn@chromium.org [Wed, 8 Jul 2009 15:43:31 +0000 (15:43 +0000)]
X64: Fix bug in for-in iteration.

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

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

15 years agoFix missing include directories in v8.gyp.
deanm@chromium.org [Wed, 8 Jul 2009 15:36:12 +0000 (15:36 +0000)]
Fix missing include directories in v8.gyp.

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

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

15 years agoCorrect the location of libraries-empty.cc in v8.gyp.
deanm@chromium.org [Wed, 8 Jul 2009 15:29:16 +0000 (15:29 +0000)]
Correct the location of libraries-empty.cc in v8.gyp.

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

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

15 years agoCorrect the location of snapshot.cc in v8.gyp.
deanm@chromium.org [Wed, 8 Jul 2009 15:22:44 +0000 (15:22 +0000)]
Correct the location of snapshot.cc in v8.gyp.

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

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

15 years agoCleanup v8.gyp. This also drops a bunch of unused targets (the shell, d8,
deanm@chromium.org [Wed, 8 Jul 2009 14:56:56 +0000 (14:56 +0000)]
Cleanup v8.gyp.  This also drops a bunch of unused targets (the shell, d8,
etc).

There are now two gyp variables to control whether we build snapshots and which
target we are building for.  This allows you to easily cross-compile for arm and
disable snapshots.

Patch by Joel Stanley.

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

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

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

15 years agoFixed and exposure to the_hole from Runtime_KeyedGetProperty.
bak@chromium.org [Wed, 8 Jul 2009 11:51:43 +0000 (11:51 +0000)]
Fixed and exposure to the_hole from Runtime_KeyedGetProperty.
Added regression test that fails with previous revisions.

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

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

15 years agoFix crash that occurs when we're forced to delete a global
kasperl@chromium.org [Wed, 8 Jul 2009 11:32:03 +0000 (11:32 +0000)]
Fix crash that occurs when we're forced to delete a global
property that used to be DontDelete and we still have an IC
that reads from the cell.
Review URL: http://codereview.chromium.org/149322

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

15 years agoX64: Decrease limit in big-object-literal test. Hits max call stack.
lrn@chromium.org [Wed, 8 Jul 2009 10:46:13 +0000 (10:46 +0000)]
X64: Decrease limit in big-object-literal test. Hits max call stack.

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

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

15 years agoX64: Turn of gcc strict-aliasing optimization for X64 release.
whesse@chromium.org [Wed, 8 Jul 2009 09:46:26 +0000 (09:46 +0000)]
X64: Turn of gcc strict-aliasing optimization for X64 release.
Review URL: http://codereview.chromium.org/155208

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

15 years agoX64: Added unimplemented method in codegen-x64.cc.
lrn@chromium.org [Wed, 8 Jul 2009 09:26:51 +0000 (09:26 +0000)]
X64: Added unimplemented method in codegen-x64.cc.
Six more tests run.

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

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

15 years agoChange the name of the Object.prototype.inherits function in
kasperl@chromium.org [Wed, 8 Jul 2009 07:35:14 +0000 (07:35 +0000)]
Change the name of the Object.prototype.inherits function in
the DeltaBlue benchmark to inheritsFrom to avoid name clashes
when running in Chromium with extensions enabled.

See http://crbug.com/11797.
Review URL: http://codereview.chromium.org/155205

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

15 years agoFix issue with skipping global object during lookup through
kasperl@chromium.org [Wed, 8 Jul 2009 07:13:44 +0000 (07:13 +0000)]
Fix issue with skipping global object during lookup through
the prototype chain. In case we're skipping a global object,
we have to be careful not to use ICs for the load, because
it's possible to introduce variables on the global object
without a map change.
Review URL: http://codereview.chromium.org/149316

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

15 years agoFix unsafe use of DescriptorWriter across allocation.
ager@chromium.org [Wed, 8 Jul 2009 03:21:27 +0000 (03:21 +0000)]
Fix unsafe use of DescriptorWriter across allocation.

DescriptorWriters hold a raw pointer to the descriptor array and they
are therefore not GC safe.
Review URL: http://codereview.chromium.org/149304

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

15 years agoAnother attempt at correctly marking a debug test that fails in debug
ager@chromium.org [Tue, 7 Jul 2009 21:08:29 +0000 (21:08 +0000)]
Another attempt at correctly marking a debug test that fails in debug
mode on arm.

Let's see if we can make the builder green.

TBR=yurys@chromium.org
Review URL: http://codereview.chromium.org/149282

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

15 years agoRemove passing test from expected failures.
ager@chromium.org [Tue, 7 Jul 2009 20:13:52 +0000 (20:13 +0000)]
Remove passing test from expected failures.

TBR=yurys@chromium.org
Review URL: http://codereview.chromium.org/149274

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

15 years agoPort IsConstructCall optimization to x64 and ARM.
ager@chromium.org [Tue, 7 Jul 2009 19:00:24 +0000 (19:00 +0000)]
Port IsConstructCall optimization to x64 and ARM.
Review URL: http://codereview.chromium.org/149266

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

15 years agoDisable test-clearbreakpointgroup on ARM
yurys@chromium.org [Tue, 7 Jul 2009 18:17:20 +0000 (18:17 +0000)]
Disable test-clearbreakpointgroup on ARM
Review URL: http://codereview.chromium.org/149262

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

15 years agoFix issue number 398: replacing a constant function on a clone.
whesse@chromium.org [Tue, 7 Jul 2009 14:06:08 +0000 (14:06 +0000)]
Fix issue number 398: replacing a constant function on a clone.
Review URL: http://codereview.chromium.org/149249

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

15 years agoRemove the support for jump-table switches from the x64 port as well.
kmillikin@chromium.org [Tue, 7 Jul 2009 13:17:22 +0000 (13:17 +0000)]
Remove the support for jump-table switches from the x64 port as well.
Review URL: http://codereview.chromium.org/126197

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

15 years agoRevert r2372 to get the tree green again.
kasperl@chromium.org [Tue, 7 Jul 2009 13:06:40 +0000 (13:06 +0000)]
Revert r2372 to get the tree green again.

TBR=mikhail.naganov@gmail.com
Review URL: http://codereview.chromium.org/155137

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

15 years agoIn Chrome several tabs may share the same v8 instance. Each of those tabs can be...
yurys@chromium.org [Tue, 7 Jul 2009 12:48:57 +0000 (12:48 +0000)]
In Chrome several tabs may share the same v8 instance. Each of those tabs can be inspected with its own devtools window. When such devtools window closes we need to clear all breakpoints that belong to it. Notion of breakpoint group enables us to do that.

Storing the breakpoints on the client(in a different process) would be inreliable since 1) it may crash and 2) some 'setbreakpoint' requests may be not processed yet by the time devtools window closes.

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

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

15 years agoX64: Disassembler updated to using REX, extended registers and some X64 opcodes.
lrn@chromium.org [Tue, 7 Jul 2009 12:40:15 +0000 (12:40 +0000)]
X64: Disassembler updated to using REX, extended registers and some X64 opcodes.
Not all opcodes fixed yet (some should be invalid in 64-bit mode, others should be added).

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

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

15 years agoX64: Use CmpObjectType macro everywhere, fix problem with sign of instance types.
whesse@chromium.org [Tue, 7 Jul 2009 12:17:31 +0000 (12:17 +0000)]
X64: Use CmpObjectType macro everywhere, fix problem with sign of instance types.
Review URL: http://codereview.chromium.org/155132

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

15 years agoAdd automatic tests for Tick Processor.
mikhail.naganov@gmail.com [Tue, 7 Jul 2009 12:11:12 +0000 (12:11 +0000)]
Add automatic tests for Tick Processor.

Added tests for cmdline args parsing, symbols processing, and the whole process.

Tick Processor code was refactored to make it testable.

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

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

15 years agoFix issue 397 and issue 399.
kasperl@chromium.org [Tue, 7 Jul 2009 11:57:09 +0000 (11:57 +0000)]
Fix issue 397 and issue 399.
Review URL: http://codereview.chromium.org/149247

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

15 years agoChange a few sites where the Handle<T>(NULL) constructor is used so
kmillikin@chromium.org [Tue, 7 Jul 2009 11:41:21 +0000 (11:41 +0000)]
Change a few sites where the Handle<T>(NULL) constructor is used so
that they use the static Handle<T>::null() member function instead.

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

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

15 years agoFix lint issue.
kasperl@chromium.org [Tue, 7 Jul 2009 09:50:12 +0000 (09:50 +0000)]
Fix lint issue.

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

15 years agoAllow variable proxies for the same global variable to share the same
kmillikin@chromium.org [Tue, 7 Jul 2009 09:48:54 +0000 (09:48 +0000)]
Allow variable proxies for the same global variable to share the same
variable object.

Add a map from names to variables for global scopes just like
non-global scopes.  Variables are added to the map by the parser when
it encounters a declaration in a global scope or else at scope
resolution time by a failed variable lookup from the global scope or
an inner one and with no intervening with statements or possible calls
to eval.
Review URL: http://codereview.chromium.org/149245

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

15 years agoChanged ?: into if/else to placate compiler.
lrn@chromium.org [Tue, 7 Jul 2009 09:29:41 +0000 (09:29 +0000)]
Changed ?: into if/else to placate compiler.

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

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

15 years agoFix the order in which ToNumber is called for some Math functions.
erik.corry@gmail.com [Tue, 7 Jul 2009 08:55:55 +0000 (08:55 +0000)]
Fix the order in which ToNumber is called for some Math functions.
Avoid divisions when doing Math.min(0, 0).
https://bugs.webkit.org/show_bug.cgi?id=26978 has been
filed to fix inconsistencies between JSC and V8.
Review URL: http://codereview.chromium.org/149188

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

15 years agoSeparate native and interpreted regexp by compile time flag, not runtime.
lrn@chromium.org [Tue, 7 Jul 2009 08:11:19 +0000 (08:11 +0000)]
Separate native and interpreted regexp by compile time flag, not runtime.
Clean-up of RegExp code.

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

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

15 years agoX64: Implement sin and cos.
whesse@chromium.org [Tue, 7 Jul 2009 07:53:15 +0000 (07:53 +0000)]
X64: Implement sin and cos.
Review URL: http://codereview.chromium.org/149200

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

15 years agoX64: Make comparisons work on zero-extended smis.
whesse@chromium.org [Mon, 6 Jul 2009 13:21:39 +0000 (13:21 +0000)]
X64: Make comparisons work on zero-extended smis.
Review URL: http://codereview.chromium.org/155083

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

15 years agoUse attributes to communicate failed lookup instead of retval.
antonm@chromium.org [Mon, 6 Jul 2009 11:00:53 +0000 (11:00 +0000)]
Use attributes to communicate failed lookup instead of retval.

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

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

15 years agoRemove some unused messages.
deanm@chromium.org [Mon, 6 Jul 2009 10:56:52 +0000 (10:56 +0000)]
Remove some unused messages.

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

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

15 years agoPrepare to push version 1.2.12 to trunk.
kasperl@chromium.org [Mon, 6 Jul 2009 07:45:39 +0000 (07:45 +0000)]
Prepare to push version 1.2.12 to trunk.
Review URL: http://codereview.chromium.org/149192

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

15 years agoFix win32 build by moving template function definition.
kasperl@chromium.org [Mon, 6 Jul 2009 06:57:32 +0000 (06:57 +0000)]
Fix win32 build by moving template function definition.

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

15 years agoLint error fix
whesse@chromium.org [Sun, 5 Jul 2009 15:38:06 +0000 (15:38 +0000)]
Lint error fix
Review URL: http://codereview.chromium.org/149189

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

15 years agoX64: Fix LoadFloatOperands.
whesse@chromium.org [Sun, 5 Jul 2009 15:22:59 +0000 (15:22 +0000)]
X64: Fix LoadFloatOperands.
Review URL: http://codereview.chromium.org/155073

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

15 years agoX64: Use low bits of registers in emit_sse_operand. Enable --stop-at flag.
whesse@chromium.org [Fri, 3 Jul 2009 13:30:15 +0000 (13:30 +0000)]
X64: Use low bits of registers in emit_sse_operand.  Enable --stop-at flag.
Review URL: http://codereview.chromium.org/155052

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

15 years agoARM improvements to constant div, mod and mul.
erik.corry@gmail.com [Fri, 3 Jul 2009 12:44:31 +0000 (12:44 +0000)]
ARM improvements to constant div, mod and mul.
* Fast runtime calls for div and mod.
* Fix assembly and disassembly of multiply instructions.
* Strength reduce and inline multiplications to shift-add.
* Strength reduce and inline mod by power of 2.
* Strength reduce mod by other small integers to mul.
* Strength reduce div by 2 and 3.
Review URL: http://codereview.chromium.org/155047

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

15 years agoFix thinko in IC code.
erik.corry@gmail.com [Fri, 3 Jul 2009 12:43:59 +0000 (12:43 +0000)]
Fix thinko in IC code.
Review URL: http://codereview.chromium.org/149175

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

15 years agoRemove unneeded ToString calls. We call ToString if necessary
kasperl@chromium.org [Fri, 3 Jul 2009 12:08:00 +0000 (12:08 +0000)]
Remove unneeded ToString calls. We call ToString if necessary
when the result of calling the replace function is added to the
ReplaceResultBuilder.
Review URL: http://codereview.chromium.org/149179

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

15 years agoReverted RegExp parser error message change that broke layout test.
lrn@chromium.org [Fri, 3 Jul 2009 11:09:34 +0000 (11:09 +0000)]
Reverted RegExp parser error message change that broke layout test.
Also cleaned up some leftover crud.

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

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

15 years agoX64: Exit frame should use x64 ABI callee-save registers.
whesse@chromium.org [Fri, 3 Jul 2009 10:13:05 +0000 (10:13 +0000)]
X64: Exit frame should use x64 ABI callee-save registers.
Review URL: http://codereview.chromium.org/155045

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

15 years agoOptimize Date construction and string concatenation with
kasperl@chromium.org [Fri, 3 Jul 2009 10:09:59 +0000 (10:09 +0000)]
Optimize Date construction and string concatenation with
string objects (not values).
Review URL: http://codereview.chromium.org/149177

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

15 years agoWe've got complains that sending afterCompile events to debug message handler may...
yurys@chromium.org [Fri, 3 Jul 2009 10:02:51 +0000 (10:02 +0000)]
We've got complains that sending afterCompile events to debug message handler may have considerable impact on the profiler when inspected script does lots of 'eval's. The proposed solution is to request source of the compiled script lazily instead of sending it in afterCompile event.

Corresponding Chromium bug:
http://code.google.com/p/chromium/issues/detail?id=15913
Review URL: http://codereview.chromium.org/149176

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

15 years agoX64: Remove optimistic smi operations on non-smis. They cannot be undone on X64.
whesse@chromium.org [Fri, 3 Jul 2009 09:24:53 +0000 (09:24 +0000)]
X64: Remove optimistic smi operations on non-smis.  They cannot be undone on X64.
Review URL: http://codereview.chromium.org/151200

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

15 years agoX64: Ignore extra bits in Smi::value()
whesse@chromium.org [Fri, 3 Jul 2009 09:22:22 +0000 (09:22 +0000)]
X64: Ignore extra bits in Smi::value()
Review URL: http://codereview.chromium.org/155046

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

15 years agoX64: Fix floating point and integer instructions in assembler.
whesse@chromium.org [Fri, 3 Jul 2009 09:16:23 +0000 (09:16 +0000)]
X64: Fix floating point and integer instructions in assembler.
Review URL: http://codereview.chromium.org/151207

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

15 years agoChanged RegExp parser to use a recursive data structure instead of stack-based recursion.
lrn@chromium.org [Fri, 3 Jul 2009 08:18:35 +0000 (08:18 +0000)]
Changed RegExp parser to use a recursive data structure instead of stack-based recursion.
Shouldn't run out of stack space while parsing deeply nested regexps.
Might be a little faster.

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

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

15 years agoM ic-arm.cc
bak@chromium.org [Fri, 3 Jul 2009 08:00:51 +0000 (08:00 +0000)]
M    ic-arm.cc

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

15 years agoMissing file from last change
bak@chromium.org [Fri, 3 Jul 2009 06:58:56 +0000 (06:58 +0000)]
Missing file from last change

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

15 years agoImproved code for megamorphic stub on ia32.
bak@chromium.org [Fri, 3 Jul 2009 06:34:59 +0000 (06:34 +0000)]
Improved code for megamorphic stub on ia32.

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

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

15 years ago- Cache on backtracking stack in the irregexp interpreter for future use.
iposva@chromium.org [Thu, 2 Jul 2009 19:46:28 +0000 (19:46 +0000)]
- Cache on backtracking stack in the irregexp interpreter for future use.
Review URL: http://codereview.chromium.org/149131

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

15 years agoFixed test failures caused by enabling stack traces by default
christian.plesner.hansen@gmail.com [Thu, 2 Jul 2009 15:30:03 +0000 (15:30 +0000)]
Fixed test failures caused by enabling stack traces by default

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

15 years agoPort %ClassOf() optimization to X64 and ARM.
ager@chromium.org [Thu, 2 Jul 2009 14:17:10 +0000 (14:17 +0000)]
Port %ClassOf() optimization to X64 and ARM.
Review URL: http://codereview.chromium.org/150226

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

15 years agoEnable capture of the top of the stack on error instantiation.
christian.plesner.hansen@gmail.com [Thu, 2 Jul 2009 12:26:31 +0000 (12:26 +0000)]
Enable capture of the top of the stack on error instantiation.
Performance impact on v8 benchmarks seems limited.  Will be backed out
if chrome performance regresses.

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

15 years agoX64: Align start of remembered set to a 4-byte boundary
whesse@chromium.org [Thu, 2 Jul 2009 11:49:39 +0000 (11:49 +0000)]
X64: Align start of remembered set to a 4-byte boundary
Review URL: http://codereview.chromium.org/151198

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

15 years agoTemplate instantiations for Windows build.
bak@chromium.org [Thu, 2 Jul 2009 10:59:34 +0000 (10:59 +0000)]
Template instantiations for Windows build.

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

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

15 years agoFix crash when calling non-function globals.
kasperl@chromium.org [Thu, 2 Jul 2009 10:51:46 +0000 (10:51 +0000)]
Fix crash when calling non-function globals.
Review URL: http://codereview.chromium.org/151199

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

15 years agoAdd regression test case for issue 396.
kasperl@chromium.org [Thu, 2 Jul 2009 09:08:15 +0000 (09:08 +0000)]
Add regression test case for issue 396.
Review URL: http://codereview.chromium.org/150215

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

15 years agoReverted change to ASSERT is void Dictionary<Shape, Key>::SetEntry.
bak@chromium.org [Thu, 2 Jul 2009 08:07:56 +0000 (08:07 +0000)]
Reverted change to ASSERT is void Dictionary<Shape, Key>::SetEntry.

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

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

15 years agoX64: Move remembered set to a safe location on x64 platform.
whesse@chromium.org [Thu, 2 Jul 2009 07:48:05 +0000 (07:48 +0000)]
X64: Move remembered set to a safe location on x64 platform.
Review URL: http://codereview.chromium.org/151148

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

15 years agoX64: Implement InstanceofStub. Prohibit zero-size code objects.
whesse@chromium.org [Thu, 2 Jul 2009 07:09:49 +0000 (07:09 +0000)]
X64: Implement InstanceofStub.  Prohibit zero-size code objects.
Review URL: http://codereview.chromium.org/151142

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

15 years agoFixed arm/mac errors and presubmitting 2324.
bak@chromium.org [Thu, 2 Jul 2009 06:50:43 +0000 (06:50 +0000)]
Fixed arm/mac errors and presubmitting 2324.

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

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

15 years agoPrepare to push version 1.2.11 to trunk.
kasperl@chromium.org [Thu, 2 Jul 2009 06:31:57 +0000 (06:31 +0000)]
Prepare to push version 1.2.11 to trunk.
Review URL: http://codereview.chromium.org/150209

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

15 years agoMake global variable initialization consistent with Firefox and Safari
ager@chromium.org [Thu, 2 Jul 2009 06:28:37 +0000 (06:28 +0000)]
Make global variable initialization consistent with Firefox and Safari
behavior.  Only force the introduction of a variable directly on the
global object if there is an explicit initial value in a variable
declaration.

BUG=http://crbug.com/12548
Review URL: http://codereview.chromium.org/151191

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

15 years agoRevert r2324 until we can fix build and test errors.
ager@chromium.org [Wed, 1 Jul 2009 16:49:54 +0000 (16:49 +0000)]
Revert r2324 until we can fix build and test errors.

TBR=bak@chromium.org

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

15 years agoRemoved virtual behavior from Dictionaries.
bak@chromium.org [Wed, 1 Jul 2009 15:38:25 +0000 (15:38 +0000)]
Removed virtual behavior from Dictionaries.

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

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

15 years agoFix the snapshotter when ENABLE_DEBUGGER_SUPPORT is off.
feng@chromium.org [Wed, 1 Jul 2009 15:36:28 +0000 (15:36 +0000)]
Fix the snapshotter when ENABLE_DEBUGGER_SUPPORT is off.

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

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

15 years agoIgnore interceptors with no getters when doing any kind of read.
antonm@chromium.org [Wed, 1 Jul 2009 15:06:46 +0000 (15:06 +0000)]
Ignore interceptors with no getters when doing any kind of read.

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

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

15 years agoAlways scavenge when doing GCs.
kasperl@chromium.org [Wed, 1 Jul 2009 13:20:09 +0000 (13:20 +0000)]
Always scavenge when doing GCs.
Review URL: http://codereview.chromium.org/151149

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

15 years agoX64: Add Math.random, fix UnarySubStub
whesse@chromium.org [Wed, 1 Jul 2009 11:59:10 +0000 (11:59 +0000)]
X64: Add Math.random, fix UnarySubStub
Review URL: http://codereview.chromium.org/151077

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

15 years agoTreat the builtins object like other global objects (with
kasperl@chromium.org [Wed, 1 Jul 2009 11:44:37 +0000 (11:44 +0000)]
Treat the builtins object like other global objects (with
cells in old space for properties) and avoid allocating tons
of unused properties in new space when creating new contexts.
Review URL: http://codereview.chromium.org/151146

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

15 years agoARM: Don't always go into the runtime system just because a
erik.corry@gmail.com [Wed, 1 Jul 2009 11:32:08 +0000 (11:32 +0000)]
ARM:  Don't always go into the runtime system just because a
mul gave zero.
Review URL: http://codereview.chromium.org/151144

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

15 years agoHandle JavaScript accessors on the global object.
sgjesse@chromium.org [Wed, 1 Jul 2009 11:20:33 +0000 (11:20 +0000)]
Handle JavaScript accessors on the global object.

With the new representation of the global object adding JavaScript accessors for a property after global inline caches was created for that property did not work property as the inline caches did not take the JavaScript accessor information (fixed array with two elements) that could be present in a global object property cell into account.

This is now fixed by changing the map for a global object when a JavaScript accessor is defined on it.

BUG=394
TEST=test\mjsunit\regress\regress-394.js
Review URL: http://codereview.chromium.org/150162

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

15 years agoFix presubmit error.
mikhail.naganov@gmail.com [Wed, 1 Jul 2009 09:11:33 +0000 (09:11 +0000)]
Fix presubmit error.

TBR=iposva@chromium.org

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

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

15 years agoReimplement profiler sampler on Mac OS X to get it working under Chromium.
mikhail.naganov@gmail.com [Wed, 1 Jul 2009 08:46:59 +0000 (08:46 +0000)]
Reimplement profiler sampler on Mac OS X to get it working under Chromium.

Previous implementation of sampler for OS X was copied from the Linux one. But BSD (OS X) and Linux has a very important difference in signal handling. LinuxThreads doesn't support the notion of process-directed signals. So, the SIGPROF signal was directed to the thread that installed the handler---the V8 thread. But on BSD, signal handling is implemented according to POSIX spec, where process-directed signal is to be handled by an arbitrary selected thread. By a coincidence, in V8's sample shell and in Chromium's test shell, V8's thread was picked almost every time, so sampling seemed working. But not in case of Chromium.

So, I've changed the implementation of profiler sampler to use the same scheme as on Windows---a dedicated thread with high priority is used to periodically pause and sample V8's thread.

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

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

15 years ago- Avoid allocating an overly large stack frame in the irregexp
iposva@chromium.org [Tue, 30 Jun 2009 22:36:35 +0000 (22:36 +0000)]
- Avoid allocating an overly large stack frame in the irregexp
  interpreter.
Review URL: http://codereview.chromium.org/151119

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

15 years agoAdd missing cases. Thanks to polarjs for bug 393.
erik.corry@gmail.com [Tue, 30 Jun 2009 20:57:44 +0000 (20:57 +0000)]
Add missing cases.  Thanks to polarjs for bug 393.
Review URL: http://codereview.chromium.org/151112

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

15 years agoFix the redness on Flexo.
feng@chromium.org [Tue, 30 Jun 2009 19:02:59 +0000 (19:02 +0000)]
Fix the redness on Flexo.

/auto/JavaScriptV8/flexo/linux64/v8/src/x64/stub-cache-x64.cc:0:  One or more unexpected \r (^M) found;better to use only a \n  [whitespace/newline] [1]

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

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

15 years agoYoung space should be same size on snapshot builder and snapshot users
erik.corry@gmail.com [Tue, 30 Jun 2009 17:34:41 +0000 (17:34 +0000)]
Young space should be same size on snapshot builder and snapshot users
because this gets backed into the generated code.
Review URL: http://codereview.chromium.org/151083

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

15 years agoWe have to be sure to generate a relocatable instruction when
erik.corry@gmail.com [Tue, 30 Jun 2009 16:35:42 +0000 (16:35 +0000)]
We have to be sure to generate a relocatable instruction when
handling external references before a heap serialization.
Review URL: http://codereview.chromium.org/151080

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

15 years agoFixed X64 compilation.
sgjesse@chromium.org [Tue, 30 Jun 2009 14:58:33 +0000 (14:58 +0000)]
Fixed X64 compilation.

TBR=kasperl@chromium.org
Review URL: http://codereview.chromium.org/150103

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

15 years agoTweaks to global object inline cache code.
sgjesse@chromium.org [Tue, 30 Jun 2009 14:07:29 +0000 (14:07 +0000)]
Tweaks to global object inline cache code.

Remove the check for deleted properties in the global load inline cache if the property is known to be read only.

Propegate the in loop flag for the global call inline cache.

Changed the propagation of the code flags in the call stub compiler to compute these the same way for all types of call stubs and assert that the flags for the generated code is the same as those used for the cache lookup.

Addressed a few comments from previous review in test-api.cc.
Review URL: http://codereview.chromium.org/150101

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

15 years agoMore changes to make the simulator run code that is for the ARM5 snapshot.
erik.corry@gmail.com [Tue, 30 Jun 2009 13:38:40 +0000 (13:38 +0000)]
More changes to make the simulator run code that is for the ARM5 snapshot.
Review URL: http://codereview.chromium.org/150100

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

15 years agoDon't do a second lookup as we have it already.
antonm@chromium.org [Tue, 30 Jun 2009 12:29:45 +0000 (12:29 +0000)]
Don't do a second lookup as we have it already.

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

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

15 years agoX64: Make lazy arguments objects work
whesse@chromium.org [Tue, 30 Jun 2009 12:16:47 +0000 (12:16 +0000)]
X64: Make lazy arguments objects work
Review URL: http://codereview.chromium.org/151075

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

15 years agoX64: Implement unary subtraction, ObjectPair. 350 tests still fail.
whesse@chromium.org [Tue, 30 Jun 2009 12:11:21 +0000 (12:11 +0000)]
X64: Implement unary subtraction, ObjectPair. 350 tests still fail.
Review URL: http://codereview.chromium.org/150093

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

15 years agoX64: Fix bad value in stack layout constants.
lrn@chromium.org [Tue, 30 Jun 2009 11:09:57 +0000 (11:09 +0000)]
X64: Fix bad value in stack layout constants.
Remove references to Array:kHeaderSize.

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

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

15 years agoWhen Error.collectStackTraces is set to true all new instances of
christian.plesner.hansen@gmail.com [Tue, 30 Jun 2009 11:08:37 +0000 (11:08 +0000)]
When Error.collectStackTraces is set to true all new instances of
Error, ReferenceError, etc. are given a stack property that gives a
stack trace.  Here's an example stack trace:

ReferenceError: FAIL is not defined
    at Constraint.execute (deltablue.js:527)
    at Constraint.recalculate (deltablue.js:426)
    at Planner.addPropagate (deltablue.js:703)
    at Constraint.satisfy (deltablue.js:186)
    at Planner.incrementalAdd (deltablue.js:593)
    at Constraint.addConstraint (deltablue.js:164)
    at Constraint.BinaryConstraint (deltablue.js:348)
    at Constraint.EqualityConstraint (deltablue.js:517)
    at chainTest (deltablue.js:809)
    at deltaBlue (deltablue.js:881)
    at deltablue.js:888

If Error.prepareStackTrace holds a function this function is used to
format the stack trace, for instance allowing code generators to
customize the way stack traces are reported to make them easier to
process.

Next step: performance measurements to see if it is feasible to turn
this on by default.

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

15 years agoChanged the global object representation.The global object is now always in dictionar...
sgjesse@chromium.org [Tue, 30 Jun 2009 10:05:36 +0000 (10:05 +0000)]
Changed the global object representation.The global object is now always in dictionary (slow) mode with each of its properties stored in a cell object. A cell object has one field containing the actual value for the property. Inline caches for access to global properties which uses direct to the cell are now created for load, store and call to properties of the global object. When properties of the global object are deleted the cell for that property is kept with an indcation of that the property is deleted.Added counters to track the use of the global property inline caches.Added additional information on IC's in the disassembler.
Review URL: http://codereview.chromium.org/151019

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