sgjesse@chromium.org
800b6df2a6
Correct handling of adding a string and a smal integer
...
The fast case of looking up the string convertion of the smi did not handle the case where left/reghe operands could be in eax/edx instead of edx/eax which is the default.
Also got rid of creating an internal frame for calling string and instead patched the argument on the stack and performed a tail call.
BUG=http://code.google.com/p/v8/issues/detail?id=636
TEST=test/mjsunit/regress/regress-636.js
Review URL: http://codereview.chromium.org/720001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 09:40:35 +00:00
ricow@chromium.org
bdd125c611
Added zone-inl.h to test-heap-profiler to fix test build failure after header file refactoring in revision 4058.
...
Review URL: http://codereview.chromium.org/698002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 08:25:22 +00:00
ricow@chromium.org
b60eba5fc5
Inline Math.sqrt().
...
Also changed name of GeneratePow and the %_ call name to follow convention based on MathSin and MathCos. Moved GeneratePow down to the other methods.
Review URL: http://codereview.chromium.org/661179
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-08 13:23:54 +00:00
peter.rybin@gmail.com
a934eb1523
Quick fix for r4045
...
Review URL: http://codereview.chromium.org/668203
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-06 01:21:34 +00:00
peter.rybin@gmail.com
77d63cc29e
Basic implementation of liveedit feature
...
Review URL: http://codereview.chromium.org/652027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 22:08:58 +00:00
antonm@chromium.org
08a5332a55
Try to help the builder with the conflict.
...
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/668160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 15:23:30 +00:00
antonm@chromium.org
1bc04768a9
An attempt to fix the tests.
...
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/669162
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 15:07:53 +00:00
antonm@chromium.org
bdee05b3ce
Better diagnostic of tests.
...
Review URL: http://codereview.chromium.org/669160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 14:51:24 +00:00
sgjesse@chromium.org
df4471c8f3
Fix stack tweaking in array allocation
...
When Array(0) or new Array(0) is handled by the generated code it is handled
by the same code as Array() and new Array(). For this to work the stack is
tweaked to remove the argument of value 0. However the argc was still passed
as 1 if a call to the runtime system was made.
When the stack is tweaked argc is also changed to 0.
BUG=634
TEST=test/mjsunittest/mjsunit/regress/regress-634.js
Review URL: http://codereview.chromium.org/668155
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 13:43:53 +00:00
vitalyr@chromium.org
48cc7ed3b0
Fixed filling of char array in StringToArray.
...
Review URL: http://codereview.chromium.org/669159
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 13:33:33 +00:00
ager@chromium.org
d103ae66ba
Change allocations in test-heap to use handles. This makes the test
...
work when garbage collections are forced in random places.
Review URL: http://codereview.chromium.org/669153
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 09:51:10 +00:00
kasperl@chromium.org
5c7fd0e59b
Fix weird issue with test case where certain global function
...
names were being reused.
Review URL: http://codereview.chromium.org/669148
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 07:05:26 +00:00
antonm@chromium.org
61d2ebde63
Fix invalid fast return in splice when returned array is empty.
...
TBR=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/669101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 22:16:58 +00:00
antonm@chromium.org
56eb46e096
Fix a special case (zero length result array).
...
Review URL: http://codereview.chromium.org/669075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 21:29:33 +00:00
sgjesse@chromium.org
bc890ec279
Added tests for issue 618
...
Review URL: http://codereview.chromium.org/668055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 15:04:04 +00:00
kasperl@chromium.org
afe1cfa6de
Remove the unlocker from the JS thread in ProfMultipleThreads to
...
avoid getting a profiling sample while not holding the locker,
because we will not get a stack sample in that case.
Review URL: http://codereview.chromium.org/668063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 15:03:36 +00:00
kasperl@chromium.org
19a5126ee3
Disable two problematic tests that only test functionality
...
used on the partial_snapshots branch.
BUG=http://code.google.com/p/v8/issues/detail?id=632
Review URL: http://codereview.chromium.org/669062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 14:45:36 +00:00
kasperl@chromium.org
8c086c50dd
Try to fix issue 632 by being more careful in the locking/unlocking
...
in the test-log/ProfMultipleThreads.
Review URL: http://codereview.chromium.org/669058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 13:25:23 +00:00
kasperl@chromium.org
81c59c5c0c
Don't use strcmp to test heap object pointer equality.
...
Review URL: http://codereview.chromium.org/668060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 12:35:39 +00:00
ager@chromium.org
fe3b875577
Add IsExecutionTerminating api method.
...
IsExecutionTerminating returns true if a termination exception is
currently being propagated. C++ code should not reenter V8 when
IsExecutionTerminating returns true.
Review URL: http://codereview.chromium.org/668052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 12:13:04 +00:00
oleg@chromium.org
d49a5db0a4
Fix broken test in WebKit test suite and add the test in question to V8 tests.
...
Review URL: http://codereview.chromium.org/661466
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 14:19:04 +00:00
lrn@chromium.org
d51f2c96cb
Added implementation if Uint32::Value.
...
Review URL: http://codereview.chromium.org/661275
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 13:44:20 +00:00
kasperl@chromium.org
30a8fc3e36
Try to fix the broken build by making a single problematic
...
test non-threaded.
Review URL: http://codereview.chromium.org/661462
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 12:22:01 +00:00
vitalyr@chromium.org
9f681fa9d6
Small API improvements:
...
* Added Get and Set taking uint32_t for faster and more convenient
access to elements.
* Added less verbose casting for handles. Now instead of
v8::Local<v8::String>::Cast(args[0])
one can write
args[0].As<v8::String>().
Review URL: http://codereview.chromium.org/660243
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 18:47:03 +00:00
antonm@chromium.org
38acad676a
Faster filling newly allocated arrays with the holes from the Array construction stub.
...
Review URL: http://codereview.chromium.org/661245
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 12:42:15 +00:00
erik.corry@gmail.com
c2106c13fc
Allow snapshots built without -DANDROID to work on Android.
...
Fix bug in fast code generator on ARM (can't use ip as scratch
in RecordWrite).
Activate normal-sized compilation cache on Android.
This is a port of 3938 from the partial snapshots branch.
Review URL: http://codereview.chromium.org/652227
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 11:54:11 +00:00
fschneider@chromium.org
5183607d81
Implementation of a fixed-size bit vector.
...
This is a basic implementation bit vector containing an fixed
arbitrary number of bits.
Review URL: http://codereview.chromium.org/660321
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 10:43:46 +00:00
antonm@chromium.org
d4cb1ba3c5
Faster moving FixedArray elements around.
...
Review URL: http://codereview.chromium.org/660245
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 15:33:30 +00:00
mikhail.naganov@gmail.com
b7f0608c9a
Logging-related changes.
...
- when logging 'open-tag' / 'close-tag' events, don't depend on
FLAG_log (as it may be not enabled, e.g. in Chromium);
- PauseProfiler / ResumeProfiler were supposing that they
use 'is_logging_' var exclusively, thus preventing any
other logging that may be turned on for diagnostic purposes.
Review URL: http://codereview.chromium.org/661246
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 10:41:34 +00:00
vitalyr@chromium.org
dd7b55eb9f
Implemented one-char cache lookup in generated code.
...
This speeds up string,charAt(n) and string[n].
Review URL: http://codereview.chromium.org/660184
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 20:14:20 +00:00
antonm@chromium.org
0c77912aaf
Return length passed instead of receiver to allow chained assignments like
...
foo = a.length = 7
BUG=crbug.com/36854
Review URL: http://codereview.chromium.org/660174
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 16:12:39 +00:00
ager@chromium.org
0f907ff018
Add test of internal fields on global objects. This test currently
...
fails on the partial snapshots branch.
Review URL: http://codereview.chromium.org/660169
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 09:23:15 +00:00
vitalyr@chromium.org
e76f06a1e2
Fix miss in smi check when doing fast api call.
...
BUG=http://crbug.com/36604
Review URL: http://codereview.chromium.org/660004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-24 19:26:10 +00:00
serya@chromium.org
b1e705aa8c
Typo fixed.
...
Review URL: http://codereview.chromium.org/650047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-23 12:52:29 +00:00
yurys@chromium.org
a47746d209
Add maxStrinLength argument to debugger requests
...
Review URL: http://codereview.chromium.org/647022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-19 14:33:08 +00:00
ricow@chromium.org
27eaf97350
Added test for bug 619 - we should move this to object-define-property when the bug has been corrected.
...
Review URL: http://codereview.chromium.org/651028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-19 13:27:43 +00:00
ager@chromium.org
806c15e4b5
Remove the LookupResult IsValid method because it is confusing.
...
Replaced IsValid by IsPropertyOrTransition and used IsProperty in most
of the places where IsValid was used before. Most of the time when
inspecting a lookup result we really want to know if there is a real
property present. Only for stores are we interested in transitions.
BUG=http://crbug.com/20104
TEST=cctest/test-api/NamedInterceptorMapTransitionRead
Review URL: http://codereview.chromium.org/647015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-18 15:10:35 +00:00
sgjesse@chromium.org
17e80e76e7
Add a test case for issue 618
...
Review URL: http://codereview.chromium.org/647014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-18 13:01:58 +00:00
whesse@chromium.org
b9a250d2e6
Fix error in compound assignment to keyed load by making platform-independent full compiler code platform dependent, add test of compound assignments.
...
Review URL: http://codereview.chromium.org/646009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-18 12:59:41 +00:00
mikhail.naganov@gmail.com
b740dea517
Kill some unused code.
...
It doesn't mean I'm participating in some fixit, just spotted some
code which doesn't have usages and decided to remove it.
Review URL: http://codereview.chromium.org/646007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-18 12:47:17 +00:00
sgjesse@chromium.org
97d842fa1e
Fix issues with commit r3839
...
Fix broken condition.
Fixe some style issues.
Re-enabel part of a test which was turned off.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/647007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-18 09:41:47 +00:00
sgjesse@chromium.org
ecf4b9fc76
Refactor the check for generating inline constructors
...
Moved all the logic to a function on SharedFunctionInfo (including the flag check) to make things more readable.
Changed the check for setter to do a lookup for a named setter for each of the properties assigned in the constructor.
Added tests using accessors and interseptors set through the API.
Added fast case objects to the mjsunit test.
TEST=test/mjsunit/setter-on-constructor-prototype.js
TEST=test/cctest/test-api/SetterOnConstructorPrototype
TEST=test/cctest/test-api/InterceptorOnConstructorPrototype
Review URL: http://codereview.chromium.org/619006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-18 09:07:03 +00:00
mikhail.naganov@gmail.com
39e63f0aec
Implement tagging of profiler log event blocks.
...
This change allows to associate integer tags with blocks of profiler
log events, and repeat calls to 'ResumeProfiler' / 'PauseProfiler' in
order to establsh nested (not necessary properly nested) blocks. By
supporting this, we will be able to match WebInspector's CPU profiler
abilities in DevTools.
I also refactored some testing code.
Review URL: http://codereview.chromium.org/619004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 13:23:46 +00:00
antonm@chromium.org
a346644121
Adding checks for the cases when array grows too big.
...
Review URL: http://codereview.chromium.org/601092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 13:04:30 +00:00
antonm@chromium.org
be21c71584
Introduce Array.splice builtin.
...
Review URL: http://codereview.chromium.org/618002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 10:54:49 +00:00
antonm@chromium.org
210e02442e
Renaming test/mjsunit/array-splice.js to test/mjsunit/array-functions-prototype-misc.js.
...
The test array-splice.js following array-shift, array-slice etc would be added in
next commit.
Review URL: http://codereview.chromium.org/618005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 10:48:29 +00:00
sgjesse@chromium.org
acac629539
Mark two tests as part of the threading tests.
...
Review URL: http://codereview.chromium.org/608027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 10:12:43 +00:00
kmillikin@chromium.org
3c0d77f32e
Fix stack corruption when calling non-function.
...
Fix for issue 603.
Revision r3484 removed the property name from the call stack for
call ICs. When a non-function was called via a call IC and
Function.prototype.call, an extra value was left on the stack that the
caller could not know to clean up.
Fix is to change the JS builtin used for calling non-functions. It
now gets the callee as receiver, rather than iterating stack frames
and finding it on the expression stack of its JS caller.
Review URL: http://codereview.chromium.org/604064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 08:26:50 +00:00
antonm@chromium.org
087fedeae8
Normalize the object before updating getter/setter info.
...
BUG=612
Review URL: http://codereview.chromium.org/608014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 06:53:19 +00:00
sgjesse@chromium.org
1c2b2ac9c6
Fix construction of simple objects with setters on prototype
...
Simple objects which are constructed without calling the actual constructor function did not take setters defined on prototype chain of the new object into account.
Constructing objects this way is now not done if there are setters involved on the prototype chain of the new object.
This only fixes the case where the setter is found when the first object from a constructor is created. If the prototype chain is changed new objects will on take any change to setters into account.
TEST=test/mjsunit/setter-on-constructor-prototype.js
Review URL: http://codereview.chromium.org/606062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 06:28:33 +00:00