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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
feng@chromium.org [Mon, 29 Jun 2009 21:15:03 +0000 (21:15 +0000)]
Workaround a gcc 4.4 bug.
Gcc generates wrong vtable entries for certain code pattern. The change in heap.cc has detailed explanation.
Review URL: http://codereview.chromium.org/147022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2299
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
iposva@chromium.org [Mon, 29 Jun 2009 17:07:30 +0000 (17:07 +0000)]
- Add a "#error Unsupported target architecture." where needed. A chain of
platform dependent ifdefs is useless if it does not include an error like
this. You will end up searching for the failure in all the wrong places.
Review URL: http://codereview.chromium.org/150026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2298
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00