Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(804)

Unified Diff: src/x64/stub-cache-x64.cc

Issue 22715004: Version 3.20.15 (Closed) Base URL: https://v8.googlecode.com/svn/trunk
Patch Set: Add TypedArray API and correctness patches r16033 and r16084 Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/x64/regexp-macro-assembler-x64.cc ('k') | src/zone.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/x64/stub-cache-x64.cc
diff --git a/src/x64/stub-cache-x64.cc b/src/x64/stub-cache-x64.cc
index 7ad250a4ad86412d226dd2cec9ee961306e0184c..39ff656ec45be81f7fa5c9c633b4dbe92c227981 100644
--- a/src/x64/stub-cache-x64.cc
+++ b/src/x64/stub-cache-x64.cc
@@ -830,11 +830,11 @@ void BaseStoreStubCompiler::GenerateStoreTransition(MacroAssembler* masm,
object->map()->unused_property_fields() == 0) {
// The properties must be extended before we can store the value.
// We jump to a runtime call that extends the properties array.
- __ PopReturnAddressTo(scratch1);
+ __ pop(scratch1); // Return address.
__ push(receiver_reg);
__ Push(transition);
__ push(value_reg);
- __ PushReturnAddressFrom(scratch1);
+ __ push(scratch1);
__ TailCallExternalReference(
ExternalReference(IC_Utility(IC::kSharedStoreIC_ExtendStorage),
masm->isolate()),
@@ -1284,7 +1284,7 @@ void BaseLoadStubCompiler::GenerateLoadCallback(
Handle<ExecutableAccessorInfo> callback) {
// Insert additional parameters into the stack frame above return address.
ASSERT(!scratch4().is(reg));
- __ PopReturnAddressTo(scratch4());
+ __ pop(scratch4()); // Get return address to place it below.
__ push(receiver()); // receiver
__ push(reg); // holder
@@ -1324,7 +1324,7 @@ void BaseLoadStubCompiler::GenerateLoadCallback(
ASSERT(!name_arg.is(scratch4()));
__ movq(name_arg, rsp);
- __ PushReturnAddressFrom(scratch4());
+ __ push(scratch4()); // Restore return address.
// v8::Arguments::values_ and handler for name.
const int kStackSpace = PropertyCallbackArguments::kArgsLength + 1;
@@ -1444,10 +1444,10 @@ void BaseLoadStubCompiler::GenerateLoadInterceptor(
} else { // !compile_followup_inline
// Call the runtime system to load the interceptor.
// Check that the maps haven't changed.
- __ PopReturnAddressTo(scratch2());
+ __ pop(scratch2()); // save old return address
PushInterceptorArguments(masm(), receiver(), holder_reg,
this->name(), interceptor_holder);
- __ PushReturnAddressFrom(scratch2());
+ __ push(scratch2()); // restore old return address
ExternalReference ref = ExternalReference(
IC_Utility(IC::kLoadPropertyWithInterceptorForLoad), isolate());
@@ -2650,12 +2650,12 @@ Handle<Code> StoreStubCompiler::CompileStoreCallback(
HandlerFrontend(object, receiver(), holder, name, &success);
__ bind(&success);
- __ PopReturnAddressTo(scratch1());
+ __ pop(scratch1()); // remove the return address
__ push(receiver());
__ Push(callback); // callback info
__ Push(name);
__ push(value());
- __ PushReturnAddressFrom(scratch1());
+ __ push(scratch1()); // restore return address
// Do tail-call to the runtime system.
ExternalReference store_callback_property =
@@ -2717,12 +2717,12 @@ void StoreStubCompiler::GenerateStoreViaSetter(
Handle<Code> StoreStubCompiler::CompileStoreInterceptor(
Handle<JSObject> object,
Handle<Name> name) {
- __ PopReturnAddressTo(scratch1());
+ __ pop(scratch1()); // remove the return address
__ push(receiver());
__ push(this->name());
__ push(value());
__ Push(Smi::FromInt(strict_mode()));
- __ PushReturnAddressFrom(scratch1());
+ __ push(scratch1()); // restore return address
// Do tail-call to the runtime system.
ExternalReference store_ic_property =
@@ -2938,7 +2938,7 @@ Handle<Code> LoadStubCompiler::CompileLoadGlobal(
__ j(equal, &miss);
} else if (FLAG_debug_code) {
__ CompareRoot(rbx, Heap::kTheHoleValueRootIndex);
- __ Check(not_equal, kDontDeleteCellsCannotContainTheHole);
+ __ Check(not_equal, "DontDelete cells can't contain the hole");
}
HandlerFrontendFooter(name, &success, &miss);
« no previous file with comments | « src/x64/regexp-macro-assembler-x64.cc ('k') | src/zone.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698