ager@chromium.org
74241d5116
Change ASSERT to CHECK in test-heap. Use int instead of intptr_t to
...
make MacOS compiler happier.
We need to clean this stuff up.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/182044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-09-01 15:51:51 +00:00
ager@chromium.org
41722bc6bc
Change cache test to only test for correct behavior on collisions and
...
not the exact value.
On MacOS, there is a difference in the last decimal digit from the
other platforms.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/180062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2801 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-09-01 15:40:19 +00:00
ager@chromium.org
876049ba16
Change a cast to make MacOS compiler happy.
...
We need to find a nicer way to handle these.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/182043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-09-01 15:28:31 +00:00
ager@chromium.org
d8af3528dd
Fix the handling of termination exceptions thrown when creating error
...
objects in the runtime system.
Review URL: http://codereview.chromium.org/179062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2796 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-09-01 13:55:45 +00:00
whesse@chromium.org
13d59a069d
Add explicit integer type-casts to make WIN64 build without errors.
...
Review URL: http://codereview.chromium.org/178054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-09-01 13:08:16 +00:00
erik.corry@gmail.com
09f65846d0
Use more sane inputs to get more consistent answers from
...
transcendental functions.
Review URL: http://codereview.chromium.org/173644
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-09-01 11:47:08 +00:00
erik.corry@gmail.com
be70d6fc4d
Cache the results of slow math operations on machines that don't
...
have hardware fpu instructions to execute them.
Review URL: http://codereview.chromium.org/179059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-09-01 09:03:58 +00:00
ager@chromium.org
90abdd285a
Mark native regexp macro assembler tests as flaky on ARM until Lasse
...
can look at them.
The code seems to work on all of our tests.
TBR=lrn@chromium.org
Review URL: http://codereview.chromium.org/179040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-31 16:24:44 +00:00
ager@chromium.org
3fe0bc0436
Remove asserts that do not hold when lazily compiling extension code.
...
Add checks for the use of eval and with in natives files to the js2c
script.
Review URL: http://codereview.chromium.org/175009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-31 15:02:54 +00:00
lrn@chromium.org
9230ad29eb
ARM native regexps.
...
Review URL: http://codereview.chromium.org/173567
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-31 12:40:37 +00:00
sgjesse@chromium.org
dba8b2f99a
Added 64-bit Windows build through SCons.
...
The SCons build now supports building for 64-bit Windows. This still requires that the SCons build is passed an env parameter containing the PATH and LIB for the 64-bit build as SCons autodetects the 32-bit environment.
Lowered the warning level for the 64-bit build temporarily.
Added a verbose option to SCons to display the startup banner for the Microsoft Visual C++ tools.
Review URL: http://codereview.chromium.org/174605
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-27 13:12:28 +00:00
sgjesse@chromium.org
717394492d
Generate specialized constructor code for constructing simple objects.
...
For objects which only have simple assignments of the form this.x = ...; a
specialized constructor stub is now generated. This generated code allocates the
object and fills in the initial properties directly. If this fails for some
reason code continues in the generic constructor stub which in turn might pass
control to the runtime system.
Added counter to see how many objects are constructed using a specialized stub.
The specialized stub is only implemented for ia32 architecture in this change.
For x64 and ARM the generic construct stub is used.
This is change is identical to http://codereview.chromium.org/174392 (committed in r2753 and reverted in r2754) except that a few parts have already been committed from http://codereview.chromium.org/173469 (committed in r2762).
Review URL: http://codereview.chromium.org/173470
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-26 12:22:44 +00:00
sgjesse@chromium.org
681440e273
Handle pre-allocated properties when copying map.
...
When copying a map always set the descriptor array to describe the pre-allocated properties, even when descriptors are to be dropped.
Added a test which otherwise failed with an assert on ARM in debug mode. The reason for it only surfasing on ARM is that the NewObject runtime function is always used for allocating new JSObjects on ARM.
This change includes a few parts of http://codereview.chromium.org/174392 needed to trigger the error.
Review URL: http://codereview.chromium.org/173469
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-26 11:03:07 +00:00
ager@chromium.org
11b317d94f
Only pass idle notifications on from the API if V8 has been
...
initialized.
Minor cleanups.
Review URL: http://codereview.chromium.org/173465
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-26 08:13:27 +00:00
sgjesse@chromium.org
3fdbc0848c
Reverting 2753.
...
Review URL: http://codereview.chromium.org/173349
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-25 15:00:07 +00:00
sgjesse@chromium.org
53531ed48a
Generate specialized constructor code for constructing simple objects.
...
For objects which only have simple assignments of the form this.x = ...; a specialized constructor stub is now generated. This generated code allocates the object and fills in the initial properties directly. If this fails for some reason code continues in the generic constructor stub which in turn might pass control to the runtime system.
Added counter to see how many objects are constructed using a specialized stub.
The specialized stub is only implemented for ia32 architecture in this change. For x64 and ARM the generic construct stub is used.
Review URL: http://codereview.chromium.org/174392
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-25 12:23:58 +00:00
mike@belshe.com
f736ed3ff8
Forgot to change API signature for V8 tests.
...
BUG=none
TEST=none
TBR=ager
Review URL: http://codereview.chromium.org/174386
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-25 03:18:40 +00:00
ager@chromium.org
050d1297fa
Allow test to timeout. The time to run the test is close to the
...
timeout limit so it sometimes times out.
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/173271
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-24 16:25:23 +00:00
ager@chromium.org
4cd3d7afe8
Revert change 2745 because of assertion failures in debug mode.
...
TBR=yurys@chromium.org
Review URL: http://codereview.chromium.org/173268
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-24 16:08:44 +00:00
yurys@chromium.org
b295a51e7e
Allow stepping in functions called using CallFunction stub. When Debug::PrepareStep is called to prepare 'step in' and current code target is CallFunction stub, the debugger will find function being called on the expression stack and flood it with one shot breakpoints.Related Chromium issue: http://code.google.com/p/chromium/issues/detail?id=17978
...
Review URL: http://codereview.chromium.org/159703
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-24 15:21:49 +00:00
erik.corry@gmail.com
038f9074bc
Reapply ARM root array change to reduce const pool size
...
by using r10 to point to a list of common root objects.
This time we also disable a debugger test on ARM that
has never worked, but with this change sometimes
crashes.
Review URL: http://codereview.chromium.org/174317
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-24 11:57:57 +00:00
ager@chromium.org
781898e91a
Reduce the amount of dates tested in date-parse test. The test occasionally times out on ARM hardware.
...
Review URL: http://codereview.chromium.org/174316
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-24 09:08:12 +00:00
ager@chromium.org
fdf70d37fa
Land change to bail out from post garbage collection processing if
...
another post gc processing was trigger because of weak callbacks.
Review URL: http://codereview.chromium.org/174141
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-21 08:52:24 +00:00
sgjesse@chromium.org
77204cb36f
Fix an ASSERT in the scanner.
...
The assert when performing a push back on a two byte string was wrong.
Added a small regression test.
Review URL: http://codereview.chromium.org/173116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-21 06:30:59 +00:00
ager@chromium.org
282240a54b
Fix mozilla test expectations. Generating a huge error message can
...
not time out of the 64-bit version because of the larger heap.
Review URL: http://codereview.chromium.org/173118
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-20 11:45:18 +00:00
ager@chromium.org
1f404c8c9f
Fix a test that test out of memory situations. On the 64-bit port the
...
test did not actually run out of memory which the test treats as an
error.
Review URL: http://codereview.chromium.org/174136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-20 10:32:11 +00:00
antonm@chromium.org
8b42f23dec
Do not allow GlobalHandles::Create to reuse destoryed nodes (ones from free list)
...
while performing GlobalHandles::PostGarbageCollectionProcessing as those might be already deleted (in C++ sense).
Review URL: http://codereview.chromium.org/173060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-19 20:32:51 +00:00
ager@chromium.org
0efbd40baf
Add support for forceful termination of JavaScript execution.
...
The termination is achieved by throwing an exception that is uncatchable by JavaScript exception handlers.
Review URL: http://codereview.chromium.org/174056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-19 15:14:11 +00:00
whesse@chromium.org
4e25c1cc9c
Speed up mjsunit/div-mod.js test, to avoid timeouts.
...
Review URL: http://codereview.chromium.org/171108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-19 11:34:06 +00:00
lrn@chromium.org
fdf31f7f5e
X64: Implement debugger hooks.
...
Debugger is now fully functional.
Fix difference in emitting statement positions to match ia32.
Review URL: http://codereview.chromium.org/171107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-19 10:18:30 +00:00
sgjesse@chromium.org
4e03645dc4
Analyze functions for assignment to this properties.
...
During parsing functions are analyzed for statements of the form this.x = ...;. These assignments are categorized in two types: simple and non simple. The simple ones are where the right hand side is known to be either a constant or an argument to the function. If a function only contains statements of this type the property names are collected and for the simple assignments the index of the argument or the constant value assigned are stored as well.
When the initial map for a function is created and the function consists of only this type of assignemnts the initial map is created with a descriptor array describing these properties which will be known to always exist in an object created from the function.
The information on this property assignments is not collected during pre-parsing so if compiling using pre-parse data these optimization hints are not available.
Next step will be to use the information collected for the simple assignments to generate constructor code which will create and initialize the object from this information without calling the code for the function.
Review URL: http://codereview.chromium.org/172088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-19 07:30:20 +00:00
whesse@chromium.org
f20c7be069
Fix errors in test-heap.cc and test-decls.cc. Adjust cctest.status.
...
Review URL: http://codereview.chromium.org/172089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-18 12:43:36 +00:00
feng@chromium.org
33fb11c12f
Revert commit 2701 per Erik Corry's request.
...
Original CL:
http://codereview.chromium.org/171041
Review URL: http://codereview.chromium.org/171089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-18 00:12:26 +00:00
whesse@chromium.org
349dc04a5d
Use root array to load roots in generated ARM code.
...
This cuts down on code size and reloc work.
Review URL: http://codereview.chromium.org/171041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-17 14:31:49 +00:00
christian.plesner.hansen@gmail.com
e64bf9ad6c
Added API for getting object mirrors
...
Added Debug::GetMirror call to get a mirror for a given object.
Review URL: http://codereview.chromium.org/172045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-17 14:26:48 +00:00
mikhail.naganov@gmail.com
d87f83c5f8
Fix issue 427: JS tick processor now works out-of-the-box for Chromium on Windows.
...
MSVS names '.map' file using only module's name, so both 'a.exe' and 'a.dll' will have 'a.map' file. To distinguish an originating module, we're now checking for image base which is always 00400000 for .exe files, and not 00400000 for .dlls.
Verified that windows-tick-processor can now process logs from Chromium using .map file generated for 'chrome.dll', an that it still works for V8's 'shell.exe'.
Review URL: http://codereview.chromium.org/172044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-17 13:45:03 +00:00
christian.plesner.hansen@gmail.com
11e7f2a30b
Added API call to get the stack trace for an exception
...
Added TryCatch::StackTrace that gets the stack trace for the thrown
exception.
Review URL: http://codereview.chromium.org/171042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-17 13:34:41 +00:00
christian.plesner.hansen@gmail.com
570788b115
Context-independent script compilation.
...
Added Script::New calls that create a new context-independent
(boilerplate) script which can be executed in any context, unlike the
current scripts which bind the context in which they're compiled.
Review URL: http://codereview.chromium.org/172043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-17 11:41:00 +00:00
christian.plesner.hansen@gmail.com
04a6340227
RegExp tweaks
...
Fixed bug where regexps were not callable across contexts since the
callable test used object identity on the regexp constructor. Changed
typeof RegExp from 'object' to 'function' for compatibility.
Review URL: http://codereview.chromium.org/171039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-17 10:19:00 +00:00
mikhail.naganov@gmail.com
910b5ef31a
Fix issue 420: accept truncated log files.
...
http://code.google.com/p/v8/issues/detail?id=420
Review URL: http://codereview.chromium.org/171038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-17 09:31:58 +00:00
lrn@chromium.org
4254388c14
X64: Implement RegExp natively.
...
Review URL: http://codereview.chromium.org/165443
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-14 11:24:32 +00:00
christian.plesner.hansen@gmail.com
061834200a
Fixed issue 19212
...
Fixed a bug in json parsing. Refactored compilation code a bit to
make it more obvious what's going on.
Review URL: http://codereview.chromium.org/165446
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2675 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-13 10:25:35 +00:00
whesse@chromium.org
6a8a7d580e
X64: Implement remaining constant smi optimizations. Enable mozilla tests that now pass.
...
Review URL: http://codereview.chromium.org/164317
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-11 12:49:27 +00:00
vitalyr@chromium.org
d6fcda0044
API: added function to find instance of template in prototype chain.
...
Also inlined Object::IsInstanceOf.
This new function is intended to be used to speed up DOM bindings.
Review URL: http://codereview.chromium.org/165044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-06 13:35:21 +00:00
lrn@chromium.org
30fa78f1f7
Fix bug in X64 RSet code. Optimize IA32 version.
...
Review URL: http://codereview.chromium.org/162001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-05 11:08:24 +00:00
whesse@chromium.org
2f7f0f6ea5
X64: Enable specialized stubs for length property.
...
Review URL: http://codereview.chromium.org/160582
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-04 14:18:03 +00:00
mikhail.naganov@gmail.com
5470f9b132
Add an ability to initiate GC through V8 API.
...
I'm planning to use it in DevTools heap profiler. It is a common scenario in debugging memory leaks to enforce GC, then perform an operation, then enforce GC again to check for non-collected (that is, leaked) objects. Using the existing GC extension isn't possible because it doesn't exposed in the normal operation mode of Chromium.
Review URL: http://codereview.chromium.org/159787
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-04 14:14:01 +00:00
whesse@chromium.org
ff05b349e5
X64: Set mozilla.status to reflect actual status of X64 tests.
...
Review URL: http://codereview.chromium.org/160518
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-04 10:22:36 +00:00
whesse@chromium.org
3703231636
Add safe handling of NaN to Posix platform-dependent time functions.
...
Review URL: http://codereview.chromium.org/160580
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-04 09:41:18 +00:00
whesse@chromium.org
118d5e171b
Fix debug printing of pointers, and a keyed store with smi index error, in X64
...
Review URL: http://codereview.chromium.org/160452
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-08-03 10:53:45 +00:00